我有一个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'
答案 0 :(得分:0)
让我们试试
test='helloooooo'
whos('test')
Name Size Bytes Class Attributes
test 1x10 20 char
save('A','test')
size A file 184 bytes
让我们测试更大的数据。
symbols = ['a':'z' 'A':'Z' '0':'9'];
MAX_ST_LENGTH = 500;
stLength = randi(MAX_ST_LENGTH);
for ii=1:100
nums = randi(numel(symbols),[1 stLength]);
testcell{ii} = symbols (nums);
end
save('test','testcell')
whos('testcell')
Name Size Bytes Class Attributes
testcell 1x100 52200 cell
大小文件15.7Kb
压缩数据。但我意识到这取决于数据。但通常我得到x3压缩
你能告诉我们你的代码吗,也许你是在拯救错误的东西