预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共20页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

一直知道Matlab的优化工具箱,可是一直都没有学习,Matlab提供的功能主要有线性规划、非线性规划、极值问题等,这些也是比较常见的优化问题。 优化工具箱概述 1.MATLAB求解优化问题的主要函数 2.优化函数的输入变量 使用优化函数或优化工具箱中其它优化函数时,输入变量见下表: 3.优化函数的输出变量下表: 4.控制参数options的设置 Options中常用的几个参数的名称、含义、取值如下: (1) Display:显示水平.取值为’off’时,不显示输出;取值为’iter’时,显示每次迭代的信息;取值为’final’时,显示最终结果.默认值为’final’. (2) MaxFunEvals:允许进行函数评价的最大次数,取值为正整数. (3)MaxIter:允许进行迭代的最大次数,取值为正整数 控制参数options可以通过函数optimset创建或修改。命令的格式如下: (1)options=optimset(‘optimfun’) 创建一个含有所有参数名,并与优化函数optimfun相关的默认值的选项结构options. (2)options=optimset(‘param1’,value1,’param2’,value2,...) 创建一个名称为options的优化选项参数,其中指定的参数具有指定值,所有未指定的参数取默认值. (3)options=optimset(oldops,‘param1’,value1,’param2’, value2,...) 创建名称为oldops的参数的拷贝,用指定的参数值修改oldops中相应的参数. 例:opts=optimset(‘Display’,’iter’,’TolFun’,1e-8) 该语句创建一个称为opts的优化选项结构,其中显示参数设为’iter’,TolFun参数设为1e-8. 用Matlab解无约束优化问题 一元函数无约束优化问题 常用格式如下: (1)x=fminbnd(fun,x1,x2) (2)x=fminbnd(fun,x1,x2,options) (3)[x,fval]=fminbnd(...) (4)[x,fval,exitflag]=fminbnd(...) (5)[x,fval,exitflag,output]=fminbnd(...) 其中(3)、(4)、(5)的等式右边可选用(1)或(2)的等式右边。 函数fminbnd的算法基于黄金分割法和二次插值法,它要求目标函数必须是连续函数,并可能只给出局部最优解。 例1求在0<x<8中的最小值与最大值 主程序为wliti1.m: f='2*exp(-x).*sin(x)'; fplot(f,[0,8]);%作图语句 [xmin,ymin]=fminbnd(f,0,8) f1='-2*exp(-x).*sin(x)'; [xmax,ymax]=fminbnd(f1,0,8) 运行结果: xmin=3.9270ymin=-0.0279 xmax=0.7854ymax=0.6448 例2对边长为3米的正方形铁板,在四个角剪去相等的正方形以制成方形无盖水槽,问如何剪法使水槽的容积最大? 先编写M文件fun0.m如下: functionf=fun0(x) f=-(3-2*x)^2*x; 主程序为wliti2.m: [x,fval]=fminbnd('fun0',0,1.5); xmax=x fmax=-fval 运算结果为:xmax=0.5000,fmax=2.0000.即剪掉的正方形的边长为0.5米时水槽的容积最大,最大容积为2立方米. 2、多元函数无约束优化问题 标准型为:minF(X) 命令格式为: (1)x=fminunc(fun,X0);或x=fminsearch(fun,X0) (2)x=fminunc(fun,X0,options); 或x=fminsearch(fun,X0,options) (3)[x,fval]=fminunc(...); 或[x,fval]=fminsearch(...) (4)[x,fval,exitflag]=fminunc(...); 或[x,fval,exitflag]=fminsearch (5)[x,fval,exitflag,output]=fminunc(...); 或[x,fval,exitflag,output]=fminsearch(...) 说明: •fminsearch是用单纯形法寻优.fminunc的算法见以下几点说明: [1]fminunc为无约束优化提供了大型优化和中型优化算法。由options中的参数LargeScale控制: LargeScale=’on’(默认值),使用大型算法 LargeScale=’off’(默认值)