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

108 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 !

Accepted Answer

Star Strider
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
  4 Comments

Sign in to comment.

More Answers (1)

Lola Davidson
Lola Davidson on 25 Nov 2025 at 21:28
As of R2024a, polyfit will actually do this for you.
x = 1:10;
y = randn(size(x)) + 0.2*x;
[linearCoefficients,structOutput] = polyfit(x, y, 1);
Rsq = structOutput.rsquared;

Categories

Find more on Linear and Nonlinear Regression in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!