custom fitting to logarithmic fxn

5 Ansichten (letzte 30 Tage)
John Crane
John Crane am 24 Jun. 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,

Akzeptierte Antwort

bym
bym am 25 Jun. 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 Kommentare
John Crane
John Crane am 26 Jun. 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 am 26 Jun. 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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Get Started with Curve Fitting Toolbox finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by