什么是匿名函数?如何使用?
匿名函数是不存储在程序文件中、但与数据类型是 function_handle 的变量相关的函数。
如:
sqry = @(x,y) x.^2+y;

匿名函数的数组只能使用花括号构成元胞数组。创建元胞数组时,记住 MATLAB 将空格解释为列分隔符。所以,省略表达式中的空格,或将表达式括在圆括号中。
f = {@(x)x.^2;
@(y)y+10;
@(x,y)x.^2+y+10};
或,
f = {@(x) (x.^2);
@(y) (y + 10);
@(x,y) (x.^2 + y + 10)};
匿名函数有什么用?
- 函数句柄用作输入
q = integral(@(x) x.^2,0,1);
计算匿名函数从0到1的积分
- 存储表达式进行计算需要的变量
a = 1.3;
b = .2;
c = 30;
parabola = @(x) ax.^2 + bx + c;
注意,这时候即使清理了a,b,c变量,其值仍然保留于函数句柄中

更新表达式的系数时,必须重新建立表达式。
+. 多个匿名函数嵌套使用

网友评论