MATLAB的优化函数.pptVIP

  • 8
  • 0
  • 约5.72千字
  • 约 28页
  • 2017-08-31 发布于重庆
  • 举报
MATLAB的优化函数.ppt

课题33-MATLAB的优化函数 MATLAB优化工具箱 常用函数的应用 MATLAB优化工具箱(Optimization Toolbox)中包含有一系列优化算法和模块,可以用于求解约束线性最小二乘优化、约束非线性或无约束非线性极小值问题、非线性最小二乘逼近和曲线拟合、非线性系统方程和复杂结构的大规模优化问题。 处理优化设计问题的分析和计算时,根据优化设计的数学模型,按照所选用优化工具函数的要求,输入初始点,与约束条件相应的约束函数和系数矩阵,将优化工具函数作为 “黑箱”调用,即可获得与所有条件都相容的优化结果。 2、求解多维无约束优化问题的函数fminunc fminunc是基于梯度搜索法实现的优化工具箱函数,它的语法说明如下: [x,fval,exitflag,output,grad,hessian] =fminunc(@fun,x0,options,P1,P2…) 其中,输出参数有: x是返回目标函数的最优解; fval是返回目标函数在最优解x点的函数值; exitflag是返回算法的终止标志; output是返回优化算法的信息的一个数据结构; grad是返回目标函数在最优解x点的梯度; hessian是返回目标函数在最优解x点的hessian矩阵值。 输入参数有: fun是调用目标函数的函数文件名; x0是初始点;options是设置优化选项参数,包括有18个元素,用以在计算时控制精度要求、输出形式、算法选择、迭代次数、梯度等重要问题。可用空矩阵符号“[ ]”表示它的默认值; P1、P2等是传递给fun的附加参数。 例 已知梯形截面管道的参数是:底边长度为 ,高度为 ,面积 ,斜边与底边的夹角为 .管道内液体的流速与管道截面的周长 的倒数成比例关系 。试按照使液体流速最大确定该管道的参数。 解:1、建立优化设计的数学模型 管道截面周长 由管道截面面积 得到底边长度关系式 将它代入式管道截面周长的关系式中,得到 ? 因此,取与管道截面周长有关的两个独立参数作为设计变量,即 为使液体流速最大,取管道截面周长最小作为目标函数,即 这是一个二维无约束非线性优化问题。 2、编制MATLAB目标函数文件 function f=sc_wysyh(x) a=64516; f=a/x(1)-x(1)/tan(x(2)*pi/180)+2*x(1)/sin(x(2)*pi/180); 编制调用无约束优化工具函数fminunc文件 x0=[25;45]; [x,fval]=fminunc(@sc_wysyh,x0) 程序运行后得到优化结果: x = 192.9983 (梯形截面高度) 60.0000 (梯形截面斜边与底边夹角) fval = 668.5656 (梯形截面周长) 3、编制绘制目标函数等值线和曲面图的程序 xx1=linspace(100,300,25); xx2=linspace(30,120,25); [x1,x2]=meshgrid(xx1,xx2); f=64516./x1-x1./tan(x2*pi/180)+2*x1./sin(x2*pi/180); subplot(1,2,1); h=contour(x1,x2,f); % 绘制等高线并标注高程 clabel(h);%等高线高程标志函数 axis([100 300 30 120]) xlabel(高度 h (mm)) ylabel(倾斜角 (度)) title(目标函数等值线) subplot(1,2,2); surfc(x1,x2,f); axis([100 300 30 120 600 1200]) title(目标函数曲面图) 用Matlab解约束极小值问题 fmincon fmincon是求解多维约束优化问题 的优化工具箱函数。 它的语法说明如下: [x,fval,exitflag,output,lambda,grad,hession]= fmincon(@fun,x0,A,b,Aeq,beq,Lb,Ub,‘Nlc’,options,P1,P2,…) 其中,输入参数有: x是返回目标函数的最优解; fval是返回目标函数在最优解x点的函数值; exitflag是返回算法的终止标志; output是返回优化算法的信息的一个数据结构; grad是返回目标函数在最优解x点的梯度; hessian是返回目标函数在最优解x点的hessian矩阵值。 输出参数有: fun是调用目标函数的函数文件名; x0是初始点; 线性不等式约束条件的系数矩阵A和常数向量b; 线性等式约束条件的

文档评论(0)

1亿VIP精品文档

相关文档