帮我用matlab编程计算图中的式子
来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/07/08 14:47:22
帮我用matlab编程计算图中的式子
![](http://img.wesiedu.com/upload/6/94/69427d04238e178ecf32aff034397ce6.jpg)
![](http://img.wesiedu.com/upload/6/94/69427d04238e178ecf32aff034397ce6.jpg)
![帮我用matlab编程计算图中的式子](/uploads/image/z/8536067-35-7.jpg?t=%E5%B8%AE%E6%88%91%E7%94%A8matlab%E7%BC%96%E7%A8%8B%E8%AE%A1%E7%AE%97%E5%9B%BE%E4%B8%AD%E7%9A%84%E5%BC%8F%E5%AD%90)
设P1-P3用x1-x3表示,V1-V3用x4-x6表示,则
目标函数为(最大化问题,目标函数应该取负值)
v = -sum( x(1:3) .* x(4:6) );
变量有上下限约束
LB = [2 0.5 0.2 200 145 220];
UB = [2.4 0.6 0.29 250 175 230];
另外有线性约束
x4 + x5 + x6 <= 640
-x4 - x5 - x6 <= -580
代码:
A = [ zeros(2,3) [1 1 1; -1 -1 -1] ];
b = [640; -580];
LB = [2 0.5 0.2 200 145 220];
UB = [2.4 0.6 0.29 250 175 230];
x0 = (LB + UB) / 2;
f = inline('-sum( x(1:3) .* x(4:6) )', 'x');
[x, V] = fmincon(f, x0, A, b, [], [], LB, UB);
V = -V
求得结果:
V =
765.8
再问: 你那个代码很好,但是能求出X1-X6分别是什么吗?
再答: 倒数第二行代码求出的x,x(1:3)就是P1-P3,x(4:6)是V1-V3
目标函数为(最大化问题,目标函数应该取负值)
v = -sum( x(1:3) .* x(4:6) );
变量有上下限约束
LB = [2 0.5 0.2 200 145 220];
UB = [2.4 0.6 0.29 250 175 230];
另外有线性约束
x4 + x5 + x6 <= 640
-x4 - x5 - x6 <= -580
代码:
A = [ zeros(2,3) [1 1 1; -1 -1 -1] ];
b = [640; -580];
LB = [2 0.5 0.2 200 145 220];
UB = [2.4 0.6 0.29 250 175 230];
x0 = (LB + UB) / 2;
f = inline('-sum( x(1:3) .* x(4:6) )', 'x');
[x, V] = fmincon(f, x0, A, b, [], [], LB, UB);
V = -V
求得结果:
V =
765.8
再问: 你那个代码很好,但是能求出X1-X6分别是什么吗?
再答: 倒数第二行代码求出的x,x(1:3)就是P1-P3,x(4:6)是V1-V3