matlab之匿名函数

匿名函数通常是很简单的函数,他是面向命令行代码的函数,通常只由一句简单的声明语句组成
匿名函数也可以接受多个输入和输出参数。使用匿名函数的优点是不需要维护一个M文件,而只需要一句非常简单的语句,就可以在命令窗口或M文件中调用函数,这对于那些函数内容非常简单的情况是很方便的。
创建匿名函数的标准格式如下所示:
fhandle = @(arglist)expr
其中:
(1)expr通常是一个简单的matlab变量表达式,实现函数的功能,比如x+x.^2
(2)arglist是参数列表,它指定函数输入参数列表,对于多个输入参数的情况,通常要用逗号分隔各个参数。
(3)符号@是matlab中创建函数句柄的操作符,表示对由输入参数列表arglist和表达式expr确定的函数创建句柄,并把这个函数句柄返回给变量fhandle,这样,以后就可以通过fhandle来调用定义好的这个函数。
例如:定义函数
myfunhd = @(x)(x+x.^2)
表示创建了一个匿名函数,他有一个输入参数x。它实现的功能是x+x.^2,并把这个函数句柄保存在变量“myfunhd”中,以后可以通过“myfunhd(a)”来计算“x=a”的时候的函数值。
需要注意的是,匿名函数的参数列表arglist中可以包含一个参数或多个参数,这样调用的时候就要按顺序给出这些参数的实际取值。
但arglist也可以不包含参数,即留空,这种情况下调用函数时还是需要通过fhandle()的形式来调用,即要在函数句柄后紧跟一个空的括号,否则,只显示fhandle句柄对应的函数形式。
匿名函数可以嵌套,即在expr表达式中可以用函数来调用一个匿名函数句柄。

发布了56 篇原创文章 · 获赞 18 · 访问量 3459

猜你喜欢

转载自blog.csdn.net/kangjielearning/article/details/105121546