How to calculae R^2 in linear regrresion ?

3 visualizaciones (últimos 30 días)
Tomer Segev
Tomer Segev el 11 de Oct. de 2020
Comentada: Tomer Segev el 15 de Oct. de 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 ?

Respuestas (1)

Durganshu
Durganshu el 12 de Oct. de 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.

Categorías

Más información sobre Linear and Nonlinear Regression en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by