MATLAB实现雅克比迭代

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

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

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

资源描述

%雅克比迭代clearall;closeall;clc;tic;formatlongedisp('请输入参数');K=input('维数K=');ticA=100*rand(K);%A元素是0-100fori=1:KA(i,i)=sum(abs(A(i,:)))+25*rand(1);%对角占优的量为0~25endb=zeros(K,1);fori=1:K;x=0;forr=1:K;x=x+A(i,r);endb(i,1)=x;end%产生b矩阵,b中的元素为A中对应行的和,目的是使方程解全为1jd=input('控制精度jd=');I=eye(K);%单位阵L=-tril(A,-1);%下三角U=-triu(A,1);%上三角D=diag(diag(A));%对角矩阵B=D\(L+U);%迭代矩阵或B=I-D\A;f=D\b;%fx0=zeros(K,1);%初始迭代矩阵y=B*x0+f;%迭代公式s=1;%迭代次数whilenorm(y-x0)=jd&&s3000;%迭代条件x0=y;y=B*x0+f;%迭代公式s=s+1;endystoct=1:K;yy=abs(y'-1)/1;plot(t,yy);title('绝对误差图')

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

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

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

×
保存成功