how do i calculate the Correlation coefficients

I have dataset that contains the acceleration data of three axes (x, y, and z) , this an example of my data
X Y Z
%1.0195313 0.16088867 -0.26391602
%1.0976563 0.17456055 -0.33447266
%1.2556152 0.24926758 -0.3774414
%1.2314453 0.517334 -0.25732422
%1.0212402 0.5761719 -0.09277344
%1.0727539 0.51000977 0.007324219
%1.1694336 0.32885742 -0.017822266
%1.1247559 0.22924805 -0.10595703
%1.0339355 0.27905273 -0.13623047
%0.8273926 0.24560547 -0.080566406
%0.75097656 0.25390625 -0.018310547
%0.67626953 0.3046875 0.051757813
%0.7282715 0.33764648 0.08911133
%0.8227539 0.34545898 0.08325195
%0.87939453 0.3413086 0.08300781
%1.0527344 0.34326172 0.106933594
%1.1125488 0.32128906 0.10058594
%1.1477051 0.26416016 0.06347656
%1.2807617 0.2680664 0.015136719
%1.2800293 0.2668457 -0.006347656
I have calculated the Correlation coefficients of two axes (x and y) using the corrcoef function as illustrated bellow
R = corrcoef(X_Segments{1},Y_Segments{1})
X_Segments contains data of the first column (X Data) and Y_Segments contains data of the second column (Y Data). However, the output was strange
R =
1.0000 0.3424
0.3424 1.0000
I want to know which value represents the Correlation coefficients between X and Y and is there any solution to get the Correlation coefficients between two axes directly as one value (single output) not as a matrix ?

 Akzeptierte Antwort

neamah al-naffakh
neamah al-naffakh am 13 Aug. 2016
Bearbeitet: neamah al-naffakh am 13 Aug. 2016

0 Stimmen

Hi guys, thanks for your answer howeover, the correct function is corr
CorrcoeffXY{nn,1} = corr(X_Segments{nn},Y_Segments{nn});
and the output will be the Correlation coefficients between X and Y
R = 0.3424

1 Kommentar

Oh, of course. I only tried
corr(rand(5,2))
(which returns a matrix)
and not
corr(rand(5,1),rand(5,1))
(which returns a scalar).
Glad you found something that worked for you.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

the cyclist
the cyclist am 13 Aug. 2016

1 Stimme

The upper-right and lower-left elements are equal, and each one is the correlation you want. The diagonal elements are the trivial correlation of X with itself and Y with itself. Those will always be equal to 1, by construction.
I don't think there is a simple way to get just the single number without first getting the matrix.

1 Kommentar

So, (just to be super explicit)
correlationBetweenXandY = R(1,2);
Is that what you want neamah?

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

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

Start Hunting!

Translated by