利用Matlab求解机械设计优化问题的讲解(共8页).doc
《利用Matlab求解机械设计优化问题的讲解(共8页).doc》由会员分享,可在线阅读,更多相关《利用Matlab求解机械设计优化问题的讲解(共8页).doc(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上 利用MATLAB求解机械设计优化问题的分析 周婷婷 (能源与动力学院,油气0701)摘要: MATLAB是目前国际上最流行的科学与工程计算的软件工具, 它具有强大的数值分析、矩阵运算、信号处理、图形显示、模拟仿真和最优化设计等功能。本文浅谈MATLAB在机械设计优化问题的几点应用。关键词: MATLAB 约束条件 机械设计优化 引言:在线性规划和非线性规划等领域经常遇到求函数极值等最优化问题,当函数或约束条件复杂到一定程度时就无法求解,而只能求助于极值分析算法,如果借助计算器进行手工计算的话,计算量会很大,如果要求遇到求解极值问题的每个人都去用BASIC,C和FOR
2、TRAN之类的高级语言编写一套程序的话,那是非一朝一日可以解决的,但如用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; %所有选项取默认值op
3、tions= ;%调用最优化函数进行计算。%函数最小值存放在数组元素options(8)中%与极值点对应的自变量值存放在向量X里%计算步数存放在数组元素options(10)中X,options=fmins(fun,X0,options);%显示与极值点对应的自变向量X的值。%显示函数最小值options(8)%显示函数计算步数options(10)把上面这段程序保存为m文件,然后用“Tools”菜单中的“Run”命令行这段程序,就可以轻松的得到如下结果:X=9.5383e-001 9.110e-001ans=1.4760e-001ans=195显然,计算结果与理论结果的误差小到e-10级,这
4、里调用了MATLAB的最优化函数fmins(),它采用Nelder-Mead的单纯形算法,就是因为这个函数的采用,使最小值问题的解算变得非常简单。2.带约束条件的极值问题的解法 设目标函数和约束条件如下:f(x) =-3X1+X2+X3-X1+2X2-X3= -114X1-X2-2X3=0,X2=0,X3=0;求X向量取何值时函数取极小值?对条件极值问题通常的做法都是将约束条件标准化(即把等式约束条件写成等号为0的形式,把不等式写成=0的形式)。然后把条件极值问题转换为非条件极值问题,MATLAB也采用同样的做法。下面是求解该问题的MATLAB语言程序。funf =f=-3*X(1)+X(2)
5、+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= options13=1 %在options(13)中指定等式约束条件的个数。vlb =zeros(1,3); %指定向量X的下界为0。vub = ; %对向量的上界不做要求。X,options=constr(fun,X0,options,Vlb,Vlb
6、); %调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.0000e+000 1.000le+000 9.0005e+000ans=-1.999le+000ans=17g=-6.877e-015 1.025le-015 -1.0200e-014显然,计算结果是非常精确的,这里调用了MATLAB的最优化函数constr(),它是专门用来
7、解算条件极值问题的。3机械优化设计应用实例 机械优化设计把数学规划理论与数值方法应用于设计中,用计算机从大量可行方案中找出最优化设计方案,从而大大提高设计质量和设计效率。MATLAB具有解决线性规划和非线性规划、约束优化和无约束优化问题的内部函数,因而可以完成这一功能。现举一例:螺栓组联结的优化设计 如图4所示的压力容器螺栓组联接中,已知D1= 400mm,D2 = 250mm,缸内工作压力为p=1.5 MPa,螺栓材料为35号钢,s=320Mpa,安全系数S=3,取残余预紧力Qp=1.6F,采用铜皮石棉密封垫片。现从安全、可靠、经济的角度来选择螺栓的个数n和螺栓的直径d 。31 设计问题分析
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 利用 Matlab 求解 机械设计 优化 问题 讲解
限制150内