请问我这个MATLAB代码显示linprog输出参数过多是怎么回事?

发布网友 发布时间:2022-04-23 02:16

我来回答

2个回答

热心网友 时间:2023-10-05 19:18

MATLAB的linprog函数,要求输出的参数以向量的形式表示。所以

原为:[t1,t2,t3,t4,t5,t6]=linprog(f,a,b,aeq,beq,zeros(6,1));

应改为:

t=linprog(f,a,b,aeq,beq,zeros(6,1));

t1=t(1),t2=t(2),t3=t(3),t4=t(4),t5=t(5),t6=t(6)

修改后运行可以得到如下结果

热心网友 时间:2023-10-05 19:19

由于题主给出的线性规划问题在低版本的matlab环境中,使用 linprog,就会出现输入参数太多的警告。
代码没有问题,在matlab R2016a可以运行通过。运行结果如下:
x = 48270.9999711692, 9759.99994556099,207.999974856666,1.29232748524166e-05,1.29232748524166e-05,1.1196375052841e-05,1.10917705918312e-05, 9.537405076227e-06, 9.79687112967476e-06, 9.715775292113e-06, 8.68033056913e-06
fval = -1601572497.72049追问您好!非常感谢您解答我的问题,但是我想问一下x是什么呀?我这个模型想解出的是t1 t2 t3 t4 t5 t6的值,而且这些值都是在[0,1]区间的,您的答案我看不太明白

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com