matlab错误保存容器.Map()

时间:2016-03-12 14:27:42

标签: matlab save

我尝试将地图另存为一个非常大的* .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无法正确保存这张地图?

1 个答案:

答案 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开关。跳过...

由于某种原因没有提出警告,但是无法编写如此大的对象是预期的行为。