从数组中按特定顺序获取固定数量的数据

Getting a fixed amount of data in a certain order from an array

我有 1100 个不同大小的数组。有些数组大小是 44,有些是 26。我的最小数组大小是 19。所以我想让它们都具有相同的大小。我将从每个数组中获取 19 个数据。而且我必须按特定顺序获取它们。例如,当我有一个 38 大小的数组时,这很容易。由于38/19 = 2,我可以按2的步长定期获取数据。但是当数组大小为44或33时我应该如何进行。

正如@beaker 已经建议的那样,我建议通过舍入来选择条目,以便在数字均分时实现您提到的行为,您可以使用此

function ind = sample(cnt, len)
ind = linspace(1, len+1, cnt+1);
ind = round(ind(1:end-1));
end

这里 sample returns 然后可以使用索引从该数组中进行采样,cnt 是您想要的样本数量,len 是长度您要从中采样的数组。