MATLAB函数句柄

函数句柄是从MATLAB6.0开始具有的一种语言结构,用以在使用函数过程中保存函数的相关信息,尤其是关于函数执行的信息。

1.函数句柄的创建与显示

函数句柄的创建可以通过特殊符号@引导函数名来实现:在@后添加相应函数的函数名。函数句柄实际上就是一个结构数组。


例:创建一个函数文件,实现差的计算功能





函数句柄的内容可以通过函数functions来显示,将会返回函数句柄所对应的函数名、类型、文件类型以及加载方式。函数类型如下:

函数类型                                         说明 

simple                                          未加载的MATLAB内部函数、M文件,或只在执行过程中才能用type函数显示内容的函数

subfunction                                 MATLAB子函数

private                                          MATLAB局部函数

constructor                                  MATLAB类的创建函数

overloaded                                   加载的MATLAB内部函数或M文件


函数的文件类型是指该函数句柄的对应函数是否为MATLAB的内部函数。

函数的加载方式只有函数类型为overloaded时才存在 。

>> functions(fhandle)

ans = 

    function: 'sub_ab'
        type: 'simple'
        file: ''

>> 

2.函数句柄的调用与操作

函数句柄的操作可以通过feval进行,格式如下:

[y1,y2,...]  = feval(fhandle, x1, ... , xn)

其中,fhandle为函数句柄的名称,“x1, ..., xn"为参数列表。

这种调用相当于以函数名作为输入变量的feval操作,也相当于执行以参数列表为输入变量的函数句柄所对应的函数

>> feval(fhandle,4,3)

ans =

     1

>> feval('sub_ab',4,3)

ans =

     1

>> sub_ab(4,3)

ans =

     1


  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

打赏
文章很值,打赏犒劳作者一下
相关推荐
©️2020 CSDN 皮肤主题: 创作都市 设计师:CSDN官方博客 返回首页

打赏

seamanj

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者