句柄的用法和相关概念总结
1、在matlab中,每一个对象都有一个数字来标识,叫做句柄.当每次创建一个对象时,matlab就为它建立一个唯一的句柄。
2、句柄中包含有该对象的相关信息参数,可以在后续程序中进行操作,改变其中的参数,以便达到不同的效果。
3、句柄与指针的区别在于:指针对应着一个数据在内存中的地址,得到了指针就可以自由地修改该数据。而句柄不行,它是对象生成时系统指定的,是为了区别系统中存在的各个对象。
4、从数据类型上来看它只是一个16位的无符号整数。句柄实际上是一种指向某种资源的指针,但与指针又有所不同。“句柄”(handle),handle的本意是把柄,把手的意思。相当于C语言中的函数指针(入口地址),只不过句柄就用一个唯一的常整数来指出。
5、函数句柄提供一种简介访问函数的手段,用户可以很方便地调用其他函数:提供函数调用过程中的可靠性,减少程序涉及中的冗余,同时可以在使用函数的过程中保存函数相关的信息,尤其是关于函数执行的信息。
创建函数句柄使用@或者str2func命令创建
函数句柄的创建:handle=@functionname
,handle为所创建的函数句柄,functionname为所创建的函数。或者 handle=str2func('functionname')
那么使用函数句柄有什么好处呢?
1、提高运行速度。因为matlab对函数的调用每次都是要搜索所有的路径,从set path中我们可以看到,路径是非常的多的,所以如果一个函数在你的程序中需要经常用到的话,使用函数句柄,对你的速度会有提高的。
2、使用可以与变量一样方便。比如说,我再这个目录运行后,创建了本目录的一个函数句柄,当我转到其他的目录下的时候,创建的函数句柄还是可以直接调用的,而不需要把那个函数文件拷贝过来。因为你创建的function handles中,已经包含了路径。
函数句柄的操作:
functions:返回函数句柄的相关信息func2str:根据函数句柄创建一个函数名的字符串str2func:由一个函数名的字符串创建一个函数句柄save:从当前工作区间向M文件保存函数句柄load:从一个M文件中向当前工作区间调用函数句柄isa:判断一个变量是否包含一个函数句柄isequal:判断两个函数句柄是否为某一相同函数的句柄
我的理解:句柄类似于对对象的引用(弱引用),可以通过句柄查看对象的属性,也可以通过对句柄的调用来修改对象的相关属性。函数句柄可以理解为函数指针,handle,”把手“。函数句柄一般应用在匿名函数和对图形对象设置相关样式。
参考资料:http://blog.sina.com.cn/s/blog_c0468c8f0101xbbu.html
https://blog.csdn.net/qq_30089191/article/details/72853960
https://blog.csdn.net/algorithm_lixuan/article/details/75675176
https://u011936142.iteye.com/blog/2032526
https://www.cnblogs.com/weiweicf/p/5970497.html
https://blog.csdn.net/aiieno0/article/details/24785625
句柄的用法和相关概念总结相关推荐
- MATLAB GUI设计——绘图
MATLAB GUI设计--绘图 讨论两个问题,将MATLAB绘图保存为适合于论文使用的格式,绘图的一些技巧.也许我们都这样的做过,MATLAB所绘制的图形要保存为图片,一般是使用截图的方式,或者使用 ...
- 【MATLAB】函数句柄
在MATLAB平台中,对函数的调用方法分为直接调用法和间接调用法. 1.直接调用函数,被调用的函数通常称为子函数.一个文件中只能有一个主函数. 2.函数句柄--提供一种间接调用函数的方法.创建函数句柄 ...
- 骆驼命名法,帕斯卡命名法和匈牙利命名法(转)
一.匈牙利命名法:广泛应用于象Microsoft Windows这样的环境中. Windows 编程中用到的变量(还包括宏)的命名规则匈牙利命名法,这种命名技术是由一位能干的 Micros ...
- 八、梯度下降法和拟牛顿法
1.梯度 2.梯度上升和梯度下降 3.梯度下降算法详解 3.1 直观解释 3.2 梯度下降相关概念 3.3 梯度下降的矩阵描述 3.4 梯度下降的算法调优 4.梯度下降法大家族 5.梯度下降法和其他无 ...
- 手机设备唯一标识相关概念
手机设备唯一标识相关概念 IMEI 定义 IMEI(International Mobile Equipment Identity)是国际移动设备识别码的缩写.俗称"手机串号".& ...
- 【Nav2中文网】三、导航相关概念
本教程来自:Nav2中文网 Nav2交流社区:https://fishros.org.cn/forum ROS2/Nav2千人交流群:(QQ)139707339 更多精彩教程请关注微信公众号:鱼香RO ...
- GIS基本功 | 14 地图投影及其相关概念
地球椭球体表面是个曲面,而地图通常是二维平面,因此在地图制图时首先要考虑把三维的球面转化成二维的平面. 把地面上事物的位置表达在二维平面上有多种方法,古代的风景绘画.现代的摄影技术均可以在一定程度上反 ...
- 软件测试笔记_09_自动化相关概念【重要】
一.自动化相关概念知识 1. 自动化 (1)概念 由机器设备代替人工完成指定目标的过程 (2)优点 减少人工劳动力 提高工作效率 产品规格统一标准 规模化(批量生产) 2. 自动化测试 (1)概念 概 ...
- c语言中handle的用法,handle什么意思_handle的用法和短语例句
handle有处理;对待;操作;触;买卖;把手;柄等意思,那么你知道handle的用法吗?下面跟着学习啦小编一起来学习handle的英语知识吧,希望对大家的学习有所帮助! handle的用法 hand ...
最新文章
- linux php7扩展查看,linux安装PHP7以及扩展
- mysql index 使用方法_mysql index索引使用方法
- 10.Java设计模式 工厂模式,单例模式
- [网络安全自学篇] 八.Web漏洞及端口扫描之Nmap、ThreatScan和DirBuster原理详解
- 后端学习 - RabbitMQ
- C程序生成一定范围内的随机数
- python函数实例解析_python支持返回函数的实例解析
- Python | 从用户输入数据,保存到文件,读取并打印
- 卡顿严重_微软Win 10游戏模式致《使命召唤:战区》等游戏出现严重卡顿现象
- 互联网日报 | 华为Mate40系列国内发布;陆金所在纽交所挂牌上市;苹果大中华区营收大降28.6%...
- 修改mysql默认字符集的方法
- 文件上传控件 自定义样式
- CHM文件制作方法及制作中遇到的坑
- 图片放大模糊怎么办,Python无损清晰放大,360P变4K
- vector用erase删除元素时,为什么被删元素的析构函数会被调用更多次?
- HTML5期末大作业:出行网站设计——西安旅游-高质量(9页) HTML+CSS+JavaScript 学生DW网页设计
- 生成划掉的字_哪种备忘录划删除线,能划掉文字在字中间划线的便签
- 学习笔记:清华慕课——数据结构(1)
- 每日哲学与编程练习5——分数问题(Python实现)
- 程序员:怎样才能学好英语?