jacobi G-S,超松弛迭代法MATLAB程序.doc

jacobi G-S,超松弛迭代法MATLAB程序.doc

ID:55261357

大小:16.50 KB

页数:2页

时间:2020-05-08

jacobi G-S,超松弛迭代法MATLAB程序.doc_第1页
jacobi G-S,超松弛迭代法MATLAB程序.doc_第2页
资源描述:

《jacobi G-S,超松弛迭代法MATLAB程序.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、functioniterationA=[10,1,2,3,4;1,9,-1,2,-3;2,-1,7,3,-5;3,2,3,12,-1;4,-3,-5,-1,15];b=[12,-27,14,-17,12]';x0=[0,0,0,0,0]';tol=1e-12;disp('jacobi迭代法的结果和次数如下:')[x,k]=Fjacobi(A,b,x0,tol)disp('G-S迭代法的结果和次数如下:':')[x,k]=Fgseid(A,b,x0,tol)disp('超松弛的结果和次数如下:':')[

2、x,k]=Fsor(A,b,x0,1.2,tol)disp('共轭梯度法的结果和次数如下:':')[x,k]=Fcg(A,b,x0,tol)%jacobi迭代法function[x,k]=Fjacobi(A,b,x0,tol)max=300;D=diag(diag(A));L=-tril(A,-1);U=-triu(A,1);B=D(L+U);f=Db;x=B*x0+f;k=1;whilenorm(x-x0)>=tolx0=x;x=B*x0+f;k=k+1;if(k>=max)disp('µü´ú

3、³¬¹ý300´Î£¬·½³Ì×é¿ÉÄܲ»ÊÕÁ²');return;endend%G-S迭代法function[x,k]=Fgseid(A,b,x0,tol)max=300;D=diag(diag(A));L=-tril(A,-1);U=-triu(A,1);G=(D-L)U;f=(D-L)b;x=G*x0+f;k=1;whilenorm(x-x0)>=tolx0=x;x=G*x0+f;k=k+1;if(k>=max)disp('µü´ú³¬¹ý300´Î£¬·½³Ì×é¿ÉÄܲ»ÊÕÁ²

4、');return;endend%超松弛迭代法function[x,k]=Fsor(A,b,x0,w,tol)max=300;if(w<=0

5、

6、w>=2)error;return;endD=diag(diag(A));L=-tril(A,-1);U=-triu(A,1);B=inv(D-L*w)*((1-w)*D+w*U);f=w*inv((D-L*w))*b;x=B*x0+f;k=1;whilenorm(x-x0)>=tolx0=x;x=B*x0+f;k=k+1;if(k>=max)disp('µü

7、´ú³¬¹ý300´Î£¬·½³Ì×é¿ÉÄܲ»ÊÕÁ²');return;endend%共轭梯度法function[x,k]=Fcg(A,b,x0,tol)n=size(A,1);x=x0;r=b-A*x;d=r;alpha=(r'*r)/(d'*A*d);x=x0+alpha*d;k=1;whilenorm(x-x0)>=tolx0=x;x=x+alpha*d;r2=b-A*x;k=k+1;beta=norm(r2)^2/norm(r)^2;d=r2+beta*d;r=r2;end

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

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

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