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表达式中可以⽤函数来调⽤⼀个匿名函数句柄。matlab定义函数表达式