![用MATLAB实现共轭梯度法求解实例_第1页](http://file1.renrendoc.com/fileroot_temp2/2020-11/11/49ccfe1f-04e8-40a0-8edd-97ec19b8028f/49ccfe1f-04e8-40a0-8edd-97ec19b8028f1.gif)
![用MATLAB实现共轭梯度法求解实例_第2页](http://file1.renrendoc.com/fileroot_temp2/2020-11/11/49ccfe1f-04e8-40a0-8edd-97ec19b8028f/49ccfe1f-04e8-40a0-8edd-97ec19b8028f2.gif)
![用MATLAB实现共轭梯度法求解实例_第3页](http://file1.renrendoc.com/fileroot_temp2/2020-11/11/49ccfe1f-04e8-40a0-8edd-97ec19b8028f/49ccfe1f-04e8-40a0-8edd-97ec19b8028f3.gif)
![用MATLAB实现共轭梯度法求解实例_第4页](http://file1.renrendoc.com/fileroot_temp2/2020-11/11/49ccfe1f-04e8-40a0-8edd-97ec19b8028f/49ccfe1f-04e8-40a0-8edd-97ec19b8028f4.gif)
![用MATLAB实现共轭梯度法求解实例_第5页](http://file1.renrendoc.com/fileroot_temp2/2020-11/11/49ccfe1f-04e8-40a0-8edd-97ec19b8028f/49ccfe1f-04e8-40a0-8edd-97ec19b8028f5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、用MATLAB实现共轭梯度法求解实例康福 11 无约束优化方法1.1 无约束优化方法的必要性一般机械优化设计问题,都是在一定的限制条件下追求某一指标为最小,它们都属于约束优化问题。但是为什么要研究无约束优化问题? (1)有些实际问题,其数学模型本身就是一个无约束优化问题。 (2)通过熟悉它的解法可以为研究约束优化问题打下良好的基础。 (3)约束优化问题的求解可以通过一系列无约束优化方法来达到。所以无约束优化问题的解法是优化设计方法的基本组成部分,也是优化方法的基础。(4)对于多维无约束问题来说,古典极值理论中令一阶导数为零,但要求二阶可微,且要判断海赛矩阵为正定才能求得极小点,这种方法有理论意
2、义,但无实用价值。和一维问题一样,若多元函数F(X)不可微,亦无法求解。但古典极值理论是无约束优化方法发展的基础。 1.2共轭梯度法目前已研究出很多种无约束优化方法,它们的主要不同点在于构造搜索方向上的差别。 (1)间接法要使用导数,如梯度法、(阻尼)牛顿法、变尺度法、共轭梯度法等。(2)直接法不使用导数信息,如坐标轮换法、鲍威尔法单纯形法等。用直接法寻找极小点时,不必求函数的导数,只要计算目标函数值。这类方法较适用于解决变量个数较少的(n 20)问题,一般情况下比间接法效率低。间接法除要计算目标函数值外,还要计算目标函数的梯度,有的还要计算其海赛矩阵。 搜索方向的构成问题乃是无约束优化方法的
3、关键。共轭梯度法是沿着共轭方向进行搜索,属于共轭方向法中的一种,该方法中每一个共轭向量都是依赖于迭代点处的负梯度而构造出来。共轭梯度法作为一种实用的迭代法,它主要有下面的优点:(1)算法中,系数矩阵的作用仅仅是用来由已知向量P产生向量W=AP,这不仅可充分利用的稀疏性,而且对某些提供矩阵较为困难而由已知向量P产生向量W=AP又十分方便的应用问题是很有益的。(2)不需要预先估计任何参数就可以计算,这一点不像SOR等;(3)每次迭代所需的计算,主要是向量之间的运算,便于并行化。共轭梯度法原理的知识较多,请详见机械优化设计第四章的第四、五节。图1为共轭梯度法的程度框图图1为共轭梯度法的程度框图2 设
4、计题目及要求2.1设计题目用共轭梯度法求二次函数 的极小点及极小值。2.2设计要求(1) 使用matlab编写程序,熟练撑握matlab编程方法。(2) 学习并撑握共轭梯度法的原理、方法及应用,并了解不同无约束优化方法的区别、优缺点及特殊要求。(3) 编写程序,计算出二次函数的极小点及极小值,并适当选取不同的初始点及迭代精度精度,分析比较结果。三计算步骤3.1计算求解解:已知初始点1,1T 迭代精度 1)第一次沿负梯度方向搜寻计算初始点处的梯度:为一维搜索最佳步长,应满足得: 2)第二次迭代 代入目标函数由 得从而有:因收敛。3.2运行与程序运行:打开matlab,确定conjugate_gr
5、ad_2d.m文件夹为当前目录。 在命令窗中输入:f=conjugate_grad_2d(1,1,0.001) 选择不同的初始点坐标0,0,0,1,1,0,和迭代精度0.01,0.0001,进行运行时,需要多次调用conjugate_grad_2d函数。程序及说明:function f=conjugate_grad_2d(x0,t)%用共轭梯度法求已知函数f(x1,x2)=x12+2*x22-4*x1-2*x1*x2的极值点%已知初始点坐标:x0%已知收敛精度:t%求得已知函数的极值:fx=x0;syms xi yi a; %定义自变量,步长为符号变量f=xi2+2*yi2-4*xi-2*xi
6、*yi; %创建符号表达式ffx=diff(f,xi); %求表达式f对xi的一阶求导fy=diff(f,yi); %求表达式f对yi的一阶求导fx=subs(fx,xi,yi,x0); %代入初始点坐标计算对xi的一阶求导实值fy=subs(fy,xi,yi,x0); %代入初始点坐标计算对yi的一阶求导实值fi=fx,fy; %初始点梯度向量count=0; %搜索次数初始为0while double(sqrt(fx2+fy2)t %搜索精度不满足已知条件 s=-fi; %第一次搜索的方向为负梯度方向 if countToo many input arguments。查阅了些书籍,上网求助,最后查明原因是自定义的M文件名称与Matlab内部函数名相似,导致无法运行。浪费了大量的时间与精力,庆幸的是,经过自己的努力,纠正错误,按时完成了作业。研究生培养过程中
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 音乐《竹笛艺术》课件
- 《晶体与非晶体》课件
- 《骨頮是怎麼疏松的》课件
- 国际商务管理复习测试卷附答案
- 考研英语单词复习试题及答案
- 劳动关系协调员复习试题有答案
- 《马说教案》课件
- 《广告管理课程》课件
- 提高工作效率的实施方案设计
- 六年级信息技术下册 第六课制作班级VCD1说课稿 华中师大版
- 堤防工程重点难点
- 大学有机化学(王小兰) 绪论
- 象数疗法好疗效
- A320系列飞行训练课程:电子飞行仪表系统概况
- 黄土地质灾害类型及其危害性评估
- 交际德语教程第二版A1Studio[21] 课后习题参考答案
- 气割、电气焊作业的应急救援预案
- 超级精美PPT模版美国经典ppt模板(通用珍藏版2)
- 施工现场应急处置方案
- 阴符咒术(基本知识--画符)
- 气动控制阀的定义分类及工作原理详解
评论
0/150
提交评论