我正在尝试运行下面的代码,但是当我的矩阵超过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');
这是我必须接受的限制吗?我需要能够将它用于比我目前使用的矩阵大得多的矩阵。
答案 0 :(得分:0)
我会参考之前提到的关于Matlab矩阵大小限制的问题:Matrix size limitation in MATLAB。
唯一的限制是硬件的限制。
不知道你需要做什么更多我不能建议进一步阅读。但是,由于矩阵的大小要大于此内存的问题,因此可以解决优化操作的问题。 Efficient multiplication of very large matrices in MATLAB