3 views (last 30 days)

Hello,

I know that it is possible to find fit parameters using polyfit command.

F.e., linearCoefficients = polyfit(x, y, 1)

Is it possible to extract also R^2 value from linear fit between 2 vectors ?

Thank you !

Star Strider
on 14 Jan 2020

It is, however polyfit wil not do it for you.

Try this:

x = 1:10; % Create ‘x’

y = randn(size(x)) + 0.2*x; % Create ‘y’

linearCoefficients = polyfit(x, y, 1); % Coefficients

yfit = polyval(linearCoefficients, x); % Estimated Regression Line

SStot = sum((y-mean(y)).^2); % Total Sum-Of-Squares

SSres = sum((y-yfit).^2); % Residual Sum-Of-Squares

Rsq = 1-SSres/SStot; % R^2

Star Strider
on 14 Jan 2020

My pleasure.

Neither polyfit nor polyval return the value.

The polyfit function optionally returns a covariance matrix (in the ‘S’ output in this example) that can be used to calculate the confidence intervals for the parameters and the regression, although it does not calculate them directly. The polyval function can use these to return a ‘delta’ output that is similar to the confidence intervals on the regression, although not exactly.

Star Strider
on 14 Jan 2020

My pleasure!

If my Answer helped you solve your problem, please Accept it!

Sign in to comment.

Sign in to answer this question.

Opportunities for recent engineering grads.

Apply Today
## 0 Comments

Sign in to comment.