如何使用单个语句(例如 for 循环或条件语句)通过整数因子 M 对序列 x 进行下采样

How to downsample a sequence x by an integer factor M with a single statement such as for loop or conditional statements

我已经学会了在 Matlab 中使用 downsample() 函数。但是,我想知道它是否可以使用基本的 for 循环或 if 语句来实现。谁能帮我? P.S下面是我整理的代码,我想知道是否有不同的方法来做。

for i=1:M:length(x)
y=[y x(i)];
end
end

`

如果 M 是整数标量值,而 x 是向量,则 x(1:M:end) 取每个 M 元素。

x = 1:14;
M = 4;
x(1:M:end)
ans =

     1     5     9    13

您也可以从不同的值开始:x(3:M:end)