将大矩阵写入八度音程文件,因为它不适合内存

时间:2015-12-31 06:29:32

标签: octave

我目前正在编写一个Octave程序,以便在文本正文中找到相似之处。

我有一个20,000 x 50矩阵,我需要找到余弦相似度,它将是20,000 x 20,000矩阵。

我使用octave,但它给了我一个内存堆错误。为了解决这个问题,我想把数据写入文件。

有人会建议处理一个太大而无法一次装入内存的矩阵吗?

for i=1:length(X)-1  
  x=i  
  for a=0:(i-1)  
    dlmwrite('test',0.00000,",",(x-1),a);  
  end  
  for j=i+1:length(X)  
    s = abs(dot(X(i,:),X(j,:))/norm(X(i,:))*norm(X(j,:)));  
    dlmwrite('test',s,",",(i-1),(j-1));  
  end  
end  

0 个答案:

没有答案