Effacer les filtres
Effacer les filtres

How to calculae R^2 in linear regrresion ?

1 vue (au cours des 30 derniers jours)
Tomer Segev
Tomer Segev le 11 Oct 2020
Commenté : Tomer Segev le 15 Oct 2020
s= [0,5*10^-2,1*10^-1,1.5*10^-1,2*10^-1,2.5*10^-1,3*10^-1,3.5*10^-1,4*10^-1,4.5*10^-1,5*10^-1,5.5*10^-1,6*10^-1,6.5*10^-1,7*10^-1,7.5*10^-1,8*10^-1,8.5*10^-1,9*10^-1,9.5*10^-1,9.9*10^-1,9.99*10^-1,1,1,1,1,1];
RD= [3.74*10^-1, 3.8*10^-1,3.87*10^-1,3.94*10^-1,4.02*10^-1,4.11*10^-1,4.2*10^-1,4.29*10^-1,4.4*10^-1,4.51*10^-1,4.64*10^-1,4.78*10^-1,4.94*10^-1,5.12*10^-1,5.33*10^-1,5.57*10^-1,5.86*10^-1,6.23*10^-1,6.72*10^-1,7.46*10^-1,8.71*10^-1,9.56*10^-1,9.68*10^-1,9.72*10^-1,9.75*10^-1,9.8*10^-1,9.86*10^-1];
Z1= 1+((1-(s.^2)).^(1/3)).*(((1+s).^(1/3))+(1-s).^(1/3));
Z2= sqrt(3*(s.^2)+(Z1.^2));
Ri= 3+Z2-sqrt((3-Z1).*(3+Z1+2.*Z2));R= 3+Z2+(sqrt((3-Z1).*(3+Z1+2.*Z2)));
Wi= (s+((Ri).^(3/2))).^-1;
WR= (s+((R).^(3/2))).^-1;
Rlr= 2*(1+cos((2/3)*acos(-s)));
Wlr= (s+((Rlr).^2)).^-1;
B=Wi./RD;
Y=RD;
Y=B.*Wi;
scatter(Wi,Y);
hold on
plot(Wi,Y);
xlabel('Wi'),ylabel('RD');
hold off
% if i calculate r^2 I get a matrix 2x2, and it doesn't fit because if I want to plot it I can't because I have vectors of 1x27. how to calculate it and get a single value ?
% I also get a nonlinear line.. there is a break. can any one tell me why ?

Réponses (1)

Durganshu
Durganshu le 12 Oct 2020
In order to use the pre-defined library for calculating R-squared value, you'll have to first obtain a linear regression fit for your data. You can use fitlm function for it.You must store value returned by fitlm in a variable.
For example, alpha = fitlm (x,y)
Using alpha.Rsquared.Ordinary and alpha.Rsquared.Adjusted will give you the R^2 values.

Catégories

En savoir plus sur Linear and Nonlinear Regression dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by