这个方程应该怎样在MATLAB中编程,并输出自变量的值? 5
1个回答
展开全部
题主给出的方程实际上是一个最优化极值问题,极值问题可以用fmincon()函数或ga()函数等去求解。
如用fmincon()函数求解,可以按下列方法来解决:
1、自定义目标函数,其内容
y=9*x1+14*x2+202*x3+8*x4+6*x5+3*x6+354*x7;
2、自定义约束条件函数,其内容
c(1)=x6-x3;
c(2)=x6-x7;
ceq = x1+x2+x3+x4+x5+x6+x7-1;
3、确定x1、x2、x3、x4、x5、x6、x7 的上下限,即
lb=[0,0,0,0,0,0,0];
ub=[1,1,1,1,1,1,1];
4、使用fmincon()函数,得到x1、x2、x3、x4、x5、x6、x7 的值以及其极值(该问题为最小值等于6)
5、验证约束条件是否成立。即
disp('验证:x3>x6')
。。。
disp('验证:x7>x6')
。。。
disp('验证:A=x1+x2+x3+x4+x5+x6+x7=1')
。。。
6、编程后执行,得到如下值。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询