Matlab经典优化函数详细介绍.doc

Matlab经典优化函数详细介绍.doc

ID:50812030

大小:366.00 KB

页数:22页

时间:2020-03-14

Matlab经典优化函数详细介绍.doc_第1页
Matlab经典优化函数详细介绍.doc_第2页
Matlab经典优化函数详细介绍.doc_第3页
Matlab经典优化函数详细介绍.doc_第4页
Matlab经典优化函数详细介绍.doc_第5页
资源描述:

《Matlab经典优化函数详细介绍.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Matlab经典优化函数详细介绍----------------Matlab优化工具箱简介5.1线性优化线性规划问题是目标函数和约束条件均为线性函数的问题,MATLAB7.0解决的线性规划问题的标准形式为minsub.to:其中f、x、b、beq、lb、ub为向量,A、Aeq为矩阵.其它形式的线性规划问题都可经过适当变换化为此标准形式.在MATLAB5.x以上版中,线性规划问题LinearProgramming已用函数linprog取代了MATLAB5.x版中的lp函数.当然,由于版本的向下兼容性,一般说来,低版本中的函数在7.0版中仍可

2、使用.函数linprog格式x=linprog(f,A,b)%求minf'*xsub.to线性规划的最优解.x=linprog(f,A,b,Aeq,beq)%等式约束,若没有不等式约束,则A=[],b=[].x=linprog(f,A,b,Aeq,beq,lb,ub).%指定x的范围,若没有等式约束,则Aeq=[],beq=[].x=linprog(f,A,b,Aeq,beq,lb,ub,x0)%设置初值x0.x=linprog(f,A,b,Aeq,beq,lb,ub,x0,options)%options为指定的优化参数.[x,fval

3、]=linprog(…)%返回目标函数最优值,即fval=f'*x.[x,lambda,exitflag]=linprog(…)%lambda为解x的Lagrange乘子.[x,lambda,fval,exitflag]=linprog(…)%exitflag为终止迭代的错误条件.[x,fval,lambda,exitflag,output]=linprog(…)%output为关于优化的一些信息.说明:若exitflag>0表示函数收敛于解x,exitflag=0表示超过函数估值或迭代的最大次数,exitflag<0表示函数不收敛于解x

4、;若lambda=lower表示下界lb,lambda=upper表示上界ub,lambda=ineqlin表示不等式约束,lambda=eqlin表示等式约束,lambda中的非0元素表示对应的约束是有效约束;output=iterations表示迭代次数,output=algorithm表示使用的运算规则,output=cgiterations表示PCG迭代次数.MATLAB求解优化问题的主要函数类型模型基本函数名一元函数极小MinF(x)s.t.x1

5、nunc(‘F’,X0)X=fminsearch(‘F’,X0)线性规划Mins.t.AX<=bX=linprog(c,A,b)二次规划MinxTHx+cTxs.t.Ax<=bX=quadprog(H,c,A,b)约束极小(非线性规划)MinF(X)s.t.G(X)<=0X=fmincon(‘FG’,X0)多目标优化问题Minrs.t.F(x)-wr<=goalX=fgoalattain(‘F’,x,goal,w)极小极大问题Minmax{Fi(x)}X{Fi(x)}s.t.G(x)<=0X=fminimax(‘FG’,x0)优化函数的输

6、入变量优化函数的输出变量5.2非线性优化5.2.1有约束的一元函数的最小值单变量函数求最小值的标准形式为sub.to函数fminbnd格式x=fminbnd(fun,x1,x2)%返回自变量x在区间上函数fun取最小值时x值,fun为目标函数的表达式字符串或MATLAB自定义函数的函数柄.x=fminbnd(fun,x1,x2,options)[x,fval]=fminbnd(…)[x,fval,exitflag]=fminbnd(…)[x,fval,exitflag,output]=fminbnd(…)例5-2计算下面函数在区间(0,1

7、)内的最小值.解:>>[x,fval,exitflag,output]=fminbnd('(x^3+cos(x)+x*log(x))/exp(x)',0,1)x=0.5223fval=0.3974exitflag=1output=iterations:9funcCount:9algorithm:'goldensectionsearch,parabolicinterpolation'例5-3在[0,5]上求下面函数的最小值解:先自定义函数:在MATLAB编辑器中建立M文件为:functionf=myfun(x)f=(x-3).^2-1;保存

8、为myfun.m,然后在命令窗口键入命令:>>x=fminbnd(@myfun,0,5)则结果显示为:x=35.2.2无约束多元函数最小值多元函数最小值的标准形式为其中:x为向量.命令利用函数

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。