# R-square: The coefficient of determination

Version 1.4.0.0 (2.11 KB) by
RSQUARE is a simple routine for computing R-square (coefficient of determination).
Updated 14 Feb 2012

Compute coefficient of determination of data fit model and RMSE

[r2 rmse] = rsquare(y,f)
[r2 rmse] = rsquare(y,f,c)

RSQUARE computes the coefficient of determination (R-square) value from
actual data Y and model data F. The code uses a general version of
R-square, based on comparing the variability of the estimation errors
with the variability of the original values. RSQUARE also outputs the
root mean squared error (RMSE) for the user's convenience.

Note: RSQUARE ignores comparisons involving NaN values.

INPUTS
Y : Actual data
F : Model fit

OPTION
C : Constant term in model
R-square may be a questionable measure of fit when no
constant term is included in the model.
[DEFAULT] TRUE : Use traditional R-square computation
FALSE : Uses alternate R-square computation for model
without constant term [R2 = 1 - NORM(Y-F)/NORM(Y)]

OUTPUT
R2 : Coefficient of determination
RMSE : Root mean squared error

EXAMPLE
x = 0:0.1:10;
y = 2.*x + 1 + randn(size(x));
p = polyfit(x,y,1);
f = polyval(p,x);
[r2 rmse] = rsquare(y,f);
figure; plot(x,y,'b-');
hold on; plot(x,f,'r-');
title(strcat(['R2 = ' num2str(r2) '; RMSE = ' num2str(rmse)]))

Jered R Wells
11/17/11
jered [dot] wells [at] duke [dot] edu

v1.2 (02/14/2012)

Thanks to John D'Errico for useful comments and insight which has helped
to improve this code. His code POLYFITN was consulted in the inclusion of
the C-option (REF. File ID: #34765).

### Cite As

Jered Wells (2024). R-square: The coefficient of determination (https://www.mathworks.com/matlabcentral/fileexchange/34492-r-square-the-coefficient-of-determination), MATLAB Central File Exchange. Retrieved .

##### MATLAB Release Compatibility
Created with R2008b
Compatible with any release
##### Platform Compatibility
Windows macOS Linux
##### Categories
Find more on Regression in Help Center and MATLAB Answers

### Community Treasure Hunt

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

Start Hunting!
Version Published Release Notes
1.4.0.0

Included option, warning, and code for models without constant term