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

句柄的用法和相关概念总结相关推荐

  1. MATLAB GUI设计——绘图

    MATLAB GUI设计--绘图 讨论两个问题,将MATLAB绘图保存为适合于论文使用的格式,绘图的一些技巧.也许我们都这样的做过,MATLAB所绘制的图形要保存为图片,一般是使用截图的方式,或者使用 ...

  2. 【MATLAB】函数句柄

    在MATLAB平台中,对函数的调用方法分为直接调用法和间接调用法. 1.直接调用函数,被调用的函数通常称为子函数.一个文件中只能有一个主函数. 2.函数句柄--提供一种间接调用函数的方法.创建函数句柄 ...

  3. 骆驼命名法,帕斯卡命名法和匈牙利命名法(转)

    一.匈牙利命名法:广泛应用于象Microsoft Windows这样的环境中.       Windows 编程中用到的变量(还包括宏)的命名规则匈牙利命名法,这种命名技术是由一位能干的 Micros ...

  4. 八、梯度下降法和拟牛顿法

    1.梯度 2.梯度上升和梯度下降 3.梯度下降算法详解 3.1 直观解释 3.2 梯度下降相关概念 3.3 梯度下降的矩阵描述 3.4 梯度下降的算法调优 4.梯度下降法大家族 5.梯度下降法和其他无 ...

  5. 手机设备唯一标识相关概念

    手机设备唯一标识相关概念 IMEI 定义 IMEI(International Mobile Equipment Identity)是国际移动设备识别码的缩写.俗称"手机串号".& ...

  6. 【Nav2中文网】三、导航相关概念

    本教程来自:Nav2中文网 Nav2交流社区:https://fishros.org.cn/forum ROS2/Nav2千人交流群:(QQ)139707339 更多精彩教程请关注微信公众号:鱼香RO ...

  7. GIS基本功 | 14 地图投影及其相关概念

    地球椭球体表面是个曲面,而地图通常是二维平面,因此在地图制图时首先要考虑把三维的球面转化成二维的平面. 把地面上事物的位置表达在二维平面上有多种方法,古代的风景绘画.现代的摄影技术均可以在一定程度上反 ...

  8. 软件测试笔记_09_自动化相关概念【重要】

    一.自动化相关概念知识 1. 自动化 (1)概念 由机器设备代替人工完成指定目标的过程 (2)优点 减少人工劳动力 提高工作效率 产品规格统一标准 规模化(批量生产) 2. 自动化测试 (1)概念 概 ...

  9. c语言中handle的用法,handle什么意思_handle的用法和短语例句

    handle有处理;对待;操作;触;买卖;把手;柄等意思,那么你知道handle的用法吗?下面跟着学习啦小编一起来学习handle的英语知识吧,希望对大家的学习有所帮助! handle的用法 hand ...

最新文章

  1. linux php7扩展查看,linux安装PHP7以及扩展
  2. mysql index 使用方法_mysql index索引使用方法
  3. 10.Java设计模式 工厂模式,单例模式
  4. [网络安全自学篇] 八.Web漏洞及端口扫描之Nmap、ThreatScan和DirBuster原理详解
  5. 后端学习 - RabbitMQ
  6. C程序生成一定范围内的随机数
  7. python函数实例解析_python支持返回函数的实例解析
  8. Python | 从用户输入数据,保存到文件,读取并打印
  9. 卡顿严重_微软Win 10游戏模式致《使命召唤:战区》等游戏出现严重卡顿现象
  10. 互联网日报 | 华为Mate40系列国内发布;陆金所在纽交所挂牌上市;苹果大中华区营收大降28.6%...
  11. 修改mysql默认字符集的方法
  12. 文件上传控件 自定义样式
  13. CHM文件制作方法及制作中遇到的坑
  14. 图片放大模糊怎么办,Python无损清晰放大,360P变4K
  15. vector用erase删除元素时,为什么被删元素的析构函数会被调用更多次?
  16. HTML5期末大作业:出行网站设计——西安旅游-高质量(9页) HTML+CSS+JavaScript 学生DW网页设计
  17. 生成划掉的字_哪种备忘录划删除线,能划掉文字在字中间划线的便签
  18. 学习笔记:清华慕课——数据结构(1)
  19. 每日哲学与编程练习5——分数问题(Python实现)
  20. 程序员:怎样才能学好英语?

热门文章

  1. 学习Java的第一天
  2. 51端口HTML跳转进不去,HTML页面跳转的5种方法
  3. Java实现经纬度查询附近门店
  4. Exchange 2010 POP3客户端响应错误 550 5.7.1
  5. 我与CSDN--如白开水般纯净
  6. ctd数据 matlab,CTD数据库了解一下,分析你还少了这张图(基因-药物-疾病)
  7. 在Diamond编写仿真代码后,通过Modelsim进行仿真,无波形。
  8. 移动应用PUSH消息基础知识
  9. 数学建模--30+种常用算法模型
  10. 在vue3 中使用echarts