数学实验“线性方程组的最速下降法与共轭梯度法解法”实验报告(内含matlab程序代码)(共7页).doc
-
资源ID:13908560
资源大小:146.50KB
全文页数:7页
- 资源格式: DOC
下载积分:20金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
数学实验“线性方程组的最速下降法与共轭梯度法解法”实验报告(内含matlab程序代码)(共7页).doc
精选优质文档-倾情为你奉上西京学院数学软件实验任务书课程名称数学软件实验班级数0901学号姓名李亚强实验课题线性方程组的最速下降法与共轭梯度法实验目的熟悉线性方程组的最速下降法与共轭梯度法实验要求运用Matlab/C/C+/Java/Maple/Mathematica等其中一种语言完成实验内容线性方程组的最速下降法线性方程组的共轭梯度法成绩教师实验五实验报告一、 实验名称:最速下降法与共轭梯度法解线性方程组。二、 实验目的:进一步熟悉理解掌握最速下降法与共轭梯度法解法思路,提高matlab编程能力。三、 实验要求:已知线性方程矩阵,应用最速下降与共轭梯度法在相关软件编程求解线性方程组的解。四、 实验原理:1 最速下降法:从某个初始点 出发,沿在点处的负梯度方向 求得的极小值点, 即 然后从出发,重复上面的过程得到。如此下去,得到序列 可以证明,从任一初始点 出发, 用最速下降法所得到的序列均收敛于问题使最小化的解,也就是方程组的解。其收敛速度取决于,其中 ,分别为A的最小,最大特征值。最速下降法迭代格式:给定初值,按如下方法决定: 2 共轭梯度法其基本步骤是在点 处选取搜索方向, 使其与前一次的搜索方向 关于共轭,即 然后从点 出发,沿方向求得的极小值点 , 即如此下去, 得到序列。不难求得的解为 注意到的选取不唯一,我们可取 由共轭的定义可得:共轭梯度法的计算过程如下:第一步:取初始向量, 计算 第步:计算五、 实验内容:%最速下降法function x,k=fastest(A,b,eps);x0=zeros(size(b),1);x=x0;k=0;m=1000;tol=1;while tol>=eps r=b-A*x0; q=dot(r,r)/dot(A*r,r); x=x0+q*r; k=k+1; tol=norm(x-x0); x0=x; if k>=m disp('迭代次数太多,可能不收敛!'); return; endendxk%共轭梯度法function k,x=gong_e(A,b)esp=input('请输入允许误差esp=');x0=input('请输入初始值x0=');k = 0 ;r0 = b-A*x0; %求出dangqian梯度while norm(r0)>esp r0 = b -A*x0; k = k + 1 ; if k=1 p0 = r0 ; else lamda=(r0'*r0)/(p0'*A*p0); r1 = r0 - lamda*A*p0 ; p0=r0+(r0'*r0)/(r1'*r1)*p0; x1 = x0 + lamda*p0; x0=x1; r0=r1; endendx=r0;k;end六、 实验结果:A=5 2 0;6 4 1;1 2 5;b=10 18 -14'eps=1.0e-6;x = -0.8750 7.1875 -5.5000k = 60专心-专注-专业