




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、学习必备欢迎下载解线性方程组的迭代法1. rs 里查森迭代法求线性方程组ax=b 的解function x,n=rs(a,b,x0,eps,m) if(nargin = 3) eps = 1.0e-6; %eps表示迭代精度 m = 10000; %m表示迭代步数的限制值elseif(nargin = 4) m = 10000; end i =eye(size(a); n=0; x=x0; tol=1; % 迭代过程while (toleps) x = (i-a)*x0+b; n = n + 1; %n为最终求出解时的迭代步数 tol = norm(x-x0); x0 = x; if(n=m)
2、 disp(warning:迭代次数太多,可能不收敛!); return; end end 2. crs 里查森参数迭代法求线性方程组ax=b 的解function x,n=crs(a,b,x0,w,eps,m) if(nargin = 4) eps = 1.0e-6; %eps表示迭代精度 m = 10000; %m表示迭代步数的限制值elseif(nargin = 5) m = 10000; end i =eye(size(a); n=0; x=x0; tol=1; % 迭代过程while (toleps) x = (i-w*a)*x0+w*b; n = n + 1; %n为最终求出解时的
3、迭代步数 tol = norm(x-x0); x0 = x; 精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 1 页,共 11 页 - - - - - - - - -精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 1 页,共 11 页 - - - - - - - - -学习必备欢迎下载 if(n=m) disp(warning:迭代次数太多,可能不收敛!); return; end end 3. grs 里查森迭代法求线性方程组ax=b 的解function x,n=grs(a,b,x0,w,eps,m)
4、if(nargin = 4) eps = 1.0e-6; %eps表示迭代精度 m = 10000; %m表示迭代步数的限制值elseif(nargin = 5) m = 10000; end i =eye(size(a); n=0; x=x0; tol=1; %前后两次迭代结果误差% 迭代过程while (toleps) x = (i-w*a)*x0+w*b; %迭代公式 n = n + 1; %n为最终求出解时的迭代步数 tol = norm(x-x0); x0 = x; if(n=m) disp(warning:迭代次数太多,可能不收敛!); return; end end 4. jac
5、obi 雅可比迭代法求线性方程组ax=b 的解function x,n=jacobi(a,b,x0,eps,varargin) if nargin=3 eps= 1.0e-6; m = 200; elseif nargin=eps x0=x; x=b*x0+f; n=n+1; if(n=m) disp(warning: 迭代次数太多,可能不收敛!); return; end end 5. gauseidel 高斯 -赛德尔迭代法求线性方程组ax=b 的解function x,n=gauseidel(a,b,x0,eps,m) if nargin=3 eps= 1.0e-6; m = 200;
6、elseif nargin = 4 m = 200; elseif nargin=eps x0=x; x=g*x0+f; n=n+1; if(n=m) disp(warning: 迭代次数太多,可能不收敛!); return; end 精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 3 页,共 11 页 - - - - - - - - -精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 3 页,共 11 页 - - - - - - - - -学习必备欢迎下载end 6. sor 超松弛迭代法求线性方程组ax=
7、b 的解function x,n=sor(a,b,x0,w,eps,m) if nargin=4 eps= 1.0e-6; m = 200; elseif nargin4 error return elseif nargin =5 m = 200; end if(w=2) error; return; end d=diag(diag(a); %求 a的对角矩阵l=-tril(a,-1); %求 a的下三角阵u=-triu(a,1); %求 a的上三角阵b=inv(d-l*w)*(1-w)*d+w*u); f=w*inv(d-l*w)*b; x=b*x0+f; n=1; %迭代次数while n
8、orm(x-x0)=eps x0=x; x =b*x0+f; n=n+1; if(n=m) disp(warning: 迭代次数太多,可能不收敛!); return; end end 7. ssor 对称逐次超松弛迭代法求线性方程组ax=b 的解function x,n=ssor(a,b,x0,w,eps,m) if nargin=4 eps= 1.0e-6; m = 200; elseif nargin4 error return 精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 4 页,共 11 页 - - - - - - - - -精品学习资料
9、可选择p d f - - - - - - - - - - - - - - 第 4 页,共 11 页 - - - - - - - - -学习必备欢迎下载elseif nargin =5 m = 200; end if(w=2) error; return; end d=diag(diag(a); %求 a的对角矩阵l=-tril(a,-1); %求 a的下三角阵u=-triu(a,1); %求 a的上三角阵b1=inv(d-l*w)*(1-w)*d+w*u); b2=inv(d-u*w)*(1-w)*d+w*l); f1=w*inv(d-l*w)*b; f2=w*inv(d-u*w)*b; x1
10、2=b1*x0+f1; x =b2*x12+f2; n=1; %迭代次数while norm(x-x0)=eps x0=x; x12=b1*x0+f1; x =b2*x12+f2; n=n+1; if(n=m) disp(warning: 迭代次数太多,可能不收敛!); return; end end 8. jor 雅可比超松弛迭代法求线性方程组ax=b 的解function x,n=jor(a,b,x0,w,eps,m) if nargin=4 eps= 1.0e-6; m = 10000; elseif nargin =5 m = 10000; end if(w=2) %收敛条件要求 er
11、ror; return; end d=diag(diag(a); %求 a的对角矩阵精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 5 页,共 11 页 - - - - - - - - -精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 5 页,共 11 页 - - - - - - - - -学习必备欢迎下载b=w*inv(d); % 迭代过程x=x0; n=0; %迭代次数tol=1; % 迭代过程while tol=eps x=x0-b*(a*x0-b); n = n+1; tol = norm(x-x0
12、); x0 = x; if(n=m) disp(warning: 迭代次数太多,可能不收敛!); return; end end 9. twostep 两步迭代法求线性方程组ax=b 的解function x,n=twostep(a,b,x0,eps,varargin) if nargin=3 eps= 1.0e-6; m = 200; elseif nargin=eps x0 =x; x12=b1*x0+f1; 精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 6 页,共 11 页 - - - - - - - - -精品学习资料 可选择p d f -
13、 - - - - - - - - - - - - - 第 6 页,共 11 页 - - - - - - - - -学习必备欢迎下载 x =b2*x12+f2; n=n+1; if(n=m) disp(warning: 迭代次数太多,可能不收敛!); return; end end 10. fastdown 最速下降法求线性方程组ax=b 的解function x,n= fastdown(a,b,x0,eps) if(nargin = 3) eps = 1.0e-6; end x=x0; n=0; tol=1; while(toleps) %以下过程可参考算法流程 r = b-a*x0; d =
14、 dot(r,r)/dot(a*r,r); x = x0+d*r; tol = norm(x-x0); x0 = x; n = n + 1; end 11. conjgrad 共轭梯度法求线性方程组ax=b 的解function x,n= conjgrad (a,b,x0) r1 = b-a*x0; p = r1; n = 0; for i=1:rank(a) %以下过程可参考算法流程 if(dot(p,a*p) 1.0e-50) %循环结束条件 break; end alpha = dot(r1,r1)/dot(p,a*p); x = x0+ alpha*p; r2 = r1- alpha*
15、a*p; if(r2 =eps alpha = dot(r1,z1)/dot(p,a*p); x = x0 + alpha*p; r2 = r1 - alpha*a*p; z2 = im*r2; belta = dot(r2,z2)/dot(r1,z1); p = z2+belta*p; n = n + 1; tol = norm(x-x0); x0 = x; %更新迭代值 r1 = r2; z1 = z2; end 13. bj 块雅克比迭代法求线性方程组ax=b 的解function x,n= bj(a,b,x0,d,eps,m) if nargin=4 eps= 1.0e-6; m =
16、10000; elseif nargin=eps x = invdb*(db-a)*x0+invdb*b; %由于 lb+db=db-a n = n+1; %迭代步数 tol = norm(x-x0); %前后两步迭代结果的误差 x0 = x; if(n=m) disp(warning: 迭代次数太多,可能不收敛!); return; end end 14. bgs 块高斯 -赛德尔迭代法求线性方程组ax=b 的解function x,n= bgs(a,b,x0,d,eps,m) if nargin=4 eps= 1.0e-6; m = 10000; elseif nargin=eps invdl = inv(db-lb); x = invdl*ub*x0+invdl*b; %块迭代公式 n = n+1; tol = norm(x-x0); x0 = x; if(n=m) disp(warning: 迭代次数太多,可能不收敛!); return; end end 15. bsor 块逐次超松弛迭代法求线性方程组ax=b 的解function x,n= bsor(a,b,x0,d,w,eps,m) if nargin=5 eps= 1.0e-6; m = 10000; elseif nargin=eps invdl = inv(db-w*lb); x = invdl*(iw*d
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 买商铺投资合同样本
- 出租仓库商铺合同标准文本
- 出口机械加工合同范例
- 农机借用合同样本
- 健身培训协议合同范例
- 净化设备采购合同样本
- 关于车祸赔偿合同标准文本
- 京东转让合同标准文本
- 供货商合同样本
- 农副产购销合同样本
- 冷库项目工程施工组织设计方案
- 《Python程序设计》全套教学课件
- 2025年空压机行业发展战略研究及投资潜力预测评估报告
- 2025年河北省石家庄市一中、唐山一中等“五个一”名校高三全真模拟(最后一卷)生物试题试卷含解析
- 院科两级人员紧急替代程序与替代方案
- 《金属加工基础(第二版)》中职全套教学课件
- 2025年湖北省初中学业水平考试数学模拟卷(二)(原卷版+解析版)
- 2025年华能新能源股份有限公司广东分公司应届高校毕业生招聘笔试参考题库附带答案详解
- 2025年新疆克州中考英语一模试卷
- 2024年新疆伊犁州直检察机关招聘聘用制书记员笔试真题
- 2025年国有企业内部审计工作计划
评论
0/150
提交评论