MATLAB 求解下列多变量非线性规划问题
发布网友
发布时间:2022-05-01 17:43
我来回答
共1个回答
热心网友
时间:2022-06-20 12:04
1/11 分步阅读
开始第一步我们打开在电脑桌面找到matlab小程序,然后鼠标右击打开桌面上matlab程序,运行起来。由于不同人电脑的配置不一样,软件打开的速度也有所不同,一般固态硬盘比机械硬盘运行的要快好多。大家稍微等待一下。
2/11
我们为了便于保存数据,我们点击matlab左上角新建脚本命令,创建新的脚本,创建M文件,也便于程序的保存,我们可以将其保存在电脑的其他盘,以便于我们的寻找和使用,这也是比较常见的方式。
3/11
这是一个常见的二次非线性规划的方程,有目标函数,有约束条件,让其在约束条件的情况下求其的最优解和最优值
下面问题有五个约束条件
求约束条件的最小值
4/11
首先建立一个M文件fun_ex5.m文件
输入程序如下
function f=fun_ex5(x);
f=2*x(1)-x(2)*exp(x(1));
其中exp代表指数函数
*代表乘
5/11
新建的文件如下图所示
是一个m文件
m文件只能通过matlab打开
不能再桌面上直接双击打开
大家注意下
6/11
建议另一个m文件,文件名为mycon_ex5.m,定义非线性的约束
程序如下
function [g,ceq]=mycon_ex5(x)
g=[x(1)^2+(x2)^2-12;x(1)^2-x(2)^2-5];
ceg=[ ];
注意符号书写的方式
以及字母书写方式
7/11
新建的文件如下图所示
是一个m文件
m文件只能通过matlab打开
不能再桌面上直接双击打开
大家注意下
8/11
输入程序:
>> x0=[1;1];
>> lb=[0;0];
>> ub=[5;8];
9/11
输入程序:
>> [x,fval,exitflag,output]=fmincon('fun_ex5',x0,[],[],[],[],lb,ub,'mycon_ex5')
记住字母书写的方式
以及输入状态
10/11
最优值为
fval=-28.7000
11/11
最优解为
x=2.9155
1.8708