lsqcurvefit: not enough input arguments
10 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Simon Fridolf
il 13 Nov 2020
Risposto: Ameer Hamza
il 13 Nov 2020
I am trying to fit a function to my data using lsqcurvefit. If i omit comments, the function .m file where x are coefficients and xdata is my independent variable is:
function I = fLCST(x,xdata)
I = x(1) ./ (1 + exp(-x(2).*(x(3)-xdata))) + x(4);
end
I can plot the output of this function if i feed it with my data and some dummy coefficients in the x vector. If I try to fit it using lsqcurvefit:
fit=lsqcurvefit(fLCST,[1 1 36 1],xdata,ydata,[],[],options)
where "options" only change the algorithm to levenberg-marquardt, and xdata,ydata are 9x1 numeric vectors I get the error:
Not enough input arguments.
Error in fLCST (line 18)
I = x(1) ./ (1 + exp(-x(2).*(x(3)-xdata))) + x(4);
I'm supplying both 1x4 coefficients and xdata so how can it need more input parameters?
0 Commenti
Risposta accettata
Ameer Hamza
il 13 Nov 2020
You need to pass function handle
fit=lsqcurvefit(@fLCST,[1 1 36 1],xdata,ydata,[],[],options)
%^ put @ here
0 Commenti
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Nonlinear Optimization in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!