从数组中按特定顺序获取固定数量的数据
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
是长度您要从中采样的数组。
我有 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
是长度您要从中采样的数组。