MATLAB共轭梯度发

MATLAB共轭梯度发

ID:37848057

大小:68.50 KB

页数:8页

时间:2019-06-01

MATLAB共轭梯度发_第1页
MATLAB共轭梯度发_第2页
MATLAB共轭梯度发_第3页
MATLAB共轭梯度发_第4页
MATLAB共轭梯度发_第5页
资源描述:

《MATLAB共轭梯度发》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、最优化方法学院:专业班级:学生姓名:学号:共轭梯度法一.实验目的:(1).熟悉使用共轭梯度法求解无约束非线性规划问题的原理;(2).在掌握原理的基础上熟练运用此方法解决问题;(3).学会利用计算机语言编写程序来辅助解决数学问题;(4).解决问题的同时分析问题,力求达到理论与实践的相统一;(5).编写规范的实验报告.二.实验原理:<算法原理>:共轭梯度法为求解线性方程组而提出。后来,人们把这种方法用于求解无约束最优化问题,使之成为一种重要的最优化方法。共轭梯度法的基本思想是把共轭性与最速下降方法相结合,利用已知点处的梯度构造一组共轭方向,并沿这组方向进行搜索,

2、求出目标函数的极小点。根据共轭方向的基本性质,这种方法具有二次终止性。在各种优化算法中,共轭梯度法是非常重要的一种。其优点是所需存储量小,具有步收敛性,稳定性高,而且不需要任何外来参数。共轭方向无约束最优化方法的核心问题是选择搜索方向.在本次实验中,我们运用基于共轭方向的一种算法—共轭梯度法三.算法流程图:给定初始点(0,0,0),k=1,最大迭代次数n确定搜索方向进退法确定搜索区间分割法确定最优步长四.实验结果:(1).实验函数f=(3*x1-cos(x2*x3)-1/2)^2+(x1^2-81*(x2+0.1)+sin(x3)+1.06)^2+(exp(

3、-x1*x2)+20*x3+1/3*(10*3.14159-3))^2;(2).源程序:symsx1x2x3r;f=(3*x1-cos(x2*x3)-1/2)^2+(x1^2-81*(x2+0.1)+sin(x3)+1.06)^2+(exp(-x1*x2)+20*x3+1/3*(10*3.14159-3))^2;x=[x1,x2,x3];df=jacobian(f,x);df=df.';error=0.000001;x0=[0,0,0]';g1=subs(df,x,x0);k=0;while(norm(g1)>error)ifk==0d=-g1;elsebt

4、a=g1'*g1/(g0'*g0);d=-g1+bta*d0;endy=subs(f,x,x0+r*d);result=jintuifa(y,r);result2=gold(y,r,result);step=result2;x0=x0+step*d;g0=g1;g1=subs(df,x,x0);d0=d;k=k+1;end;kx0min=subs(f,[x1x2x3],x0)(3).实验结果k= 26 x0= 0.4996 -0.0900 -0.5259 min= 1.1496e-018(4).结果分析:由FR法得到的最优解为(0.4996,-0.0900,

5、-0.5259),迭代的次数为32,由于精度的降低(=),实际证明对结果也有一定的影响。在本次实验中取得的最优值为1.1496e-018,而前面牛顿法迭代6次算出的最优值为8.0119e-031,效果要好了很多。所以说,收敛速度相对比较慢,应该是它的一个缺点。五.实验心得:在本次试验中,主要用到的是负梯度方向的求解,还有最优步长的求解(导数求解),以及MATLAB中功能的强大,但是同时自己的操作有不是令自己很满意,在过程中屡次找不到错误所在,最后才发现都是一些细节问题,让我懂得以后在学习中要更加严谨和认真。我觉得语言这东西,平时就得多敲敲代码,多练练,自己差

6、错进行修改,会有一定的提高的!最优化之牛顿法一.实验目的(1).熟悉使用牛顿法求解无约束非线性规划问题的原理;(2).在掌握原理思想的基础上熟练运用此方法解决问题;(3).学会利用计算机语言MATLAB编写程序来辅助解决数学问题;(4).解决问题的同时分析问题,力求达到理论与实践的相统一;(5).完成编写规范的实验报告.二.实验原理算法思想牛顿法是通过x(k)和在这一点的目标函数的梯度和HESSE矩阵的逆来得到后续点x(k+1),在适当的条件下,这个序列x(k)将收敛。同样,在实验中我们取初始点(0,0,0),当,停止寻优,其中=。牛顿法是求解非线性方程的常

7、用数值算法,不仅有几何直观性,而且还有二阶收敛性。三.算法流程图给定初始点(0,0,0),k=1,最大迭代次数n通过x(k)续点x(k+1)停止寻优=一.实验结果(1).实验函数f=(3*x1-cos(x2*x3)-1/2)^2+(x1^2-81*(x2+0.1)+sin(x3)+1.06)^2+(exp(-x1*x2)+20*x3+1/3*(10*3.14159-3))^2;(2).源程序symsx1x2x3;f=(3*x1-cos(x2*x3)-1/2)^2+(x1^2-81*(x2+0.1)+sin(x3)+1.06)^2+(exp(-x1*x2)+2

8、0*x3+1/3*(10*3.14159-3))^2

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

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

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