我正在使用Matlab在C中调用一些外部调用,然后接收一个巨大的计算矩阵.矩阵非常庞大,我无法访问此C程序的源代码. (如果我有的话,我会马上从C中保存) 现在,在我的系统上,这个C程序只使
现在,在我的系统上,这个C程序只使用1秒来计算给定的数据并发送回Matlab,Matlab的dlmwrite需要200-300秒才能将这个巨大的阵列保存在磁盘上.我有更多的计算,我想减少时间.
那么在Matlab中保存的最快方法是什么?
最快的方法可能是Matlab的 save命令.或者,您可以将整个矩阵 fwrite转换为二进制文件.使用dlmwrite将值转换为text,这需要花费时间,并且需要将更多数据写入磁盘.除非您确实需要具有该格式的数据,否则不要这样做.请注意,如果使用大矩阵调用一次,而不是在循环中逐步写入文件,则dlmwrite会更快.