Matlab求解非线性规划。 总结fmincon函数的用法1 .概述在Matlab中,fmincon函数可以求解约束非线性多元函数(constrainednonlinearmultivariablefunction )的最小值,可以求解非线性规划问题
在matlab中,非线性规划模型的写法如下
2 .基本语法[x,fval]=fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options)
的返回值是确定向量x的可取值,而fval的返回值是目标函数f(x )的可取值
fun是m文件中所定义的函数f(x ),表示线性目标函数(非)
x0是x的初始值
a,b,Aeq,beq定义线性约束,如果没有线性约束,则A=[],b=[],Aeq=[],beq=[]
lb和ub是变量x的下界和上界,如果下界和上界没有限制,则lb=[]、ub=[],lb的各成分都可以写为-inf,ub的各成分都可以写为inf
nonlcon是在m文件中定义的非线性向量函数约束
options定义了优化参数,并指示使用Matlab的默认参数设置
3 .实例,求以下非线性规划。
(1)创建m函数fun1.m定义目标函数:
功能f=fun1(x; f=x(1).^2x )2).^2x )3).^2 8; (2)制作m函数fun2.m定义非线性约束条件:
function [g,h]=fun2(x ); g=[-x(1).^2x )2)-x )3).^2x (1) x )2).^ 2x )3).^3-20]; h=[-x(1)-x )2).^22x )2*x )3).^2-3]; (3)编制主程序函数
[x,y]=fmincon('fun1',rand )、[ ]、[ ]、[ ]、[ ]、zeros ) 3,1 )、[ ]、' fun2) )的结果如下:
转载于:https://www.cn blogs.com/good two/p/11146540.html