计算方法实验5
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验任务
1、用雅可比迭代法解方程组
⎪⎩⎪⎨⎧=++=++=-+5222722321
321321x x x x x x x x x .
注意:若用高斯-塞德尔迭代法则发散。
function X=jacdd(A,b,X0,P,wucha,max1)
[n m]=size(A);
for j=1:m
a(j)=sum(abs(A(:,j)))-2*(abs(A(j,j)));
end
for i=1:n
if a(i)>=0
disp('请注意:系数矩阵A 不是严格对角占优的,此雅可比迭代不一定收敛') return
end
end
if a(i)<0
disp('请注意:系数矩阵A 是严格对角占优的,此方程组有唯一解,且雅可比迭代收敛 ') end
for k=1:max1
k
for j=1:m
X(j)=(b(j)-A(j,[1:j-1,j+1:m])*X0([1:j-1,j+1:m]))/A(j,j);
end
X
djwcX=norm(X'-X0,P); xdwcX=djwcX/(norm(X',P)+eps); X0=X';X1=A\b; if (djwcX disp('请注意:雅可比迭代收敛,此方程组的精确解jX 和近似解X 如下:') return end end if (djwcX>wucha)&(xdwcX>wucha) disp('请注意:雅可比迭代次数已经超过最大迭代次数max1 ') end a,X=X;jX=X1'; 输入: A=[1 2 -2;1 1 1;2 2 1]; b=[7 2 5]’ x=gsdddy(A,b,[0;0;0],inf,0.01,20) 运行结果: 2.用高斯-塞德尔迭代法解方程组⎪⎩ ⎪⎨⎧=++=++=++7.19.09.00.29.09.09.19.09.0321321321x x x x x x x x x