Hi all,
coefficientsold = polyfit(AAT,QErot1,1)
Ygg=polyval(coefficientsold,AAT)
figure
axis([-10 80 0 15])
plot(AAT,QErot1,'s',AAT,Ygg,'--','MarkerFaceColor',[0 0 0])
By using this code what I obtain is a linear equation that fits my data, but I am not able to obtain the R-square value.
I would be glad if you could tell be how to obtain the r-square value, if it is possible by the use of the regress function, because I am not able to understand the use of this function properly.
Thank you very much
Andoni

 Respuesta aceptada

Star Strider
Star Strider el 1 de Sept. de 2014

1 voto

Use the core MATLAB corrcoef function. It will give you the R values and the significance levels (probabilities) and confidence intervals if you want them.

6 comentarios

Andoni Mendialdua
Andoni Mendialdua el 1 de Sept. de 2014
Thank you Star Strider. I have tried using corrcoef function, but the only results I get are 1. Could you please help me with an example in my case? Thank you, Andoni
Star Strider
Star Strider el 1 de Sept. de 2014
Editada: Star Strider el 1 de Sept. de 2014
Your data may be closely (or exactly) correlated. A value of R = 1 may not be wrong. You would have to post your data (that it seems are AAT and QErot1) to allow us to comment further on whether a high correlation is appropriate. What produced your data? Also, corrcoef and the others could be rounding. If you want greater precision, see if:
format long
[R,P] = corrcoef(AAT,QErot1)
will give you what you want.
Andoni Mendialdua
Andoni Mendialdua el 1 de Sept. de 2014
Thank you very much Star Strider, this is what I obtain now:
R=
1.0000 0.9380
0.9380 1.0000
P=
1.0000 0.0000
0.0000 1.0000
How should I understand these values? Thank you, Andoni
Star Strider
Star Strider el 1 de Sept. de 2014
First, your data are closely, but not exactly, correlated.
With respect to the p-values, quoting the documentation: ‘Each p-value is the probability of getting a correlation as large as the observed value by random chance, when the true correlation is zero.’ (Note that the diagonals of the P matrix should be zero by this criterion.)
Andoni Mendialdua
Andoni Mendialdua el 1 de Sept. de 2014
Thank you, and what about the R matrix? what does 0.938 value mean?
Andoni
Star Strider
Star Strider el 1 de Sept. de 2014
My pleasure!
The 0.938 value is the correlation coefficient for your data. I refer you to the documentation (hyperlink in my original Answer) for a full explanation. (The 1 values on the diagonal of the R matrix are because each variable is perfectly correlated with itself. This is correct, even though the corresponding P values equal to 1 on the diagonal of the P matrix are not correct.)

Iniciar sesión para comentar.

Más respuestas (1)

Kalpesh Patil
Kalpesh Patil el 1 de Sept. de 2014

0 votos

correlation_coeff = corr2(Ygg,AAT);
r_sqr = power(correlation_coeff,2);

4 comentarios

Andoni Mendialdua
Andoni Mendialdua el 1 de Sept. de 2014
Thank you very much for your fast answer. I have tried to apply what you said and the next error appeared: ??? Undefined function or method 'corr2' for input arguments of type 'double'.
Error in ==> ConstantObtaining at 33 correlation_coeff = corr2(Ygg,AAT);
It could be that I do not have the library?
Andoni Mendialdua
Andoni Mendialdua el 1 de Sept. de 2014
Now that I have the library I have tried what you said and the r-square is equal to 1, which has no sense. :(
Iain
Iain el 1 de Sept. de 2014
Why do you think that an R-squared value of 1 is wrong?
Are you actually asking for an RMS?
Andoni Mendialdua
Andoni Mendialdua el 1 de Sept. de 2014
r-square is wrong because with the new equation I obtain, the results are not the same as my initial datas. Thank you,
Andoni

Iniciar sesión para comentar.

Preguntada:

el 1 de Sept. de 2014

Comentada:

el 1 de Sept. de 2014

Community Treasure Hunt

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

Start Hunting!

Translated by