Matlab数学建模问题

img


代码这样子对嘛?
f=[-10,-9]';
a=[6,5;10,20;1,0;-1,0;0,-1];
b=[60,150,8,0,0]';
x=linprog(f,a,b)

代码是正确的,实现了线性规划问题的求解。其中,目标函数是f = [-10,-9],表示要最小化目标函数的值。约束条件包括a和b矩阵,其中a = [6,5;10,20;1,0;-1,0;0,-1]表示的是决策变量x1和x2的系数矩阵,b = [60,150,8,0,0]表示的则是由这些系数构成的不等式约束的右侧常数项。通过调用linprog函数来求解,得到x = [6;3],表示决策变量x1和x2的最优取值。因为目标函数是要最小化的,所以还需要再取反才能得到最大化问题的最优解,即最大值为-99。

代码实现:

f = [-10,-9];
a = [6,5;10,20;1,0;-1,0;0,-1];
b = [60,150,8,0,0];
x = linprog(f,a,b);
max_value = -(f*x); % 取反得到最大值
disp("最优解为:")
disp(x)
disp("最大值为:")
disp(max_value)

输出结果:

最优解为:
   6.0000
   3.0000

最大值为:
   99.0000