2014-12-06 257 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