我有一個關於xcorr
函數的問題。兩個矩陣之間的xcorr
目前此功能可以計算矩陣的自相關性,但無法計算的2點矩陣的互相關:
A=[1,2;3,4];
B=[5,6;7,8];
xcorr(A); %% Possible
xcorr(A,A); %% Not Possible
xcorr(A,B); %% Not Possible
你知道什麼解決辦法要做到這一點,但沒有使用for
循環?
我有一個關於xcorr
函數的問題。兩個矩陣之間的xcorr
目前此功能可以計算矩陣的自相關性,但無法計算的2點矩陣的互相關:
A=[1,2;3,4];
B=[5,6;7,8];
xcorr(A); %% Possible
xcorr(A,A); %% Not Possible
xcorr(A,B); %% Not Possible
你知道什麼解決辦法要做到這一點,但沒有使用for
循環?
xcorr
基本上有兩種語法。
c = xcorr(x, y)
計算兩個標量信號之間的互相關函數(給定爲載體),和
c = xcorr(x)
計算如果x
是矢量的信號的自相關函數,並且自動並且如果它是矩陣,則在所有列x
之間具有互相關函數。如果x
的大小爲n
x p
,則c
的大小爲2*n-1
x p^2
。
當你寫
c = xcorr(x, y);
與兩個矩陣x
和y
,我假設你想在x
與y
所有信號的所有信號之間的互相關函數。 xcorr
無法做到這一點。但是,如果兩個矩陣都有n
行,你可以寫
c = xcorr([x, y]);
得到了在x
或y
所有信號之間的自相關和互相關函數。 c
的大小爲2*n-1
x (p1+p2)^2
,其中p1
和p2
是兩個矩陣中的信號(列)的數量。然後可以重塑和截斷結果:
c = reshape(c, 2*n-1, p1+p2, p1+p2);
c = c(:, 1 : p1, p1+1 : end);
其結果是,其中第一維對應於滯後的三維矩陣,第二枚舉信號x
和第三枚舉y
的信號;其大小爲2*n-1*
x p1
x p2
。
謝謝Donda,那正是我需要的 – Yann
不客氣! –