1

以下のコードを実行しようとしていますが、行列が 10,000 列を超えると Matlab がフリーズします。これを修正するにはどうすればよいですか?

X = load('iris.mtx');
[n,d] = size(X);
%X=14000x128 double
%form RBF over the data:
nms = sum(X'.^2); %nms becomes 14000x1
%here is where the crash begins, for a smaller data size, like 10000x128, this part wont freeze
K = exp(-nms'*ones(1,n) -ones(n,1)*nms + 2*X*X');

これは私が受け入れなければならない制限ですか?現在使用しているものよりもはるかに大きいマトリックスにこれを使用できるようにする必要があります。

4

1 に答える 1

0

Matlab行列のサイズの制限について以前に尋ねられた質問を参照します:MATLABの行列サイズの制限

唯一の制限は、ハードウェアの制限です。

あなたが何をする必要があるかについてもっと知らないので、私はこれ以上読むことを提案することはできません。ただし、行列のサイズがメモリよりも大きくなると、この質問は操作の最適化の問題に対処します。MATLABでの非常に大きな行列の効率的な乗算

于 2012-07-30T21:01:52.497 に答える