机械优化设计matlab-十四讲

上传人:最**** 文档编号:117923558 上传时间:2019-12-11 格式:PPT 页数:22 大小:533KB
返回 下载 相关 举报
机械优化设计matlab-十四讲_第1页
第1页 / 共22页
机械优化设计matlab-十四讲_第2页
第2页 / 共22页
机械优化设计matlab-十四讲_第3页
第3页 / 共22页
机械优化设计matlab-十四讲_第4页
第4页 / 共22页
机械优化设计matlab-十四讲_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《机械优化设计matlab-十四讲》由会员分享,可在线阅读,更多相关《机械优化设计matlab-十四讲(22页珍藏版)》请在金锄头文库上搜索。

1、一维优化问题 一维优化问题的数学模型为: 在matlab中,一维优化问题,也就是一维搜索问题的实现是由函数fminbnd 来实现的。 具体的调用格式如下: 调用格式1: X= fminbnd(FUN,x1,x2) 这种格式的功能是:返回在区间(x1,x2)中函数FUN最小值对应的X值。 调用格式2: X,FVAL= fminbnd(FUN,x1,x2) 这种格式的功能是:同时返回解x和在点x处的目标函数值。 案例 n如图,有一块边长为6m的正方形铝板,四角 截去相等的边长为x的方块并折转,造一个无 盖的箱子,问如何截法(x取何值)才能获得 最大容器的箱子,只写出这一优化问题的数学 模型。用ma

2、tlab软件的优化工具箱求解。 根据题意,该无盖箱子的长和宽均为6-2x,高 为x,取设计变量x 根据长方体容积表达式,得: 建立约束优化问题数学模型得 Matlab程序一: x,xfval=fminbnd(-x*(6-2*x)2,0,3) Matlab程序二: 首先编写m文件 function f=volf(x) f=-(6-2*x)2*x 然后,调用fminbnd函数求解 X,FVAL=fminbnd(volf,0,3) 无约束非线性规划问题 在MATLAB优化工具箱函数中,有以下两个函数用来求解上述问题: fminunc、fminsearch 1. fminunc 调用格式1:X=fmi

3、nunc(FUN,X0) 这种格式的功能是:给定起始点X0,求函数FUN的局部极小点X。 其中,X0可以是一个标量、向量或者矩阵。 调用格式2:X,FVAL=fminunc(FUN,X0) 这种格式的功能是:同时返回解x和在点x处的目标函数值。 1. 求函数F=sin(x)+3的最小值点。 function f=demfun(x) f=sin(x)+3 然后,在命令窗口中输入: X=fminunc(demfun,2) 得到 X= 4.7124 求函数 的极小点。 在命令窗口中 输入 X=fminunc(x) 5*x(1)2+x(2)2,5;1) x = 1.0e-006 * -0.7898 -

4、0.0702 2. fminsearch fminsearch使用单纯形法,一种直接搜索的方法。 调用格式1: X= fminsearch(FUN,X0) 这种格式的功能是:给定起始点X0,求函数FUN的局 部极小点X。其中,X0可以是一个标量、向量或者矩 阵。 调用格式2: X,FVAL=fminsearch (FUN,X0) 这种格式的功能是:同时返回解x和在点x处的目标函 数值。 局限性: (1)应用该函数可能会得到局部最优解。 (2)该函数只对实数进行最小化。如果x为复数时,必须将 它分为实数部和虚数部。 求解函数 的最小值点。 方法一:直接在MATLAB命令窗口中输入: x0,fva

5、l=fminsearch(2*x(1)3+4*x(1)*x(2)3- 10*x(1)*x(2)+x(2)2, 0,0); 方法二:在MATLAB的M编辑器中建立函数文件用来保存所要 求解最小值的函数: function f=demfun1(x) f= 2*x(1)3+4*x(1)*x(2)3-10*x(1)*x(2)+x(2)2; 保存为demfun1.m。 然后,在命令窗口中调用该函数,这里有两种调用方式: 调用方式一: 在命令窗口中输入: x,fval=fminsearch(demfun1,0,0) 调用方式二: 在命令窗口中输入: x,fval=fminsearch(demfun1,0,

6、0) 得到的结果 X= 1.0016 0.8335 Fval= -3.3241 1.线性规划 约束优化问题 f=-7;-5; A=3,2;4,6;0,7; b=90;200;210; lb=zeros(2,1); x,fval=linprog(f,A,b,lb) 调用linprog函数 2 一般的约束非线性最优化问题 约束非线性最优化是指目标函数和约束函数都是定义在n维欧几 里得空间上的实值连续函数,并且至少有一个是非线性的。 X=fmincon(fun,x0,A,B,Aeq,Beq,LB,UB,NONLCON) 这个函数格式同上,同时,约束中增加由函数NONLCON定义的非线性约束条件 ,在函数NONLCON的返回值中包含非线性等式约束Ceq(X)=0和非线性不等式 C(X)x0=1,10;lb=0,0;ub=20,90; x,fmin=fmincon(fun1,x0,lb,ub) 符号表示法 fun=-(20-2*x(1)*x(1)*sin(x(2)*pi/180)- x(1)2*sin(x(2)*pi/180)*cos(x(2)*pi/180); x0=1,10;lb=0,0;ub=20,90; xopt,fopt=fminsearch(fun,x0) xopt = 6.6667 60.0001 fopt = -57.7350

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号