版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、解:根据题目要求,编写相应算法的matlab程序,求解结果如下(求解精度为0.00001,最大迭代次数10000)图1 三种方法解对比图1、 方程的解:如下图所示其中红色线是Gauss_Sedel迭代法所求解的分布,黄色线共轭梯度法所求解的分布,蓝色线是最速下降法所求解的分布。图2 最速下降算法收敛特性图3 Gauss_Sedel算法收敛特性图3 共轭梯度算法收敛特性(1)从图中可以看到,在相同的最大迭代次数和预设求解精度的条件下,共轭梯度算法仅需要5次迭代就能求出方程组的解,耗时0.001068秒,求解精度为0.000001375108745;最速下降法需要迭代2588次才能达到相应精度范围
2、,耗时0.005251秒,求解精度为0.000009988923;Gauss_Sedel算法需要迭代968次达到相应的精度范围,耗时0.001302秒,求解精度为0.0000099928165。其中共轭梯度算法求解速度最快,迭代次数最少且精度最高,Gauss_Sedel算法迭代次数远小于最速下降算法,但其求解精度稍小于最速下降法。(2)为了进一步探究三种算法的特性,取精度为0.0001,再次比较三种算法的特性。最速下降算法、Gauss_Sedel算法和共轭梯度算法分别耗时0.007475秒、0.00195秒、0.001480秒;迭代次数分别为398次、465次、4次;精度分别为0.000099
3、3773356、0.0000997415800、0.000039764696674。此时仍旧是共轭梯度算法最优,但是此时最速下降算法却优于Gauss_Sedel算法但差距不大。(3)接下来取精度为0001,比较三种算法特性。最速下降算法、Gauss_Sedel算法和共轭梯度算法分别耗时0.001618秒、0.001473秒、0.000824秒;迭代次数分别为96次、86次、4次;精度分别为0.000994311565196、0.000965569337096、0.000039764696674。此时仍旧是共轭梯度算法大幅度优于另外两种算法,但此时Gauss_Sedel算法稍优于最速下降算法,差
4、距不大。在求解精度为0.00001,最大迭代次数10000条件下,三种算法具体的解为:最速下降算法:X= 0.950662082138357 0.974295876768521 1.005656270680240 1.028751762773389 1.0423586100285361.008567958184437 0.992604203400630 0.975658907325424 Gauss_Sedel算法:X= 0.983350937419313 1.200001063891104 0.729923465833249 0.836779561471914 0.9826337758233
5、47 1.080047756658904 共轭梯度算法:X= 0.983350937419313 1.027078401878105 0.977623373400489 1.020473865018369 1.009203108635403 0.999772406052047 0.988443827495926 0.976094192494137 0.962844741652360 附录:matlab程序:主程序:clc;clear;A=hilb(16);%生成希尔伯特系数矩阵b=2877/851;3491/1431;816/409;2035/1187; 2155/1423;538/395;1
6、587/1279;573/502; 947/895;1669/1691;1589/1717;414/475; 337/409;905/1158;1272/1711;173/244;%右端向量M=10000;err=0.001;x1,n1,xx1,jingdu1=ZSXJ(A,b,err,M);%最速下降法求解tic;x2,n2,xx2,cc2,jingdu2=gauss_seidel(A,b,err,M);%gauss_seidel求解toc;tic;x3,n3,xx3,jingdu3=con_grad(A,b,err,M);%共轭梯度法求解toc;tic;x4,n4,xx4,jingdu4=
7、bicg(A,b,err);%matlab内置双共轭梯度求解toc;%计算相应结果,用于作图num=1:16'jie=num,x1,x2,x3%三者方法解对比%三者迭代次数num1=1:n1'fit1=num1,jingdu1'num2=1:n2'fit2=num2,jingdu2'num3=1:n3'fit3=num3,jingdu3'子程序:最速下降算法:function x,n,xx,jingdu=ZSXJ(A,b,eps,M);%×îËÙϽµ
8、83;¨Çó½âx0=zeros(length(b),1);r0=b-A*x0;t0=r0'*r0/(r0'*A*r0);x=x0+r0*t0;r=b-A*x;xx(:,1)=x;k=0;while norm(r)>eps r=r; x=x; t=r'*r/(r'*A*r); x=x+r*t; r=b-A*x; k=k+1; xx(:,k+1)=x; if k>=M disp('µü´ú´ÎÊýÌ
9、1;¶à¿ÉÄܲ»ÊÕÁ²'); break; end n=k; jingdu(k)=norm(r);endendGauss_Sedel算法:functionx,n,xx,cc,jingdu=gauss_seidel(A,b,err,M)for ii=1:length(b) if A(ii,ii)=0 x='error' break; endendD=diag(diag(A);L=-tril(A,-1);U=-triu(A,1);B=(D-L)U;c
10、c=vrho(B);%µü´ú¾ØÕóÆÕ°ë¾¶FG=(D-L)b;x0=zeros(length(b),1);x=B*x0+FG;k=0;xx(:,1)=x;while norm(A*x-b)>err x0=x; x=B*x0+FG; k=k+1; xx(:,k+1)=x; if k>=M disp('µü´ú´ÎÊýÌ«¶
11、à¿ÉÄܲ»ÊÕÁ²'); break; end n=k; jingdu(k)=norm(A*x-b);endend共轭梯度算法:function x,n,xx,jingdu=con_grad(A,b,eps,M);%¹²éîÌݶȷ¨Çó½âx0=zeros(length(b),1);r0=b-A*x0;p0=r0;t0=r0'*r0/(r0'*A*r0);x=x0+r0*t0;r=b-A*x;xx(:,1)=x;k=0;x=x0;r=r0;p=p0;while norm(r)>eps r=r; x=x; p=p; afa=r'*r/(p'*A*p); x1=x+afa*p; r1=r-afa*A*p; beta=r1'*r1/(r'*r); p1=r1+beta*p; x=x1; p=p1; r=r1; k=k+1; xx(:,k)=x; if k>=M disp
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高等学校物理学科试题及答案全解
- 乐高早年测验试题及答案解析
- 2025-2026学年忻州市岢岚县数学三年级下学期期中联考试题(含答案)
- 初中人教生物典型试题及答案呈现
- 成语练习题及精准解析答案
- 以考促学题目与答案
- 统计概率常见大题及标准答案解析
- 工业仓储考卷题目与答案详情
- 关于痔疮的多项选择题及答案解析
- 2026年起重指挥作业人员考试练习题【含答案】
- 2026年泌尿外科出科试卷及答案
- 2026小学数学北师大版新教材培训:四至六年级教材解析
- AI原生数据平台研究报告(2026年)(2026.6)
- 2026年成都玉林紫荆初一入学数学分班考试真题含答案
- 工程预应力张拉与灌浆质量控制措施
- 一氧化二氮的理化性质与危险特性培训
- 2026年江苏省安全员C2证(土建安全员)考试题库及答案
- DB11-T 1610-2026 民用建筑信息模型深化设计建模细度标准
- 2026年巨量本地推初级题库
- 保安员监控岗工作制度
- (正式版)DB36∕T 1297-2020 《城市消防物联网大数据应用平台物联设施设备接口规范》
评论
0/150
提交评论