Jacobi迭代和gs迭代的程序代码.doc

Jacobi迭代和gs迭代的程序代码.doc

ID:55550541

大小:39.00 KB

页数:3页

时间:2020-05-16

Jacobi迭代和gs迭代的程序代码.doc_第1页
Jacobi迭代和gs迭代的程序代码.doc_第2页
Jacobi迭代和gs迭代的程序代码.doc_第3页
资源描述:

《Jacobi迭代和gs迭代的程序代码.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Jacobi迭代的程序代码:%Jacobi迭代法解方程组function[s,i,y]=jacobi(a,b,r)s=1;i=0;y=0;[m,n]=size(a);%矩阵a的维数ifm~=n

2、rank(a)~=n%矩阵不满秩,不可解,输出错误信息s=0;elsed=diag(a);%d为矩阵a对角线上的元素%若矩阵a的对角线元素存在0元,则将该元素所在列的任一不为0的元素所在的行加到该行z=find(d==0);%搜索0元l=size(z,1);ifl%存在0元fori=1:lj=find(abs(a(:,z(i))),1,'first');a(z(i),:)=a(z(i),:)+a(j,

3、:);%两行相加b(z(i))=b(z(i))+b(j);endendd=1./diag(a);g=eye(n)-diag(d)*a;%迭代矩阵y=zeros(n,1);%初始向量b=diag(d)*b;fori=1:10^5%进行迭代x=y;y=g*x+b;ifmax(abs(y-x))

4、rank(a)~=n%矩

5、阵不满秩,不可解,输出错误信息s=0;elsed=diag(a);%d为矩阵a对角线上的元素%若矩阵a的对角线元素存在0元,则将该元素所在列的任一不为0的元素所在的行加到该行z=find(d==0);%搜索0元l=size(z,1);ifl%存在0元fori=1:lj=find(abs(a(:,z(i))),1,'first');a(z(i),:)=a(z(i),:)+a(j,:);%两行相加b(z(i))=b(z(i))+b(j);endendd=diag(a);tl=tril(a);f=eye(n);e=[tl,f];tu=diag(d)-triu(a);forj=1:n-1e(j,:)

6、=e(j,:)/e(j,j);e(j+1:n,j:end)=e(j+1:n,j:end)-e(j+1:n,j)*e(j,j:end);%进行消去ende(n,:)=e(n,:)/e(n,n);e=e(:,n+1:2*n);g=e*tu;%迭代矩阵b=e*b;%迭代向量y=zeros(n,1);%初始向量fori=1:10^5%进行迭代x=y;y=g*x+b;ifmax(abs(y-x))

7、%输入矩阵ab=[100000]';%输入矩阵br=10^-3;%指定迭代误差%采用jacobi迭代进行计算[s,i,x]=jacobi(a,b,r);if~sdisp('Error!Jacobiiteratingmethodcannotgo!');elseifi==10^5disp('Error!ItisdivergentwhenusingJacobiiteratingmethod!');else%输出结果disp(['After',num2str(i),'timesJacobiiteration,thesolutionconvergeon:']);disp(x);end%采用Gauss-

8、Seidel迭代进行计算[s,i,x]=gaussseidel(a,b,r);if~sdisp('Error!Gauss-seideliteratingmethodcannotgo!');elseifi==10^5disp('Error!ItisdivergentwhenusingGauss-seideliteratingmethod!');else%输出结果disp(['After',num2str(i),'timesGauss-seideliteration,thesolutionconvergeon:']);disp(x);end

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。