Matlab线性方程组的迭代解法Gauss-Seidel迭代法.doc
《Matlab线性方程组的迭代解法Gauss-Seidel迭代法.doc》由会员分享,可在线阅读,更多相关《Matlab线性方程组的迭代解法Gauss-Seidel迭代法.doc(1页珍藏版)》请在冰豆网上搜索。
![Matlab线性方程组的迭代解法Gauss-Seidel迭代法.doc](https://file1.bdocx.com/fileroot1/2022-10/22/797ba44c-1c20-4cb7-9ba0-8576a6b15b4c/797ba44c-1c20-4cb7-9ba0-8576a6b15b4c1.gif)
Matlab线性方程组的迭代解法Gauss-Seidel迭代法实验报告
1.熟悉Gauss-Seidel迭代法,并编写Matlab程序
function[y,n]=gauss_seidel(A,b,x0,eps)
%gaussseideliterativemethodtosolveAx=b
ifnargin==3
eps=1e-6;
elseifnargin<3
error;
return
end
D=diag(diag(A));
L=-tril(A,-1);
U=-triu(A,1);
G=(D-L)\L;
f=(D-L)\b;
y=G*x0+f;
n=1;
whilenorm(y-x0)>=eps
x0=y;
y=G*x0+f;
n=n+1;
end
2.
用Gauss-Seidel迭代法求解线性方程组。
输入:
>>A=[430;33-1;0-14];
>>b=[24;30;-24];
>>x0=[0;0;0];
>>[y,n]=gauss_seidel(A,b,x0)
输出:
y=
6
-2
-7
n=
4