我剛剛從 MATLAB 切換到 python,我需要幫助將一段 MATLAB 代碼翻譯成 python。
我有一個1000 x 4矩陣,其中的值m'th column代表一個信號。
為簡單起見,我將尺寸更改為5 x 4.
讓我們在價值觀m'th columnBE [1,2,3,4,5]。
我想delay通過x樣本來解決這個問題,即如果x=2延遲版本將是[0,0,1,2,3].
它本質上是添加x zeros到前面并x values從后面移除。
所以輸出是一個5x1 column vector.
MATLAB 代碼是:
[zeros(2,1),signal(1:(end-2),m)];
我寫的python代碼是:
[np.zeros((2,1)),signal[(length_of_signal-1)-2:,m]]
這似乎不起作用,我也無法弄清楚它有什么問題。請幫忙。
uj5u.com熱心網友回復:
IIUC,嘗試vstack:
np.random.seed(100)
x = 2
m = 3
a = np.random.randint(1, 5, (5,4))
>>> np.vstack((np.zeros((x, 1)), a[:,3][:len(a)-x][np.newaxis].T))
array([[0.],
[0.],
[4.],
[3.],
[2.]])
請注意,您需要 ,np.newaxis因為一維陣列的轉置仍然是一維陣列(不像在 MATLAB 中,默認陣列是二維的)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/346682.html
