handle句柄 matlab_MATLAB函数句柄

1、何为函数句柄?

函数句柄也是MATLAB中的一种常见的数据类型,

它的地位类似于其它计算机语言里的函数对象(Javascript,Python),函数指针(C++),或者函数引用(Perl)。

它的作用是将一个函数封装成一个变量,使其能够像其它变量一样在程序的不同部分传递。。引入函数句柄可使函数调用变得更加灵活方便,极大地提高了函数调用的速度和效率。MATLAB中函数句柄的使用使得函数也可以成为输入变量,并且能很方便地调用,提高函数的可用性和独立性。

2、函数句柄的创建:

方式①:直接加@

语法:@函数名fun1 = @sin;

方式②:str2func函数

语法:str2fun(‘函数名’)

fun2 = str2func(‘cos’);

方式③:str2func函数

语法:@(参数列表)单行表达式
    fun3 = @(x, y)x.^2 + y.^2;

576aa1d5144045cf24a6294227d341ba.png

73a47bb37608aa773e2a581f25087a32.png

ab63d197cd489243bc498fa8c93e7240.png

e8657a39035af11e9dc738250fffe890.png

3、函数句柄的调用:

假定一个函数的调用格式为:[y1,y2,…,yn] = FunctionName(x1,x2,…,xm)

该函数通过以下方式构建函数句柄:Hfunction = @FunctionName

则通过函数句柄实现函数运算的调用格式是:直接调用 Hfunction (x1,x2,…,xm) 或者 [y1,y2,…,yn]=feval (Hfunction,x1,x2,…,xm)

例如:

6d8dfb092a2e1c8f15eaa2158798acff.png

句柄是matlab语言独有的参数,相当于C语言的指针。
句柄分为多种,如函数柄,对象柄,图形柄等。
图形句柄就指一个图形,在生成图形时同时得到一代号,如语句 h=plot(x,y),h 就是一个图形句柄,在后来的某一个地方就可用h代表这个图,如 set(h,…),对这个图形进行再设置。1.函数句柄
函数句柄简介:函数句柄(function handle)是MATLAB中的一类特殊的数据结构,它的地位类似于其它计算机语言里的函数对象(Javascript,Python),函数指针(C++),或者函数引用(Perl)。作用是将一个函数封装成一个变量,使其能够像其它变量一样在程序的不同部分传递。
句柄创建:
(1)fun1=@sin;
(2)fun2=str2fun(‘cos’);
(3)匿名函数:fun3=@(x,y)x2+y2;
函数句柄应用:函数句柄作为函数参数;利用函数句柄绘图;利用函数句柄滤波等

比如定义f(x)=x^2写
f=@(x)(x.^2)
其@(x)(x.^2)匿名函数第括号面自变量第二括号面表达式@函数指针
f=@(x)(x.2)表示匿名函数@(x)(x.2)赋值给f于f表示该函数
于f(2)=2.2=4;f(1:3)=[1:3].2=[1 4 9]等等

定义匿名函数调用别匿名函数比
f1=@(x,y)(x.2+y.2)
定义函数x2+y2
f2=@(t)(f1(t,2))
定义函数t^2+4
f3=@(x)(f1(x(1),x(2)))
定义函数x(1)2+x(2)2
使用匿名函数定要注意函数本身参数形式
f1(2,3)
表示22+32
f2(3)=3
表示3^2+4
f3([1,2])
表示12+22
说白函数指针

handle=@functionname
返指向制定MATLAB函数句柄
函数句柄指指向函数量句柄函数获函数句柄存

图形句柄和图形之间是一种一一对应关系,简单的说图形句柄就是指向了这个图形的一个变量,通过它可以设定该图形的各种属性。

matlab其实还有很多新颖奇妙的函数用法,给我们带来了很多便利,需要的时候多去查查就好了

已标记关键词 清除标记
表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页