您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 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('绝对误差图')
本文标题:MATLAB实现雅克比迭代
链接地址:https://www.777doc.com/doc-5872709 .html