How to get correlation coefficient exponential decay?

3 次查看(过去 30 天)
Hello, I would like to get the correlation coefficient from the exponential decay model. I used the following code:
ft = fittype( 'a*exp(-b*x)+c', 'independent', 'x', 'dependent', 'y' );
opts = fitoptions( 'Method', 'NonlinearLeastSquares' );
opts.Display = 'Off';
and got from the R2 the correlation coefficient
Rsqr=sqrt(gof.rsquare)
but the (r) is positive, is there a form to get the correlation coefficient negative. Obviously my data shows a decreasing exponentail decay.
And I don't use the corrcoef because it suppose to be use with a linear data, but what about exponentail decay?
  3 个评论
Fabian Moreno
Fabian Moreno 2022-4-27
Hello, @Mathieu NOE! Thanks for your answer. I am going to share my figure to show you my result. Also, could you please explain me why I have to multiply the Rsqr value by sigh (b)? I didn't understand.
Mathieu NOE
Mathieu NOE 2022-4-28
hello
you have decaying exponentials here so sign(b) is negative (obviously) which is how I create the negative R
If you had a positive b , then R shoud be positive too
That may sound like a "trick" but there is probably no other matlab way to do it as all fit function returns R squared , which , of course reamins positive in all circumstances.

请先登录,再进行评论。

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Linear and Nonlinear Regression 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by