给定一个包含 n 个元素(n > 1)的元胞数组,每个元素都是一个二维数组,其中 x=k 行数和 y 列(跨元胞元素可变),下采样每个元胞的最佳方法是什么通过随机删除 y-dim 中的样本以匹配所有单元格元素中最短的 y 长度来获取元素?
下面的代码片段是一个错误实现,仅适用于 n=2,但方向正确(我希望如此)。任何帮助将不胜感激,谢谢!
sizeShortest = min(cellfun('size', data, 2));
sizeLongest = max(cellfun('size', data, 2));
idx = randperm(sizeLongest);
data = cellfun(@(x) x(:,idx(1:sizeShortest)), data, 'UniformOutput', false);
我想我可以使用for 循环遍历数据数组的每个单元格,并检查该元素的y长度是否比所有单元格中最短的y长,并随机删除样本。但可能有更好的解决方案..
谢谢!