MATLAB: Can I pass fitobject as a variable to a function

curve fittingMATLABoptimization

I have curve fit my data using the fit command as given below
[cfit,gof,output] = fit(x,y,fitType)
Now my fitobject is in cfit.
Can I pass this fit object (cfit) as a variable to a function for using the lsqnonlin optimization function
X=___;
Y=___;
[cfit,gof,output] = fit(x,y,fitType)
P0=[ ];%Initial estimation
a=__;%variable

b=__;%variable
lb=[_,...,_];%Lower bound
ub=[_,...,_];%Upper bound
[Widths,resnorm,res,eflag,output1] = lsqnonlin(@(P) function(P,a,b,cfit), P0, lb, ub,options);
%%Function definition
[ ]=function(r,a,b,cfit)
{
fit_result=cfit(r); %for finding the values using fitobject
}
end
Please suggest me know if there is any possiblity for doing this

Best Answer

Hi,
It is possible to pass cfit object directly to lsqnonlin function.
[Widths,resnorm,res,eflag,output1] = lsqnonlin(cfit, P0, lb, ub,options);