MATLAB样例之雅克比迭代法

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

要求:下面分别使用雅克比迭代法和高斯-赛德尔迭代法求一个方程组的近似解用的线性方程组是按实验要求给的:7*x1+x2+2*x3=10x1+8*x2+2*x3=82*x1+2*x2+9*x3=6雅克比迭代法的matlab代码:(老师写的)A=[7,1,2;1,8,2;2,2,9];b=[10;8;6];if(any(diag(A))==0)error('error,pause')endeps=input('误差限eps=');N=input('迭代次数N=');D=diag(diag(A));B=inv(D)*(D-A);f=inv(D)*b;K=0;x0=zeros(size(b));while1x1=B*x0+fK=K+1;fprintf('第-次迭代的近似解为',K)disp(x1');ifnorm(x1-x0,inf)epsfprintf('满足精度要求的解为\n')disp(x1');breakendifKNfprintf('迭代超限')endx0=x1;end高斯-赛德尔迭代法matlab代码:(自己改的)A=[7,1,2;1,8,2;2,2,9];b=[10;8;6];if(all(diag(A))==0)error('error,pause')endeps=input('误差限eps=');N=input('迭代次数N=');D=diag(diag(A));B=inv(D)*(D-A);f=inv(D)*b;K=0;x0=zeros(size(b));x00=x0;while1x11=B*x0+f;x00(1,1)=x11(1,1);x12=B*x00+f;x00(2,1)=x12(2,1);x13=B*x00+f;x00(3,1)=x13(3,1);x1=x00K=K+1;fprintf('第-次迭代的近似解为',K)disp(x1');ifnorm(x1-x0,inf)epsfprintf('满足精度要求的解为\n')disp(x1');breakendifKNfprintf('迭代超限')endx0=x1;end

1 / 2
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功