哪位大侠,帮忙做道题?MATLAB编程:用高斯—赛德尔迭代法求解方程组。

来源:百度知道 编辑:UC知道 时间:2024/05/27 01:48:29
{10A+3B+C=14;
2A - 10B+3C= - 5;
A+3B+10C=14}
编制程序,调试,
并比较计算结果。

谢谢谢!
看我自己努力努力地做出来的:
n=4;
E=[10 3 1;2 -10 3;1 3 10];%系数矩阵
b=[14 -5 14]';
D=diag(diag(E));
L=-1*tril(E,-1);
U=-1*triu(E,1);
f2=inv(D-L)*b;
B2=inv(D-L)*U;
k=0,x0=[0 0 0]'
for k=1:n
k,x=B2*x0+f2
x0=x;
end

很麻烦,是吧!不过是我自己做的,答案也全对。所以,炫耀一下~~

clear;clc;
A=0;B=0;C=0;
for k=1:10
Temp(:,k)=[A,B,C];
A=(14-3*B-C)/10;
B=(5+2*A+3*C)/10;
C=(14-A-3*B)/10;
end
ABC=Temp'

结果:
ABC=

0 0 0
1.4000 0.7800 1.0260
1.0634 1.0205 0.9875
0.9951 0.9953 1.0019
1.0012 1.0008 0.9996
0.9998 0.9998 1.0001
1.0000 1.0000 1.0000
1.0000 1.0000 1.0000
1.0000 1.0000 1.0000
1.0000 1.0000 1.0000

这是高斯—赛德尔迭代法的核心思想,程序不具通用性。

太深奥了