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

在线预览结束,喜欢就下载吧,查找使用更方便

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

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

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

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

编号:时间:2021年x月x日书山有路勤为径学海无涯苦作舟页码:Matlab优化工具箱函数简介一维搜索问题fminbnd无约束极小值fminuncfminsearch约束极小值fmincon线性规划linprog二次规划quadprog一维搜索问题优化工具箱函数fminbnd对应问题:minf(x)x1<x<x2调用格式x=fminbnd(funx1x2):得到函数fun在区间[x1x2]内取得最小值的x.[xf]=fminbnd(funx1x2):得到最优点x和最优目标函数值f。例:求minf(x)=-(3-2*x)^2*x方法1:x=fminbnd('-(3-2*x)^2*x'01.5)方法2:f=inline('-(3-2*x)^2*x');x=fminbnd(f01.5)方法3:x=fminbnd(@(x)-(3-2*x)^2*x01.5)方法4:先形成一个函数文件functionf=fun(x)f=-(3-2*x)^2*x;然后运行下两句中的任一句x=fminbnd('fun'01.5)x=fminbnd(@fun01.5)若需输出最优点处的目标函数值f则将上述语句的左边改为[xf]如:[xf]=fminbnd('-(3-2*x)^2*x'01.5)其它用法:[Xfvalexitflagoutput]=fminbnd(funx1x2)其中:fun为目标函数x1x2为变量的边界约束即x1≤x≤x2X为返回的满足fun取得最小值的x的值而fval则为此时的目标函数值。exitflag>0表示计算收敛exitflag=0表示超过了最大的迭代次数exitflag<0表示计算不收敛返回值output有3个分量其中iterations是优化过程中迭代次数funcCount是代入函数值的次数algorithm是优化所采用的算法。例:clearfun='(x^5+x^3+x^2-1)/(exp(x^2)+sin(-x))'ezplot(fun[-22])[Xfvalexitflagoutput]=fminbnd(fun-22)结果为:X=0.2176fval=-1.1312exitflag=1output=iterations:13funcCount:13algorithm:'goldensectionsearchparabolicinterpolation'无约束极小值优化工具箱函数fminuncfminsearch以上两个函数均可求解无约束多元函数的最小值。调用格式:x=fminunc(funX0)x=fminsearch(funX0)--------------以X0为初始迭代点求使函数fun取得最小值的x[xfval]=fminunc(funX0)[xfval]=fminsearch(funX0)--------------以X0为初始迭代点求得最优点x和最优值fval。fminsearch()采用单纯形法进行计算适合处理阶次低但是间断点多的函数;fminunc()对于高阶连续的函数比较有效该函数可以输出海塞矩阵。例1:求X0=[11]’[xfval]=fminunc('3*x(1)^2+2*x(1)*x(2)+x(2)^2'X0)[xfval]=fminsearch('3*x(1)^2+2*x(1)*x(2)+x(2)^2'[11]')例2:clearfun='exp(x(1))*(2*x(1)^2+3*x(2)^2+2*x(1)*x(2)+3*x(2)+1)';x0=[00];options=optimset('largescale''off''display''iter''tolx'1e-8'tolfun'1e-8);[xfvalexitflagoutputgradhessian]=fminunc(funx0options)约束极小值优化工具箱函数fmincon对应数学模型:minF(X)subjectto:A*X<=BAeq*X=Beq(linearconstraints)C(X)<=0Ceq(X)=0(nonlinearconstraints)LB<=X<=UB调用格式:x=fmincon(funx0Ab):给定初值x0求解fun函数的最极值点x.。约束条件为线性约束A*x<=b。x0可以是标量、矢量或矩阵X=fmincon(FUNX0ABAeqBeq)同前