作业帮 > 数学 > 作业

jacobi迭代 matlab

来源:学生作业帮 编辑:作业帮 分类:数学作业 时间:2024/05/14 01:36:46
jacobi迭代 matlab
系数矩阵A=D-L-U,D=[2 0 0;0 3 0;0 0 2;]
L=[0 0 0; 1 0 0; 0 1 0] U=[0 1 0; 0 0 1; 0 0 0],b=[1;8;-5]已经输入
”x的初值x^(0)=[0;0;0]
迭代过程x^(k+1)=inv(D)*(L+U)*x^(k) + inv(D)*b“
这一过程如何在matlab中输入实现?要求出符合x^(K+1)-x^(K)《0.00005的迭代次数K和解X
D=[2 0 0;0 3 0;0 0 2;];
L=[0 0 0; 1 0 0; 0 1 0] ;
U=[0 1 0; 0 0 1; 0 0 0];
b=[1;8;-5];
x0=[0;0;0];
B=D\(L+U);
f=D\b;
y=B*x0+f;
n=1; %迭代次数
while norm(y-x0)>=0.00005
x0=y;
y=B*x0+f;
n=n+1;
end
>> n
n =
22
>> y
y =
2.0000
3.0000
-1.0000