高分请教MATLAB问题!!

来源:百度知道 编辑:UC知道 时间:2024/06/01 19:11:34
本人MATLAB小白,以下程序是个完整的程序吗,运行不出来,求高手补充
fun1=’-x(1)*x(2)^2*x(3)’;
x0=[0,1,1];
aeq=[2,3,1];beq=[4]; % 仅有线性等式约束.
1b=zeros(3,1);
[x,fval,exitflag]=fmincon(fun1,x0,[],[],aeq,beq,1b,[],[]);
e1=exitflag;x1=x;fv1=fval;
fun2=’2*x(1)^2-4*x(1)*x(2)+4*x(2)^2-6*x(1)-3*x(2)’;
a=[1,1;4,1];b=[3,9]; % 仅有线性不等式约束.
x0=[1,1]1b=zerps(2,1);
[x,fval,exitflag]=fmincon(fun2,x0,a,b,[],[],1b,[]);
e2=exitflag;x2=x;fv2=fval;
fun3=’x(1)^2-x(1)*x(2)+2*x(2)^2-x(1)-x(2);
a[-1,1];b=[-3]; % 有线性不等式约束和线性等式约束.
aeq=[1,1];beq=[4];x0=[1,1];
[x,fval,exitflag]=fmincon(fun3,x0,a,b,aeq,beq,[],[],[]);
e3=exitflag;x3=x;fv3=fval;
e=[e1,e2,e3]
x=[x1,x2,x3]
fv=[fv1,fv2,fv3]
是个求极值问题。五十分悬赏!!!说的详细好的话再追加30分!!!
我改了,可是还是不行会出现??? fun1=’-x(1)*x(2)^2*x(3)’;
|
Error: Missing variable or function.这个东西,能说的更详细一些吗 hu1j2w3同志,运行出来了。谢谢

你看一下以下程序是不是你要的结果:
fun1='-x(1)*x(2)^2*x(3)';
x0=[0,1,1];
aeq=[2,3,1];beq=[4]; % 仅有线性等式约束.
lb=zeros(3,1);
[x,fval,exitflag]=fmincon(fun1,x0,[],[],aeq,beq,lb,[],[]);
e1=exitflag;x1=x;fv1=fval;
fun2='2*x(1)^2-4*x(1)*x(2)+4*x(2)^2-6*x(1)-3*x(2)';
a=[1,1;4,1];b=[3,9]; % 仅有线性不等式约束.
x0=[1,1];lb=zeros(2,1);
[x,fval,exitflag]=fmincon(fun2,x0,a,b,[],[],lb,[]);
e2=exitflag;x2=x;fv2=fval;
fun3='x(1)^2-x(1)*x(2)+2*x(2)^2-x(1)-x(2)';
a=[-1,1];b=[-3]; % 有线性不等式约束和线性等式约束.
aeq=[1,1];beq=[4];x0=[1,1];
[x,fval,exitflag]=fmincon(fun3,x0,a,b,aeq,beq,[],[],[]);
e3=exitflag;x3=x;fv3=fval;
e=[e1,e2,e3]
x=[x1,x2,x3]
fv=[fv1,fv2,fv3]
运行结果如下:
e =

5 1 1

x =

0.5001 0.66661 0.99997 1.95 1.05 3.5 0.5

fv =

-0.22222 -11.025 7

fun1='-x(1)*x(2