Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
matlab中的零位矩阵_Matlab_Matrix_Zero Pad - Fatal编程技术网

matlab中的零位矩阵

matlab中的零位矩阵,matlab,matrix,zero-pad,Matlab,Matrix,Zero Pad,我有一个52989x2的信号y。我想做的是零填充它,直到我得到信号y_mp3 66379 x 2。 下面是我的代码示例: P = 13750 y= [zeros(1,P),w]; 我经常收到这样的错误:被连接的矩阵的维数不一致。 我试图切换1和P或2参数,但仍然没有效果。 有人能澄清我的错误吗 编辑: 我尝试了以下建议,但仍然是一样的: P = length(y)-length(y_mp3); y_mp3_p = y_mp3; padsize = P / 2; padarray(y_mp3_p

我有一个52989x2的信号y。我想做的是零填充它,直到我得到信号y_mp3 66379 x 2。 下面是我的代码示例:

P = 13750
y= [zeros(1,P),w];
我经常收到这样的错误:被连接的矩阵的维数不一致。 我试图切换1和P或2参数,但仍然没有效果。 有人能澄清我的错误吗

编辑: 我尝试了以下建议,但仍然是一样的:

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

提前谢谢大家

您可以使用MATLAB
padarray()
函数。以下代码可能有效:

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


多亏了梅米特,我终于找到了它! 应该是:

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

padarray
是解决方案,+1.Btw,使用size()函数而不是lenght(),因为length()函数可能会导致矩阵出现一些问题。代码中的命名有点混乱。我已经一行一行地修改了你的代码:Line1->P=size(y\u mp3,1)-size(y,1);Line2->padsize=P/2;Line3->y_p=padarray(y,[padsize 0]);我颠倒了第一行,否则P是负数。现在看起来我是零填充的,但是太多了:)我得到的是80489x2而不是66739x2。你确定上面的代码吗。你们问过zeropad,但这段代码是否接受y信号矩阵的对称性?无论如何,如果你这么说,我很高兴能工作。。
P = size(y,1) - size(y_mp3,1);
padsize = P/2 ;
y_p = padarray(y_mp3, [padsize 0],'sym');