matlab清理程序onCleanup
动机
用户编写完M文件后,还有最后一项任务要完成:关闭文件,删除临时文件等。Matlab提供了一个函数用作后面的清理,有点类似于面向对象语言中的析构函数,这就是onCleanup
用法
cleanupObj = onCleanup(cleanupFun)
其中cleanupFun是一个函数句柄(无输入值),当cleanupObj被清理时调用cleanupFun。因此cleanupObj必须有,如果没有就会有警告(一般来说,这个函数是在M结束后调用,但是这个也不尽然,只要是这个cleanupFun被清理了,就会调用cleanupFun。因为在M文件结束后,所有的临时变量会被清理,所以M文件结束后就会自动调用cleanupFun)
另外,在一个M文件中可以有多个onCleanup语句,当相应的变量被清理时,它们都会执行。由于变量清理的顺序不能确定,所以它们执行的顺序也不能确定。如果对执行顺序有要求,最好把它们都放到一个清理函数中吧。
例子1
function y = Add2(x)
y = x + 2;
c = onCleanup(@Hello);function Hello
fprintf('Hello\n');
运行
d=Add(3);
输出
Hello
例子2
function [y,c] = Add2(x)
y = x + 2;
c = onCleanup(@Hello);function Hello
fprintf('Hello\n');
“
运行
[d,c]=Add(3);
无输出
此时运行
clear c
输出
Hello
从例子2,大家明白了返回值得重要性了吧
技巧
清理函数(就是上面的那个cleanupFun)是一个无输入值得函数,如果大家想给清理函数传递参数,怎么办?
用匿名函数!
c = onCleanup( @() fclose('file.m'));
再比如
c = onCleanup(@()function(input))
matlab清理程序onCleanup相关推荐
- matlab多元回归程序,多元回归程序MATLAB程序
<多元回归程序MATLAB程序>由会员分享,可在线阅读,更多相关<多元回归程序MATLAB程序(45页珍藏版)>请在人人文库网上搜索. 1.程序MATLAB多元回归程序matl ...
- 无源定位之时差估计的精确时差估计算法(ETDE)及MATLAB实现程序
精确时差估计算法(ETDE)及MATLAB实现程序 算法原理 算法总结 性能分析 实验结果 算法原理 假设两接收站分别接收的带噪信号为 {x(kT)=s(kT)+ε1(kT)y(kT)=s(kT−D) ...
- matlab潮流程序,IEEE33节点matlab潮流程序.doc
IEEE33节点matlab潮流程序 Bus [1,0,0 ; 2,100, 60; 3,90,40; 4,120,80; 5,60,30; 6,60,20; 7, 200, 100 ; 8,200, ...
- matlab有意思程序,matlab有意思的小程序
10个C++趣味小程序,很有意思的.VIP专享文档 VIP专享文档是百度文库认... 现在很多人使用微信的时间已经非常长了,他们注册的微信号往上可能已经是5年前的事情了,正是由于不少使用者在这个过程当 ...
- matlab程序里nbus=x的意思,MATLAB潮流程序(IEEE14 直角坐标 牛拉法)
MATLAB潮流程序(IEEE14 直角坐标牛拉法)clear baseMVA=100; %功率基值 %%读Data1中数据 load Data1.txt Bus=Data1(:,1); %节点号 V ...
- 怎样在matlab q-q图上读出斜率,Q分解法潮流计算matlab小程序
<Q分解法潮流计算matlab小程序>由会员分享,可在线阅读,更多相关<Q分解法潮流计算matlab小程序(18页珍藏版)>请在人人文库网上搜索. 1.Q分解法潮流计算matl ...
- matlab期权风险评估算法,使用 MATLAB 应用程序根据期权价格估算风险中性密度 (risk-neutral density, RND)...
我们为什么选择 MATLAB 我们决定创建 MATLAB 应用程序估算 RND,因为我们希望研究成果得到广泛应用,而不是仅限于在量化经济学领域或是熟悉 MATLAB 编程的和金融研究人员使用. 我们发 ...
- CentOS使用 Crontab定时任务清理程序日志
Crontab定时任务 基本语法 crontab [选项] 任务的要求 设置任务调度文件:/etc/crontab 设置个人任务调度.执行 crontab –e 命令.接着输入任务到调度文件 如:*/ ...
- matlab密度特征,关于用MATLAB应用程序估算风险中性密度的性能分析和介绍
由于场外期权合约的买卖在交易双方间私下进行而非通过公开市场,因而可能很难确定合约的价格有利于买方还是卖方.为对这些合约进行定价,金融分析师往往依据看涨期权或看跌期权价格估算出风险中性密度(RND)值. ...
最新文章
- 智能合约语言Solidity 类型介绍
- 几何画板论坛_伯中班主任论坛丨用爱守护生命的成长
- PHP判断标量,php中is_scalar如何判断变量是否是一个标量
- java 短链跳转原理_给你代码:短链接生成原理
- appium---【Mac】Appium-Doctor提示WARN:“ opencv4nodejs cannot be found”解决方案
- 云星空计算机名访问不可以,03.PLM系统访问金蝶云星空(webapi):读取基础资料编码、名称...
- qt中QTreeWidget控件的使用
- javascript的语法结构
- GitHub 2200+星的任正非语录下架了,我们找到了一份fork版
- 读《刘帅:在失望中寻找希望》有感
- 6.程序员的自我修养---可执行文件的装载与进程
- hash hmac java_认证加密算法php hash_hmac和java hmacSha1的问题
- css字体倾斜角度_css如何设置字体倾斜样式
- C盘AppData文件占用83.7G?
- 赫夫曼编码树(图解+完整代码)
- Good Bye 2022: 2023 is NEAR 题解
- SpringBoot 配置嵌入式Servlet容器(tomcat,jetty,undertow)
- TMS320F28377S 学习笔记2 BGA封装的焊接
- nutz dao 操作
- win7与vmware实现文件共享
热门文章
- 在visual studio中使用git版本系统(zz)
- cocos2d-x游戏实例(8)-A星算法(4)
- 转这个博客了,以前的博客不用了。(技术为主,寒暄为辅)
- 实例——在编程过程中进行单元测试
- msm8953+android8.1接听电话时声音由默认听筒输出改为外放输出
- Firefox 65.0.2 发布,Firefox 66 预计3月19日推出
- MySQL · 引擎特性 · InnoDB COUNT(*) 优化(?)
- JavaEE Tutorials (24) - 资源适配器示例
- 详解设计模式之工厂模式(简单工厂+工厂方法+抽象工厂)
- linux shell编程学习笔记(9)正则表达式