我尝试将地图另存为一个非常大的* .mat文件。 (大约4或5gig。我无法确定,因为我永远无法保存文件......)
地图由以下人员生成:
[amap, ~] = load_audio(config);
稍后保存
save('audioMap', 'amap');
现在生成的文件只有218个字节但没有错误发生。尝试使用whos('-file', 'audioMap.mat')
读取文件的内容会导致以下错误:
Warning: Unable to read some of the variables due to unknown MAT-file error.
地图的每个记录都是一个包含6个值的单元格。现在,在Matlab工作空间中查询地图的大小会产生以下输出:
Name Size Bytes Class Attributes
amap 2279x1 112 containers.Map
现在显然大小不正确但我可以遍历地图并且所有数据都存在。查询记录大小时大约为2.5MB。
我还试图通过右键单击并保存变量从工作区中保存 - 与相同的结果一样。 任何人都有任何想法为什么Matlab无法正确保存这张地图?
答案 0 :(得分:1)
您尝试编写has a maximum variable size of 2^31 bytes = 2GB
的MAT-File版本7.0当您尝试写入大于限制的变量时,保存变量时预期的行为将为receive a warning。
警告:变量' varname'无法保存到版本低于7.3的MAT文件。要保存此变量,请使用-v7.3开关。跳过...
由于某种原因没有提出警告,但是无法编写如此大的对象是预期的行为。