资源描述:
《Matlab和机械优化设计ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Matlab优化工具箱的使用1MATLAB优化工具箱能求解的优化模型优化工具箱3.0(MATLAB7.0R14)连续优化离散优化无约束优化非线性极小fminunc非光滑(不可微)优化fminsearch非线性方程(组)fzerofsolve全局优化暂缺非线性最小二乘lsqnonlinlsqcurvefit线性规划linprog0-1规划bitprog一般IP(暂缺)非线性规划fminconfseminf上下界约束fminbndfminconlsqnonlinlsqcurvefit约束线性最小二乘lsqnonneglsqlin约束优化二次规划quad
2、prog多目标优化fgoalattainfminimax2无约束优化问题数学模型:Matlab函数:对于连续(处处光滑)的函数,使用fminunc对于不连续的函数,使用fminsearch一般而言fminunc比fminsearch有更高的寻优效率,因为它利用了梯度信息两者都不是解决最小化平方和的问题首选方法,对这类问题,推荐使用(lsqnonlin)。3无约束优化问题[x,fval,exitflag,output,grad,hessian]=fminunc(fun,x0,options)输入参数:fun:目标函数,以函数句柄的形式给出。函数句柄的
3、构造:函数首先用m文件定义好,然后采用下列方式构造函数句柄:fhandle=@function_name如:f_h=@sin;f_h=@cos匿名函数的形式(Anonymousfunction),函数的表达式直接给出:fhandle=@(var_list)expression(var_list),如:f_h=@(x)sin(x);f_h=@(x)cos(x);采用函数句柄的方式调用函数:把函数的名称用函数句柄直接替换。比如定义:f_h=@sin,则使用sin函数的时候有两种方式:sin(10),f_h(10),返回同样的结果。4无约束优化问题[x,
4、fval,exitflag,output,grad,hessian]=fminunc(fun,x0,options)输入参数:x0:初始点的值。Options:提供和函数本身有关的一些细节控制,如采用的算法,是否采用梯度等信息。本身是一个结构数组,其中每一个属性值的改变或设定可用函数optimset完成,如:options=optimset(‘Display’,‘iter’,‘TolFun’,1e-8);options=optimset(optimfun):返回优化函数“optimfun”所有的options属性的名称和属性值。如:options=
5、optimset(‘fminunc’):观察结果。Options各个属性的含义请参考帮助文件。5无约束优化问题[x,fval,exitflag,output,grad,hessian]=fminunc(fun,x0,options)输出参数:X,fval:算法终止时函数的最优解和最优值。exitflag:整数标志,算法终止的原因,返回值大于0表示找到局部最优点,否则没有找到局部最优点。具体的返回请参照函数“fminunc”的帮助。Output:Structurecontaininginformationabouttheoptimization.Th
6、efieldsofthestructureare:iterations:Numberofiterationstaken;funcCount:Numberoffunctionevaluations;algorithm:Algorithmused;Cgiterations:NumberofPCGiterations(large-scalealgorithmonly);stepsize:Finalstepsizetaken(medium-scalealgorithmonly);grad,hessian:最优解X点处的剃度和Hessian矩阵6无约束优化问
7、题[x,fval,exitflag,output,grad,hessian]=fminunc(fun,x0,options)例子:求目标函数mypeaks的局部最小值。mypeaks=3*(1-x(:,1)).^2.*exp(-(x(:,1).^2)-(x(:,2)+1).^2)...-10*(x(:,1)/5-x(:,1).^3-x(:,2).^5).*exp(-x(:,1).^2-x(:,2).^2)...-1/3*exp(-(x(:,1)+1).^2-x(:,2).^2);fminsearch与fminunc有相同的输入和输出参数,但是它使用
8、单纯形法来找到局部最优。分别用fminsearch和fminunc函数求上述目标函数的极小值点,可发现在利用了梯度信息的时