custom fitting to logarithmic fxn

5 ビュー (過去 30 日間)
John Crane
John Crane 2011 年 6 月 24 日
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,

採用された回答

bym
bym 2011 年 6 月 25 日
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 件のコメント
John Crane
John Crane 2011 年 6 月 26 日
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 2011 年 6 月 26 日
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

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeGet Started with Curve Fitting Toolbox についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by