用SOR迭代法解法方程① SOR.m文件为 function [x,n]=SOR(a,b,E,p) temp1=size(a);temp2=size(b); if temp1(1)~=temp1(2)|temp1(1)~=temp2(1)|temp2(2)~=1|det(a)==0 error('矩阵或向量的大小不对应或矩阵为奇异矩阵') return; end %%化为三角矩阵过程 leng=temp1(1);N=-tril(a,-1)-triu(a,1);M=a+N;N=-a; t=1;
数值计算基础的实验之一 数值积分 变步长梯形法求积分的C语言实验 复化梯形法或者叫复合梯形法 代码摘要 double Multy(double a, double b) { double h = b - a, T[2]; T[0] = h * (f(b) + f(a)) / 2.0; // 求第一个Tn,用T[0]存储 int m = 1, n = 1; // m为迭代次数, n为子区间个数 do { T[1] = 0.0; for (int i=0; i<n; i++) // 求Hn,
高斯迭代法解矩阵方程 function [a,b] = gaussj(a,n,np,b,m,mp) for j=1:n ipiv(j)=0; end for i=1:n big=0; for j=1:n if(ipiv(j)~=1) for k=1:n if (ipiv(k)==0) if (abs(a(j,k))>=big) big=abs(a(j,k)); irow=j; icol=k; end elseif (ipiv(k)>1) pause, dips('gaussj')
D. M. Young于20世纪70年代提出逐次超松弛(Successive Over Relaxation)迭代法,简称SOR方法,是一种经典的迭代算法。它是为了解决大规模系统的线性等式提出来的,在GS法基础上为提高收敛速度,采用加权平均而得到的新算法。由于超松弛迭代法公式简单,编制程序容易,很多工程学、计算数学中都会应用超松弛迭代方法。使用超松弛迭代法的关键在于选取合适的松弛因子,如果松弛因子选取合适,则会大大缩短计算时间。