MATLAB函数句柄

来源:互联网 发布:郫县 unity3d培训 编辑:程序博客网 时间:2024/05/29 03:26

函数句柄是从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
原创粉丝点击