2018-11-04 16:48:11

匿名函数 免费编辑 添加义项名

B 添加义项
?
义项指多义词的不同概念,如李娜的义项:网球运动员、歌手等;非诚勿扰的义项:冯小刚执导电影、江苏卫视交友节目等。 查看详细规范>>
所属类别 :
函数
函数
编辑分类

匿名函数它是matlab中定义的一种函数形式,出现在matlab中,匿名函数不以文件形式驻留在文件夹上;他的生成方式最简捷,可在指令窗或任何函数体内通过指令直接生成。

匿名函数的作用主要是实现自己定义matlab中的函数,从而扩大函数的使用功能

基本信息

  • 中文名

    匿名函数

  • 出现

     matlab 

  • 定义

    matlab中定义的一种函数形式

寿命

内联函数(inline)相比,匿名函数的优越性在于可以直接使用workspace中的变量,不必申明,非常适合嵌入到M文件中。

%例10-25 匿名函数举例。

%本例列举3个匿名函数的例子,分别有0个、1个和两个输入参数。

%首先介绍没有输入参数的匿名函数,只需用空格代替arglist即可。例如,编写求解当前时间的匿名函数如下所示。

>> t = @() datestr(now);

t() %函数的调用

ans =

14-Sep-2004 20:22:50

%值得注意的是,调用该函数时,括号不能省略,否则, MATLAB 7.1将对程序不予计算,如下所示。

>> t

t =

@() datestr(now)

>>

%再介绍有一个输入参数的匿名函数,该函数用于求所输入参数的平方,编制并运行程序如下所示。

>> sqr = @(x) x.^2

sqr =

@(x) x.^2

>> sqr(12)

ans =

144

>>

%最后介绍有两个输入参数的匿名函数,用户可以由此推导有多个参数的匿名函数,编制并运行程序如下所示。

>> sumAxBy = @(x, y) (14*x + 41*y)

sumAxBy =

@(x, y) (14*x + 41*y)

>> sumAxBy(3,7)

ans =

329

>>

注意这些定义过程,其中@这个标志符是很重要的。

匿名函数的表达式中也可以有参数的传递,比如:

>> a=1:5; b=5:-1:1; c=0.1:0.1:0.5;

>> f=@(x,y)x.^2+y.^2+c;

>> f(a,b)

ans = 26.100020.200018.300020.400026.5000

c作为表达式中的参数,进行了数据传递。

上面都是单重匿名函数,也可以构造多重匿名函数,如:

>> f=@(x,y)@(a) x^2+y^+a;

>> f1=f(2,3)

f1 = @(a)x^2+y^+a %注意这里f1 是关于a的函数了,与f不同。

>> f2=f1(4)

f2 = 85

每个@后的参数从它后面开始起作用,一直到表达式的最后。

阅读全文

热点资讯

我的关注