messenger 发表于 2009-10-24 14:45:29

匿名函数及参数传递

本帖最后由 messenger 于 2009-11-20 13:30 编辑

匿名函数提供了一种创建简单程序的方法,使用它用户可以不必每次都编写M文件。用户可以在Matlab的命令窗口或是其他任意M文件和脚本文件中使用匿名函数。

      匿名函数的格式为:fhandle=@(arglist)expr

      其中fhandle是为该函数创建的函数句柄:@符号用於创建函数句柄;arglist为用逗号分隔的参数列表;expr为函数主体,为Matlab表达式。

      用户可以创建有多个输入的匿名函数。例如,要定义函数sqrt(x^2+y^2),用户可以输入:

         >> sqrtsum=@(x,y) sqrt(x.^2+y.^2);

         然后,在调用时可以输入:

      >> sqrtsum(3,4)

      ans =
               5

      作为另一个示例,考虑定义一个平面函数z=Ax+By。在必须为用户创建函数句柄之前,首先要为A和B进行赋值。例如:

      >> A=6;B=4;
      >> plane=@(x,y) A*x+B*y;
      >> z=plane(2,8)
      z =
             44

**** Hidden Message *****
页: [1]
查看完整版本: 匿名函数及参数传递