节约内存匿名函数

匿名函数获得清洁的不必要的工作空间变量

376下载

更新2015年11月6日

查看许可协议

这可能是也可能不是广为人知,但作为提交的时间(R2015a),匿名函数句柄可以存储大,未使用的块的内存工作区创建。通常,使用匿名函数是暂时性的,这是从来没有感觉到的效果。然而,如果你返回一个匿名函数处理的输出函数,或将其保存到一个.mat文件,或广播工作者使用并行工具箱的PARFOR命令,你可以看到很多从这个隐藏数据的开销。为例,进一步讨论,看到这些线程
//www.tianjin-qmedu.com/matlabcentral/answers/115569-what-extra-data-is-stored-by-an-anonymous-function

//www.tianjin-qmedu.com/matlabcentral/answers/115254-parfor-behavior-sensitive-to-comments

这个提交包含AFSLIM函数,这将让你创建一个匿名函数,只存储额外的参数指定的变量。(当然,当然,您必须指定所需的所有变量)。

例子:以下代码(重要,必须作为一个函数,运行不从命令行! !)生成两个文件包含一个匿名函数具有相同功能的行为。然而,tst1。垫使用259 MB而tst2。垫仅消耗1 KB。

功能测试

b = 2;

fun1 = @ x + b (x);与参数b %匿名函数

fun2 = afslim (fun1, b);%苗条版本

b =兰德(6000);

保存tst1 fun1
保存tst2 fun2

结束

如果你有一个现有的匿名函数已经包含了大量的不必要的额外的数据,提交还包含AFCLEAN,试图带额外的数据。然而,AFCLEAN依靠一定数量的非法MATLAB和减免匿名函数,指的是嵌套的或子功能。当它工作时,它似乎工作得很好,但用在你自己的风险!

引用作为

马特·J (2023)。节约内存匿名函数(//www.tianjin-qmedu.com/matlabcentral/fileexchange/45749-memory-efficient-anonymous-functions), MATLAB中央文件交换。检索

MATLAB版本兼容性
创建R2013b
兼容任何释放
平台的兼容性
窗户 macOS Linux
确认

启发:稀疏网格插值

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!
版本 发表 发布说明
1.1.0.0

添加信息描述部分。
添加afslim.m

1.0.0.0