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 回答