问个MATLAB的编程问题,急!

来源:百度知道 编辑:UC知道 时间:2024/05/12 10:19:45
目标函数是:MIN 18X1^2+6X1+13+22X2^2+34X2
约束条件是: 1≥X1≥9
2≥X2≥10
请问MATLAB如何编程啊

是不是约束条件给错了?
1≥X1≥9
2≥X2≥10
可能吗?有大于9小于1的数吗?
我是按照
1≤X1≤9
2≤X2≤10
计算的。

function zfmin
clear;clc;
X0=[1;1]
A=[];B=[];Aeq=[];Beq=[];
LB=[1;2];UB=[9;10];
[X,FVAL,EXITFLAG]=FMINCON(@FUN,X0,A,B,Aeq,Beq,LB,UB)

function yhat=FUN(X)
yhat=18*X(1)^2+6*X(1)+13+22*X(2)^2+34*X(2)

结果:
X =
1
2

FVAL =
193

EXITFLAG =
1

FUN=inline('18*x(1)^2+6*x(1)+13+22*x(2)^2+34*x(2)')
X0=[1;1];A=[];B=[];Aeq=[];Beq=[];LB=[1;2];UB=[9;10];
[X,FVAL,EXITFLAG]=FMINCON(FUN,X0,A,B,Aeq,Beq,LB,UB)