- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
利用MATLAB求解机械设计优化问题的分析 周婷婷 能源与动力学院,油气0701
摘要: MATLAB是目前国际上最流行的科学与工程计算的软件工具, 它具有强大的数值分析、矩阵运算、信号处理、图形显示、模拟仿真和最优化设计等功能。本文浅谈MATLAB在机械设计优化问题的几点应用。
关键词: MATLAB 约束条件 机械设计优化 引言:在线性规划和非线性规划等领域经常遇到求函数极值等最优化问题,当函数或约束条件复杂到一定程度时就无法求解,而只能求助于极值分析算法,如果借助计算器进行手工计算的话,计算量会很大,如果要求遇到求解极值问题的每个人都去用BASIC,C和FORTRAN之类的高级语言编写一套程序的话,那是非一朝一日可以解决的,但如用MATLAB语言实现极值问题的数值解算,就可以避免计算量过大和编程难的两大难题,可以轻松高效地得到极值问题的数值解,而且可以达到足够的精度。
1无约束条件的极值问题的解算方法
设有Rosenbrock函数如下:
f X1,X2 100 X2-X1*X1 2+ 1-X1 2
求向量X取何值时,F x 的值最小及最小值是多少?
先用MATLAB语言的编辑器编写求解该问题的程序如下:
%把函数写成MATLAB语言表达式
fun ’100* X 2 -X 1 *X 1 2+ 1-X 1 2
%猜自变量的初值
X0 [-1 2]; %所有选项取默认值
options [ ];
%调用最优化函数进行计算。
%函数最小值存放在数组元素options 8 中
%与极值点对应的自变量值存放在向量X里
%计算步数存放在数组元素options 10 中
[X,options] fmins fun,X0,options ;
%显示与极值点对应的自变向量X的值。
%显示函数最小值
options 8
%显示函数计算步数
options 10
把上面这段程序保存为m文件,然后用“Tools”菜单中的“Run”命令行这段程序,就可以轻松的得到如下结果:
X 9.座机电话号码e-001 9.座机电话号码178110e-001
ans 1.座机电话号码1794760e-001
ans 195
显然,计算结果与理论结果的误差小到e-10级,这里调用了MATLAB的最优化函数fmins ,它采用Nelder-Mead的单纯形算法,就是因为这个函数的采用,使最小值问题的解算变得非常简单。
2.带约束条件的极值问题的解法 设目标函数和约束条件如下:
f x -3X1+X2+X3
-X1+2X2-X3 -11
4X1-X2-2X3 -3
2X1-X3 -1
X1 0,X2 0,X3 0;
求X向量取何值时函数取极小值?
对条件极值问题通常的做法都是将约束条件标准化(即把等式约束条件写成等号为0的形式,把不等式写成 0的形式)。然后把条件极值问题转换为非条件极值问题,MATLAB也采用同样的做法。
下面是求解该问题的MATLAB语言程序。
funf ’f -3*X 1 +X 2 +X 3 ;’ %写出目标函数表达式。
fung ’g [2*X 1 -X 3 +1;X 1 -2*X 2 +X 3 -11;4*X 1 -X 2 -2*X 3 +3];’ %把约束条件标准化,写成向量函数。注意等式约束条件要放在前面。
fun [funf ,fung] %把目标函数表达式和约束条件表达式合成一个向量函数。 X0 [101] %猜初值
options [ ]
options[13] 1 %在options 13 中指定等式约束条件的个数。
vlb zeros 1,3 ; %指定向量X的下界为0。
vub [ ]; %对向量的上界不做要求。
[X,options] constr fun,X0,options,Vlb,Vlb ; %调constr 函数%显示与极值点对应的X 向量值。
options 8 %显示极小值
options 10 %显示计算次数
g [2*X 1 -X 3 +1;X 1 -2*X 2 +X 3 -11;4*X 1 -X 2 -2*X 3 +3] %显示约束条件表达式的取值。
运行这段MATLAB程序得到如下结果:
X 4.000000000000000e+000 1.00000000000000le+000 9.000000000000005e+000
ans -1.座机电话号码999999le+000
ans 17
g -6.座机电话号码790877e-015 1.座机电话号码940025le-015 -1.座机电话号码1520200e-014
显然,计算结果是非常精确的,这里调用了MATLAB的最优化函数constr ,它是专门用来解算条件极值问
您可能关注的文档
最近下载
- 2023—2024年全国高中学生化学竞赛(安徽赛区)初赛试题汇编及参考答案.pdf VIP
- 住宅楼、商业楼、幼儿园等劳务分包投标方案技术标.docx
- 人体营养生理学基础.ppt VIP
- 广西科技大学-概率论 试卷期末试题及答案2.pdf VIP
- 2025年浙江省金华市中考科学试题卷(含答案).docx
- 新解读《GB_T 3922-2013纺织品 色牢度试验 耐汗渍色牢度》最新解读.docx VIP
- 2025江西陶瓷工艺美术职业技术学院教师招聘考试试题.docx VIP
- 人教版九年级化学上册基础知识填空.docx VIP
- 哈工大理论力学第五章 点运动学.ppt VIP
- 高中英语语法课件 专题11 名词性从句(讲义)(原卷版).pdf VIP
文档评论(0)