n 要素 (n > 1) のセル配列が与えられ、各要素が x=k 行数と y 列 (セル要素全体で可変) の 2 次元配列である場合、各セルをダウンサンプリングする最良の方法は何でしょうか? 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よりも長いかどうかを確認し、サンプルをランダムに削除できると思います。しかし、おそらくより良い解決策があります..
ありがとう!