查看单个帖子
旧 2019-12-07, 23:17   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
默认 如何将很大的MATLAB稀疏矩阵保存到文本文件?

我在MATLAB(版本7)中有一个30000x14000的稀疏矩阵,需要在另一个程序中使用。调用save不会将其写为ASCII(不支持)。在这个怪物上调用full()导致Out of Memory不足错误。
如何导出?

回答:
我在MATLAB中使用Java将其保存为文本。 MATLAB代码:

pw=java.io.PrintWriter(java.io.FileWriter('c:\\retail.txt')); line=num2str(0:size(data,2)-1); pw.println(line); for index=1:length(data) disp(index); line=num2str(full(data(index,:))); pw.println(line); end pw.flush(); pw.close(); 这里的data是一个非常大的稀疏矩阵。
poster 当前离线   回复时引用此帖