欢迎来到天天文库
浏览记录
ID:48359488
大小:69.50 KB
页数:2页
时间:2019-11-26
《MATLAB实现高斯赛德尔迭代.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、%高斯赛德尔迭代clearall;closeall;clc;ticformatlongedisp('请输入参数');K=input('维数K=');ticA=100rand(K);%A元素是0-100fori=1:KA(i,i)=sum(abs(A(i,:)))+25rand(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=');
2、I=eye(K);%单位阵L=-tril(A,-1);%下三角U=-triu(A,1);%上三角D=diag(diag(A));%对角矩阵B=I-(D-L)A;%迭代矩阵%或B=(D-L)U;f=(D-L)b;%fx0=zeros(K,1);%初始迭代矩阵y=Bx0+f;%迭代公式s=1;%迭代次数whilenorm(y-x0)>=jd&&s<3000;%迭代条件x0=y;y=Bx0+f;%迭代公式s=s+1;%迭代次数+1endystoct=1:K;yy=abs(y'-1)/1;plot(t,yy);title('绝对误差图
3、')
此文档下载收益归作者所有