在MATLAB中构造矩阵的方法

时间:2012-07-19 01:11:38

标签: matlab matrix wav

我使用函数“wavread()”将.wav文件加载到内存中,并将信号存储在列向量y中,然后得到一个行向量yRow(= y')。

然后我定义了一个矩阵myframe = zeros(frameNum,frameLen);

我想要做的是用yRow的项目填充myframe:

index=1;
myframe(1,:)=yRow(index:index+frameLen-1)

for i=2:frameNum-1
   myframe(i,:)=yRow(index*frameStep:index*frameStep+frameLen-1)
   index=index+1
end

myframe(frameNum,1:sigLen-frameNum*frameStep+1)=yRow(frameNum*frameStep:sigLen)

但填写“myframe”需要很长时间,我认为一定有问题,请帮我找出问题。感谢。

2 个答案:

答案 0 :(得分:0)

在matlab中使用 reshape 函数:

myframe=reshape(y,frameNum,frameLen);

答案 1 :(得分:0)

在每个句子的末尾添加分号可以停止在命令窗口中输出信息。程序可以快速在后端运行。 所以,这是“;”的问题。