fmincon function weird error
Información
La pregunta está cerrada. Vuélvala a abrir para editarla o responderla.
Mostrar comentarios más antiguos
Hello,
I am wondering why am I getting this weird error:
Error using myfun
Too many input arguments.
Error in fmincon (line 631)
initVals.f = feval(funfcn{3},X,varargin{:});
Although my function myfun has only one argument that is x, but looks like the implementation of fmincon calls it with 3!
Help please
Respuestas (1)
Matt J
el 27 de Abr. de 2013
0 votos
The varargin{:} that you are passing to FMINCON are being passed to myfun and mycon as extra arguments. However, the input signature of these functions is written only to accept a single input argument x.
If the extra varargin parameters are not needed by your objective/constraints, then remove them. If they are needed, then passing them through varargin is an outdated method. See here for the newer techniques
2 comentarios
seldeeno
el 27 de Abr. de 2013
I'm talking about FMINCON. If you don't want FMINCON to send extra parameters to myfun, then don't call FMINCON with those extra parameters,
[temppop,tempval,exitflag,output] = fmincon(@myfun,xx,[],[],[],[],...
XRmin(1,:),XRmax(1,:),@mycon,opts); %omit varargin{:}
La pregunta está cerrada.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!