<1 x 29> セル配列があります。各セル内には <310x2000 double> マトリックスがあります。メモリの問題のため、これらの行列を行 4 から行 309 で終わる小さな「チャンク」(それぞれ約 5 x 2000 としましょう) に分割したいと思います。
したがって、私のデータは、セル番号を参照するdata{i}(j,:)
場所の形式で保存され、目的の行を参照します。i
j
各列が各「チャンク」に必要な行の値を提供するマトリックス(Aと呼びましょう)を作成しました
4 10 15 20 25
5 11 16 21 26
6 12 17 22 27 ...
7 13 18 23 28
8 14 19 24 29
たとえば、行列 1 には行 4、5、6、7、および 8 が含まれます。
nCells は私が持っているセルの数 (29) を指し、nCol は行列 A の列の数を指します。したがって、
for i = 1:nCells
for k = 1:nCol
for j = A(:,k)
B{i,k}(j,:) = [data{i}(j,:)];
end
end
end
残念ながら、これにより次のエラーが発生します。
??? ==> horzcat CAT 引数の使用時のエラー 次元が一貫していません。
メモリの問題が発生したため、誰かが問題の内容を教えてくれたり、/特にこれを行うためのより良い方法がある場合は、本当に感謝しています:
??? メモリ不足です。オプションに HELP MEMORY と入力します。