Error : "Too many input arguments"
Show older comments
Hello, wi type this code in matlab :
f = @(x)mseFunction(x(1),x(2),y,yS);
H=feval(f,xc(1),xc(2));
I get the following error :
Error using @(x)mseFunction(x(1),x(2),y,yS)
Too many input arguments.
Error in projbfgs (line 65)
H=feval(f,xc(1),xc(2));
I do not know where i made the mistake. Thanks!
Accepted Answer
More Answers (1)
Hi,
yes, your defined f as a function with only 1 inputargument
f = @(x)mseFunction(x(1),x(2),y,yS);
but then you want it to have 2:
H=feval(f,-->xc(1),xc(2)<--);
so your x has to be a vector with length 2...
try
H=feval(f,xc);
or set f to
f = @(x1,x2)mseFunction(x1,x2,y,yS);
and
H=feval(f,xc(1),xc(2));
2 Comments
Star Strider
on 3 Jan 2017
That won’t work here (see the previous Question Calculate the optimum of a function). The ‘mseFunction’ is an objective function for an optimisation routine, and takes a vector of parameters as an argument.
amine&&
on 3 Jan 2017
Categories
Find more on Startup and Shutdown in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!