在Matlab中加载数据的最快方法是什么?

时间:2011-01-27 09:25:27

标签: performance matlab format hdf5

我有大量的数据(> 800Mb)需要一个年龄加载到Matlab主要是因为它被分成每个小于20kB的小文件。它们都是专有的格式,我可以阅读并加载到Matlab中,只需花费很长时间。

我正在考虑读取数据并将其写入某种二进制文件,这应该使后续读取更快(其中可能有很多,因此我需要加速)。

所以,我的问题是,将它们写入磁盘的最佳格式是什么才能让它们尽快再次读回来?

我想我可以选择使用fwrite编写,或者只是从matlab保存变量。我想我更喜欢fwrite选项,所以如果需要,我可以从另一个包/语言中读取它们......

2 个答案:

答案 0 :(得分:4)

查看最新版本的MATLAB使用的HDF5数据格式作为.mat文件的基础格式。您可以使用hdf5write函数手动创建自己的HDF5文件,并且可以从任何具有HDF绑定的语言访问此文件(大多数常见语言都可以,或者至少提供一种集成C代码的方法,可以调用HDF5库)。

如果您的数据是数字的(并且具有相同的数据类型),您可能会发现很难超越普通二进制(fwrite)的性能。

答案 1 :(得分:2)

二进制mat文件是最快的。只需使用

save myfile.mat <var_a> <var_b> ...