如何从 MATLAB 确定 MAT 文件的版本?

Posted

技术标签:

【中文标题】如何从 MATLAB 确定 MAT 文件的版本?【英文标题】:How can I determine the version of a MAT file from MATLAB? 【发布时间】:2015-06-05 10:52:00 【问题描述】:

我想知道是否有办法确定特定的 MAT 文件是 v4、v6、v7 还是 v7.3?

我正在寻找一种可以使用 MATLAB 代码确定版本的解决方案,最好不必将数据加载到内存中。

【问题讨论】:

每个文件开头都有注释,用type显示。上面写着5.0 for v6 和 v7,不确定发生了什么。 @Daniel 这非常有用——我不知道。你应该把它作为答案,会投票。 只是为了添加到@Daniel 的评论中,v4 文件似乎没有评论标题,v6v7 文件有一个标题为 5.0,v7.3 文件有一个标题说 7.3. @Daniel 无论如何都可以在变量中捕获“type”输出的前几行?这也会有所帮助。 【参考方案1】:

mat-files 版本 6 或以下版本的开头有一些注释。这段代码读取它:

function txt=getMatComment(x)
fid=fopen(x);
txt=char(fread(fid,[1,140],'*char'));
txt=[txt,0];
txt=txt(1:find(txt==0,1,'first')-1);
end

评论似乎总是 116 个字符长,但我没有找到任何参考。这段代码最后读取了 140 个字符和剪切。

我不明白的部分:对于版本 6 或 7,它说 MATLAB 5.0 MAT-file

【讨论】:

以上是关于如何从 MATLAB 确定 MAT 文件的版本?的主要内容,如果未能解决你的问题,请参考以下文章

matlab 存储mat文件

如何为matlab更新.mat文件中的变量?

在matlab中如何用mat数据作图

matlab中mat文件的操作

如何打开MATLAB里的后缀名为mat的文件?

matlab怎么将100个图像存在1个mat文件里