Filter löschen
Filter löschen

How to calculae R^2 in linear regrresion ?

1 Ansicht (letzte 30 Tage)
Tomer Segev
Tomer Segev am 11 Okt. 2020
Kommentiert: Tomer Segev am 15 Okt. 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 ?

Antworten (1)

Durganshu
Durganshu am 12 Okt. 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.

Kategorien

Mehr zu Linear and Nonlinear Regression finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by