谁能帮我解释一下这个MATLAB程序

clc,clear
a=0;
hold on
while a<0.05
c=[-0.05,-0.27,-0.19,-0.185,-0.185];
A=[zeros(4,1),diag([0.025,0.015,0.055,0.026])];
b=a*ones(4,1);
Aeq=[1,1.01,1.02,1.045,1.065];
beq=1;
LB=zeros(5,1);
[x,Q]=linprog(c,A,b,Aeq,beq,LB);
Q=-Q;
plot(a,Q,'*r');
a=a+0.001;
end
xlabel('a'),ylabel('Q')

这是求解线性规划问题。
目标函数为c代表的多项式:-0.05*x^4-0.27*^3-0.19*^x2-0.185*^x-0.185=0;
外加三个条件为 A*x<b Aeq*x=beq 且 x>LB
随着a的变化(步长0.001),计算出每次的线性规划结果,画图 plot(a,Q,'*r');

线性规划也可以先用optimtool,交互的最优化工具,这样能好理解、对比一些,然后在编程实现。
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答