custom fitting to logarithmic fxn

1 visualizzazione (ultimi 30 giorni)
John Crane
John Crane il 24 Giu 2011
I need t fit a curve to some data. The equation is having form: level = A*(1- exp(-b*x))
where 'x' is independent variable. I need to find A and b values. Does any one know how to use lsqcurve fot or maybe something in the custom fitting tool box to accomplish this??
Thank You,

Risposta accettata

bym
bym il 25 Giu 2011
clc;clear;close
data = 2.*(1-exp(-.3.*(1:10)));
data = data + .5.*rand(1,10);
myfun = @(a,x)a(1).*(1-exp(a(2).*x));
plot(data,'bo');hold
a0 = [1.5,-.1];
ahat = lsqcurvefit(myfun,a0,(1:10),data);
plot(myfun(ahat,(1:10)),'g--')
  2 Commenti
John Crane
John Crane il 26 Giu 2011
Thank you, this is great. I was wondering why you started a(2) with a negative number for this case? I ask because the independent axis for me will be time(t) and I would like to get a parameter(maybe calle beta) that would give a measurement of the growth of the curve to reach it's maximum? Or plateau?
Thanks
bym
bym il 26 Giu 2011
I set a(2) to negative because that was the form of your equation. If you set the starting point to a positive number in my example, you don't get a very satisfactory result. a(2) or b using your nomenclature is the parameter you are looking for, it is called the rate parameter http://en.wikipedia.org/wiki/Exponential_distribution

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Linear and Nonlinear Regression in Help Center e File Exchange

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by