如何比较matlab中不同时间戳的.mat文件

Posted

技术标签:

【中文标题】如何比较matlab中不同时间戳的.mat文件【英文标题】:How to compare .mat files in matlab with different timestamps 【发布时间】:2014-02-12 20:52:59 【问题描述】:

我有两个 .mat 文件 foo.matfoo2.mat。除了时间戳之外,它们是相同的。我使用visdiff 来检查差异,它说它们是相同的,除了它们的二进制文件。如何在忽略时间戳的情况下比较 .mat 文件?

我得到的输出是 html

<html>
<head></head>
<body class="binarycomparisonreport">
<center><p>Comparing<br>
c:\svnTrunk\Simulations\foo.mat<br>
and<br>c:\svnTrunk\Simulations\foo2.mat<br>
using Binary comparison:<p>
The files are <b>different</b>.</p></center>
</body></html>

【问题讨论】:

如果您在没有输出的情况下调用visdiff,则会打开比较工具 GUI,其中包含更多信息。 【参考方案1】:

文件交换中有一个名为“Mat 文件头实用程序”的实用程序,用于读取和写入.mat 文件头

http://www.mathworks.com/matlabcentral/fileexchange/39566-mat-file-header-utilities

虽然没有测试。

【讨论】:

【参考方案2】:

将它们以二进制形式打开并计算一些 crc 或 md5

【讨论】:

【参考方案3】:

我喜欢支持 bhamadicharef 的想法。

加载两个数据,创建哈希码 (http://www.mathworks.com/matlabcentral/fileexchange/31272-datahash/all_files) 并比较哈希码。

如果哈希码不同,则数据不同。虽然它没有向您显示差异。

【讨论】:

以上是关于如何比较matlab中不同时间戳的.mat文件的主要内容,如果未能解决你的问题,请参考以下文章

如何在不使用 MATLAB 的情况下打开 .mat 文件?

matlab中如何读取mat文件的矩阵

matlab如何批量读取mat文件中的矩阵?

matlab中mat文件的操作

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

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