## 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 (2022). 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