I'm calculating the correlation coefficient between two vectors, using corr. It returns NaN, and I'm curious to know why that is the case.
c and d are the vectors.
>> [c d]
ans =
1 1
2 1
2 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
2 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1

 Respuesta aceptada

Sean de Wolski
Sean de Wolski el 7 de Jul. de 2011

4 votos

read the:
doc corr
and you'll see it's not what you want. Are you looking for :
doc corrcoef %?

3 comentarios

D
D el 7 de Jul. de 2011
Yes, thank you. But I still get
corrcoef(c,d)
ans =
1 NaN
NaN NaN
This seems to point at something in d as being an issue.
Sean de Wolski
Sean de Wolski el 7 de Jul. de 2011
It's because there's no variance/ standard deviation in the second column and thus in the correlation coefficient calculation when you divide by std or var (however it's implemented) you're in turn dividing zero by zero which yield nan.
D
D el 7 de Jul. de 2011
Thank you. I missed that.

Iniciar sesión para comentar.

Más respuestas (1)

Bio_Ing_Sapienza
Bio_Ing_Sapienza el 24 de Feb. de 2019

1 voto

Maybe you have to ceck for "Inf" components in your array. Sometimes I was searching from Nan even if I had already checked them out. But there are other kind of Matlab numeric representation for results came from division that yields to too large numbers to be represented with floating number. So check also for these ones!

Categorías

Preguntada:

D
D
el 7 de Jul. de 2011

Respondida:

el 24 de Feb. de 2019

Community Treasure Hunt

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

Start Hunting!

Translated by