matlab clear 变量(memmapfile)太慢

盛建德
2023-12-01

在使用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

 类似资料: