matlab 优化 fmincon函数 at least four input arguments. 请知道的同学帮帮忙。

zy2-3fun.m

function f=zy2-3fun(x)
f=x1^2*x2;

zy12-3con.m
function [c,ceq]=zy12-3con(x)
c(1)=10*x2-x1^3;
c(2)=6.25-x1^3;
c(3)=0.34x2^3-x1^4;
ceq=[];

A=[];b=[];Aeq=[];beq=[];

lb=[1.7,5];
ub=[10,1];
x0=[3.684,5.0];
options=optimset('Display','iter','LargeScale','off');
[x,fval,exitflag,output,lambad]=fmincon
(@zy2-3fun,x0,A,b,Aeq,beq,lb,up,@zy2-3con,options)

??? Error using ==> fmincon at 208
FMINCON requires at least four input arguments.
希望能尽快得到回复 把ub=[10,1];改为ub=【10,10】;又出问题了, “丛叶SW” 好心人解释一下 。还有本人刚接触这个软件,具体什么语法错了?

第1个回答  2010-10-10
有些语法上的小地方修改下,如下:(可以运行下)
————————————————————————
%zy2-3fun.m
function f=zy2_3fun(x)
f=x(1)^2*x(2);

%zy12-3con.m
function [c,ceq]=zy12_3con(x)
c(1)=10*x2-x(1)^3;
c(2)=6.25-x(1)^3;
c(3)=0.34*x(2)^3-x(1)^4;
ceq=[];

然后command window:

A=[];b=[];Aeq=[];beq=[];
lb=[1.7,5];
ub=[10,1];
x0=[3.684,5.0];
options=optimset('Display','iter','LargeScale','off');
[x,fval,exitflag,output,lambad]=fmincon(@(x) zy2_3fun(x),x0,A,b,Aeq,beq,lb,ub,@(x) zy12_3con(x),options)

运行结果如下:

Exiting due to infeasibility: 1 lower bound exceeds the corresponding upper bound.

x =

3.6840 5.0000

fval =

[]

exitflag =

-2

output =

algorithm: 'medium-scale: SQP, Quasi-Newton, line-search'
iterations: 0
funcCount: 0
stepsize: []
lssteplength: []
constrviolation: []
firstorderopt: []
message: 'Exiting due to infeasibility: 1 lower bound exceeds the corresponding upper bound.'

lambad =

[]
————————————————————————

exitflag=-2 指明程序退出的原因是在约束条件下,没有可行点,所以这题无解本回答被提问者采纳

...fmincon函数 at least four input arguments. 请知道的同学帮帮忙...
options=optimset('Display','iter','LargeScale','off');[x,fval,exitflag,output,lambad]=fmincon(@(x) zy2_3fun(x),x0,A,b,Aeq,beq,lb,ub,@(x) zy12_3con(x),options)运行结果如下:Exiting due to infeasibility: 1 lower bound exceeds the corresponding upper bound.x = 3....

...line 213) FMINCON requires at least four input arguments...
2、目标函数和非线性约束函数的输入参数要一致。这是因为,这两个函数是由fmincon函数调用的其输入输出参数表有固定的格式,不能随意更改。其实,一般情况下最好的做法是,这两个函数只有一个输入参数x,是向量,包含所有待优化参数。其它参数可以通过嵌套函数或匿名函数的方式传递。3、优化问题是基于数值...

求高手指导matlab fmincon函数 Not enough input arguments._百度...
是没有足够的输入参数的提示,没有给出x是什么,解决方法是在“[x,fval,exitflag,output]=fmincon(fun,x0,[],[],[],[],lb,ub,@mycon) ”的fun的前面加个@;还有就是fun函数的第一行的括号应改用英文符输入;输出的结果为 x = 286.7422 267.6533 fval = 4.1273e+003 exitflag = ...

关于matlab最优化中fmincon函数
主函数:[x,fval]=fmincon(@cdz_f,x0,a,b,[],[],lb,ub,@cdz_y,options)辅助函数(非线性约束)function[c,ceq]=cdz_y(x);c = 154.34*x(1)\/(x(1)^4-x(2)^4)-((x(1)-x(2))\/x(1))^(3\/2);ceq=[];

求高手指导matlab fmincon函数 Not enough input arguments._百度...
Not enough input arguments.没有足够的输入参数。问题出在,fmincon()格式不对。fun前少加一个@符号 应为 [x,fval,exitflag,output]=fmincon(@fun,x0,[],[],[],[],lb,ub,@mycon)

使用matlab中fmincon函数遇到了问题!运行后出现的提示如下,请高手解 ...
错误是没有定义函数或者‘mtimes’有关输入的参数类型有问题

matlab中fmincon函数的用法。
fmincon函数在MATLAB中用于求解非线性多元函数最小值,应用十分广泛。使用该函数的关键是定义目标函数,以及在约束条件中有非线性约束时准确定义。具体介绍如下:一、求解问题的标准型为:min F(X)s.t AX <= b AeqX = beq G(x) <= 0 Ceq(X) = 0 VLB <= X <= VUB 其中X为n维变元向量,...

最近在用matlab里的fmincon这个函数,老是出现错误
选择的优化函数有问题。

matlab中的fmincon函数
函数optimest没有定义的原因。

...Error using ==> fun2 Too many output arguments.
提示是说,这个函数feval没有那么多的输出,你确定它有两个输出》?》

相似回答