How to remove the data-type error in lsqcurvefit ?

Hello,
I am using MATLAB version R2006b.
I have a doubt in the optimization function "LSQCURVEFIT".
I have written the argument in command window as:
S = lsqcurvefit(@optim, kro, Cdata, ydata)
where "S" is a optim function input argument variable as:
function F = optim(S,Cdata);
Please note that both Cdata and ydata that I am supplying are double type arrays.
When I am running the lsqcurvefit command in command window the error that is coming is:
**LSQCURVEFIT cannot continue because user supplied objective function failed with the following error: Undefined function or method 'S' for input arguments of type 'double'.
Error in ==> lsqcurvefit at 182 [x,Resnorm,FVAL,EXITFLAG,OUTPUT,LAMBDA,JACOB] = ...**
Please help how should I resolve this issue ?

 Réponse acceptée

Laura Proctor
Laura Proctor le 24 Déc 2012

0 votes

It looks like the issue might be in the optim function in the use of the input variable S. Can you make a simple call to optim without receiving the error?

1 commentaire

Suraj
Suraj le 24 Déc 2012
Hey, Thanks a lot.
S is a input variable to the optim function. The value of S will be the output of lsqcurvefit.
Now, I just want to know how should I simply call the optim.m function ?
There is another input to the function optim.m which is Cdata.
In the command window, I am supplying the value of Cdata.
And then I am using "run optim.m"
I don't why it is showing "Input argument Cdata is undefined"
Help please.

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by