检查下面代码并改正n=6;也可以为810H=hilbn;b=Honesn1;e=000001;for i=1n if Hi1==0 对角元素为零不能求解; return endendx=zerosn1;k=0;kend=10000;r=1;while k=kend && re x0=x; for i=1n s=0; for j=1
修改后的代码如下:
n=6;%(也可以为8,10) H=hilb(n); b=H*ones(n,1); e=0.00001; for i=1:n if H(i,i)==0 % 对角元素为零,不能求解 disp('对角元素为零,不能求解'); return end end x=zeros(n,1); k=0; kend=10000; r=1; while k<=kend && r>e x0=x; for i=1:n s=0; for j=1:i-1 s=s+H(i,j)*x(j); end for j=i+1:n s=s+H(i,j)*x0(j); end x(i)=(b(i)-s)/H(i,i); end r=norm(x-x0,inf); k=k+1; end if k>kend disp('迭代不收敛,失败'); else disp('求解成功'); disp(x); disp(k); en
原文地址: http://www.cveoy.top/t/topic/fecG 著作权归作者所有。请勿转载和采集!