操作方法
fmincon作为优化问题的万能命令,既可以解决带约束的优化问题,有可以解决不带约束的优化问题。下面简单介绍一下。
fmincon命令的格式如下。
解释如下: 输出x为解的结果 输出fval为目标函数的最小值 输出exitflag为解的情况(大于0表示求解成功) 程序名用于写目标函数 x0为初始向量 A、AEQ为系数矩阵(A为不等式约束,AEQ为等式约束) B、BEQ为常数项向量(B为不等式约束的常量,BEQ为等式约束的常量) L为解的下限 U为解的上限 程序2用于非线性约束
下面用一个实例来说明。如下图
首先编写目标函数。在编辑器中编写好后,保存。
然后,将题目转换会命令语言。其中的 1 1 5 A=1 -2 ,B= 3; AEQ= -3 2, BEQ=8; -1 3 L= 4 ,U= 7; 初始值就随便填写符合上下限的数就行了,比如[1;1]
最后,在命令窗口中敲入命令。
或者这样写。
结果如下图。解释如下x=[0.4;4.6]表示x=0.4,y=4.6时目标函数在满足约束的情况下取得最小值fval=-19.16.其中exitflag=1>0表示结果正确。