Create a single variable to store multiple correlation coefficients
5 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Rivers Cuomo am 30 Mär. 2023
Beantwortet: John D'Errico am 30 Mär. 2023
I have a 300x7 matrix (A) and a 1x300 row vector (B). How do I calculate the CC for each of the 7 columns in A against the single row in B and store them in a single variable?
John D'Errico am 30 Mär. 2023
A = rand(300,7);
B = rand(1,300);
C = corrcoef([A,B']);
C = C(8,1:7)
The correlation coefficiens of each column of A, against B are given in C; Admittedly, if the array A had many columns, then the above is wasteful in terms of CPU cycles. So I could also have done this:
C2 = (B-mean(B))/norm(B-mean(B))*normalize(A - mean(A),1,'norm')
As you can see, the results are the same.
Luca Ferro am 30 Mär. 2023
Bearbeitet: Luca Ferro am 30 Mär. 2023
this would do the trick and store the correlation values in a 300x7 matrix
The order of the matrix follows the order of A, meaning that CC(1,1) is the correlation of A(1,1) and B(1), and so on
Find more on Correlation and Convolution in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!