Logarithmic trendline equation of data
8 ビュー (過去 30 日間)
古いコメントを表示
Hello eveyone,
I try to get a trendline equation of data. This equation must be like "e^x". How can i do that. are there any tools?
Thanks
Cem
2 件のコメント
Sam Chak
2024 年 7 月 31 日
Yes, single input, single output, you can use the 'fit()' command from Curve Fitting Toolbox to achieve this.
But is an exponential function, thus it does not exhibit a logarithmic trend.
採用された回答
David Goodmanson
2024 年 8 月 1 日
編集済み: David Goodmanson
2024 年 8 月 1 日
Hello Cem,
As has been mentioned you can use the curve fitting toolbox for this job, but if you don't have it you can try a simple linear fit. If
y = b*e^(ax), then log(y) = log(b) + ax
and the linear fit is of log(y) vs. x. Here is a quick example. Too be somewhat realistic, to the exponential y = e^(ax) is added a nonzero baseline (which is pretty common), a function that is proportonal to 20x near the origin, and some noise. The curve fitting toolbox will do better, but this fit is better than I thought it would be.
Whether the fit is great or not, I think a linear fit to log(y) is always worth doing, just to see if the idea of fitting an exponential to the given data is in the ballpark in the first place.
x = 0:.01:12;
a = .3;
b = 6;
r = .3*randn(size(x));
r(r<-b) = 0;
% exponential with some added stuff
y = b/3 + 20*x./(1+x) + b*exp(a*x) + b*r;
logy = log(y);
p = polyfit(x,logy,1)
ylogfit = x*p(1)+p(2);
figure(1)
grid on
plot(x,logy,x,ylogfit)
figure(2)
grid on
plot(x,y,x,exp(ylogfit))
0 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Linear and Nonlinear Regression についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!