考虑方程组 Hx=b,其中 H 为 Hilbert 矩阵
i,j=1,2,…,n
分别构造求解 Jacobi、Gauss-seidel 和 SOR 迭代,并说
明它们是否收敛,SOR 给出松弛因子的调试数据。
解答
编写迭代程序:
Gau_Seid
function [x,k,index]=Gau_Seid(A,b,ep,it_max)
% 求解线性方程组的jacobi迭代法
% A为方程组的系数矩阵
% b为方程组的右端项
% ep为精度要求,缺省值为1e-5
% it_max为最大迭代次数,缺省值为100
% x为方程组的解
% k为迭代次数
% index为指标变量,为1时,表示迭代收敛到指定要求;为0时,表示迭代失
败
if nargin<4
it_max=250000;
end
if nargin<3
ep=1e-5;
end
n=length(A);
k=0;
x=zeros(n,1);
y=zeros(n,1);
index=1;
while 1
y=x;
for i=1:n
z=b(i);
for j=1:n
if j~=i
z=z-A(i,j)*x(j);
end
end
评论1