matlab高手进~~急!!

来源:百度知道 编辑:UC知道 时间:2024/06/04 03:59:09
谁能帮忙把下边这个条件编成MATLAB语言~~~~谢谢了~~还有追加~~
条件:
a<6500
b<5000
c<4000
d<3000
0.0012a+0.0015b+0.003c+0.0008d < 3×9.084
a+b+c+d < 8000
0.003 < 3(0.0015b+0.0008d)
输出图形:
y=1.7a+2.25b+4.5c+1.12d
好长时间没用MATLAB了~~~~谁帮忙编下了~~~谢谢了~~~~~
0.003 < 3(0.0015b+0.0008d) 那个应该为:
0.003c < 3(0.0015b+0.0008d)
还有 a,b,c,d应该为正整数~~
不好意思哈~~~~

【2】修改了条件之后:结论是a=0,d=0,b=[0,4000],c=[0,4000]

function hhh
x0=[100;100;100;100];
A=[0.0012 0.0015 0.003 0.008;
1 1 1 1;
0 -0.0015 0.001 -0.0008]
B=[3*9.084 8000 0]'
LB=[0 0 0 0]
UB=[6500 5000 4000 3000]
[x,fmin]=fmincon(@myfun1,x0,A,B,[],[],LB,UB) ;
[xx,fmax]=fmincon(@myfun2,x0,A,B,[],[],LB,UB);
x1=sym('[a,b,c,d]');
abcd1=[x1;x'], fmin=fmin
abcd2=[x1;xx'], fmax=-fmax

ezmesh('2.25*b+4.5*c',[0,4000,0,4000]);

function y=myfun1(x)
y=1.7*x(1)+2.25*x(2)+4.5*x(3)+1.12*x(4);
function y=myfun2(x)
y=-1.7*x(1)-2.25*x(2)-4.5*x(3)-1.12*x(4);

运行结果:
abcd1 =
[ a, b, c, d]
[ 0, 0, 0, 0]

fmin = 0

abcd2 =
[ a, b, c, d]
[ 2^(-97), 4000, 4000, 0]

fmax = 27000

【1】这是原来的
整数还没有整理好,暂时提交一个非整数的吧。

function hhh
x0=[100;100;100;