雅可比迭代法解线性方程组
雅可比迭代法解线性方程组:%雅可比迭代法解线性方程组;clc;clear;close;
% digits(4);
A=input('请输入系数矩阵:');
b=input('请输入b矩阵(列向量):');
X0=input('请输入迭代初值(列向量):');
k=input('请输入迭代次数:');
=size(A);
% X0=';
% f=X0;
% X=X0;
% vpa(X0);
% vpa(X);
% vpa(f);
OUT=[];
% vpa(OUT);
%M=;
%求解M矩阵;
for m=1:M1
for n=1:N1
if m==n
D(m,n)=A(m,n);
else
D(m,n)=0;
end
end
end
LU=A-D
M=-inv(D)*(LU)
f=inv(D)*b
X=X0;
%特征根求解;
=eig(M)
% vpa(M);
for i=1:k;
X=M*X+f;
OUT=;
K1(i)=i;
end
K1=';
OUT1=;
OUT1=
% vpa(OUT1);
xlswrite('C:\Users\LENOVO\Desktop\雅可比迭代法2.xls',OUT1);
结果输入与输出范例:请输入系数矩阵:
请输入b矩阵(列向量):[-4 12 8 34]'
请输入迭代初值(列向量):'
请输入迭代次数:5
结果输出:
LU =
0 -1 -1 -1
-1 0 -1 -1
-1 -1 0 -1
-1 -1 -1 0
M =
0 0.2000 0.2000 0.2000
0.1000 0 0.1000 0.1000
0.2000 0.2000 0 0.2000
0.1000 0.1000 0.1000 0
f =
-0.8000
1.2000
1.6000
3.4000
v =
-0.6082 -0.7071 -0.5406 0.0000
-0.3607 -0.0000 0.4558 -0.7071
-0.6082 0.7071 -0.5406 0.0000
-0.3607 -0.0000 0.4558 0.7071
d =
0.4372 0 0 0
0 -0.2000 0 0
0 0 -0.1372 0
0 0 0 -0.1000
迭代结果输出:
OUT1 =
0 0 0 0 0
1.0000 -0.8000 1.2000 1.6000 3.4000
2.0000 0.4400 1.6200 2.3600 3.6000
3.0000 0.7160 1.8400 2.7320 3.8420
4.0000 0.8828 1.9290 2.8796 3.9288
5.0000 0.9475 1.9691 2.9481 3.9691
页:
[1]