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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值