我需要在 matlab 中最大化方程 3x+y,并具有以下约束:
2x+y=0
我很难弄清楚如何以一种可以将它们与原始方程联系起来的方式加入约束。我是 matlab 新手,很难弄清楚这一点。
提前致谢!
正如@Franck提到的,你可以一般使用fmincon
来解决优化问题。但是,由于您的问题只是一个线性规划问题,因此解决方案要简单得多(并且保证是最优的):
f = -[3 1]; % Note the minus as we want maximization
A = [2 1; 1 3];
b = [6; 9];
LB = [0 0];
[X, FVAL] = linprog(f,A,b,[],[],LB)
会给:
X =
3.0000
0.0000
FVAL =
-9.0000
因此,在 (3,0) 点找到最优值,结果值为 9。
Try help linprog
阅读有关这个非常有用的功能的更多信息。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)