保存Matlab矩阵的最快方法

Kar*_*arl 5 performance matlab file save

我正在使用Matlab在C++中调用一些外部调用,然后接收一个巨大的计算矩阵.矩阵非常庞大,我无法访问这个C++程序的源代码.(如果有的话,我会马上从C++中保存)

现在,在我的系统上,这个C++程序只使用1秒来计算给定的数据并发送回Matlab,Matlab的dlmwrite需要200-300秒才能将这个巨大的阵列保存在磁盘上.我有更多的计算,我想减少时间.

那么在Matlab中保存的最快方法是什么?

sho*_*zer 5

最快的方法可能是Matlab的save命令.或者,你可以使用fwrite整个矩阵为二进制文件.

使用dlmwrite将值转换为文本,这需要花费时间并且要将更多数据写入磁盘.除非您确实需要具有该格式的数据,否则不要这样做.请注意,dlmwrite如果使用大矩阵调用一次,而不是在循环中逐步写入文件,则会更快.