我有一个wav信号,我在缓冲区s中读取样本。我想保存一个 新缓冲区x位于10位置,20,30..110位置的样本。 我怎样才能做到这一点?我必须编写一个for循环但是如何编写contator?
答案 0 :(得分:1)
不确定缓冲区是什么意思,但是这里是如何从数组中获取该信息的。给定s = 1:107
,您可以通过发出命令来获取从位置10
开始的元素:
b = s(10:10:end);
现在,b
等于10 20 30 40 50 60 70 80 90 100
答案 1 :(得分:0)
我想在新的缓冲区x中保存位于10位置,20,30..110位置的样本。我怎么能这样做?
x = s(10:10:110);
这也可行:
x = s(10*(1:11));
Houstanb的解决方案最好是你想要缓冲区中的每10个样本,而不是你所说的最多110个样本。
我必须编写一个for循环但是如何编写contator?
如果你 必须 写一个for循环,那么你可以试试这个:
x = nan(1,11);
for k=1:11
x(k) = s(k*10);
end
但从MATLAB的角度来看,这不是一个很好的解决方案,其中首选矢量化。