2014-12-06 288 views
0

我有一個52989 x 2值的信號y。我想要做的就是零填充它,直到我得到這樣的信號y_mp3 66379 X 2. 這裏我的代碼示例:Zeropad在matlab中的矩陣

P = 13750 
y= [zeros(1,P),w]; 

我不斷收到錯誤消息:正在連接起來矩陣的尺寸並不一致。 我試圖切換1和P或2的參數,但stil不好。 有人可以澄清我的錯誤嗎?

編輯: 我嘗試下面的建議,但仍然是相同的:事先大家

P = length(y)-length(y_mp3); 
y_mp3_p = y_mp3; 
padsize = P/2; 
padarray(y_mp3_p, [padsize 0]); 

謝謝!

回答

2

您可以使用MATLAB padarray()函數。下面的代碼可能工作:

padsize = p/2; 
padarray(w, [padsize 0]); 

,或者

p = 13750; 
padarray(w, [p 0],'pre'); 
+0

'padarray'是解決方案,+1。 – Rashid 2014-12-06 17:56:44

+0

@Kamtal,感謝編輯..(: – mehmet 2014-12-06 18:00:35

+0

我剛剛嘗試Kamtal和穆罕默德,但仍然沒有變化 – user3488736 2014-12-06 18:10:58

0

感謝穆罕默德我終於找到了! 它應該是:

P = size(y,1) - size(y_mp3,1); 
padsize = P/2 ; 
y_p = padarray(y_mp3, [padsize 0],'sym'); 
+0

您確定該代碼以上。你問了zeropad,但是這個代碼是否採用y信號矩陣的對稱?無論如何,如果你這麼說,我很高興工作.. – mehmet 2014-12-06 19:37:13