在使用matlab 读取大数据的时候,常常会用到虚拟映射memmapfile函数
m = memmapfile();
则会创建一个memmapfile路径模块,
通过
D=m.data;
可以在原数据文件位置创建大数据的变量D。这使得matlab 可以轻松处理大数据量的数据。
但是,这里最近遇到一个问题
写在多个串联函数中时,常常会把路径模块m清除掉,只使用D,这就造成了matlab运行变得很慢。通过查找资料
Delete Memory Map - MATLAB & Simulink - MathWorks 中国
发现,必须先清除数据变量D,才能清除路径模块。
经过测试~~~的确有很大变化。
那么,怎么样去避免嵌套函数中使用这个方法呢,我这里主要是通过全局变量控制+顺序清除来避免这个问题。
global map;
clearvars -EXCEPT map
clear