【发布时间】:2014-08-25 16:54:58
【问题描述】:
我有一个包含 40,000,000 行的大单元矩阵(字符串变量)。我首先使用 whos('file') 检查大小,它告诉我工作区中矩阵的大小为 4.5GB。然后,我使用 'save('file',-v7.3) 将其导出到 .mat 文件。花了这么长时间,10分钟后还在保存,所以我检查了目标目录中的文件,文件大小已经12GB并且还在增加。谁能告诉我发生了什么?有没有其他方法可以保存这个矩阵?它不需要是 .mat 文件,可以是 .txt 或其他文件。
矩阵的一小部分。 '00086810' '00192610' '00213T10' '00339010' '00350L10' '00350P10' '00428010' '00431F10' '00433710' '00723110' '00743710' '00818210' '00818810' '01031710' '01204610' '01747610' '01747F10' '01852Q10' '01853510' '01887110' '01888510' '01890A10' '01920510' '02316010' '02343R10' '02361310' '02391210' '02407310' '02407640' '02408H10' '02434310' '02520W10' '02581610'
【问题讨论】:
-
我不知道你的文件大小,但我相信这需要时间。我需要 10 分钟才能将硬盘中的 4GB 从一个地方移动到另一个地方。如果你想更快购买 SSD
-
运行
save('file',-v7.3)时工作区中是否还有其他变量?因为这会将它们全部保存在一个名为文件的 matfile 中,请尝试save('file','file','-v7.3')...(第一个输入是文件名) -
里面的所有单元格都是
8 charlong吗? -
Re Ander:矩阵在工作空间中被命名为 st_nonfin。所以我只写了这个'save('st_nonfin','-v7.3')'。它还在节省,现在 30GB!
-
Re Divakar:一些变量小于 8 个字符