2017-07-21 58 views
-1

我有一個wav信號,我讀取緩衝區s中的樣本。我想在 新緩衝區x中保存位於10位,20,30..110位置的樣本。 我該怎麼做?我必須寫一個for循環,但我怎麼寫contator?Matlab:迭代循環

回答

1

不確定緩衝區是什麼意思,但以下是如何從數組中獲取該信息的方法。鑑於s = 1:107,你可以通過發出命令獲取開始10位置的元素:

b = s(10:10:end); 

現在,b等於10 20 30 40 50 60 70 80 90 100

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的角度來看,其中矢量化首選的理想解決方案。