How to remove the data-type error in lsqcurvefit ?

2 次查看(过去 30 天)
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 ?

采纳的回答

Laura Proctor
Laura Proctor 2012-12-24
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 个评论
Suraj
Suraj 2012-12-24
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.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Nonlinear Least Squares (Curve Fitting) 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by