一、MATLAB 匿名函数简介(Anonymous Function)
匿名函数是 MATLAB 中一种简洁的函数定义方式。 它是没有函数名文件、一行代码即可定义的函数,常用于简单运算或临时处理逻辑。
二、基本语法
f = @(参数列表) 表达式;
f
:函数句柄名(你自定义的变量名)@
:标识符,表示这是一个匿名函数参数列表
:输入变量,用括号包裹表达式
:用输入变量计算返回值的数学表达式
三、示例说明
- 求平方函数
square = @(x) x.^2;
square(3) % 输出 9
- 线性函数
f = @(x, a, b) a*x + b;
f(2, 3, 1) % 输出 7(3*2 + 1)
- 逻辑函数
is_even = @(x) mod(x, 2) == 0;
is_even(4) % 输出 true
- 返回函数句柄
% 线性函数 y = a*x + b
make_linear = @(a, b) @(x) a*x + b;
f1 = make_linear(2, 1); % 得到 f1(x) = 2x + 1
f2 = make_linear(5, -3); % 得到 f2(x) = 5x - 3
f1(2) % 输出 5
f2(2) % 输出 7
四、特点总结
特性 | 说明 |
---|---|
快速简洁 | 无需单独写 .m 文件 |
一行定义 | 只能写单个表达式,不支持多行逻辑 |
常用于回调 | 如图像按钮、优化函数、自定义比较函数等 |
可嵌入主程序 | 便于临时使用的小逻辑函数 |
⚠️ 注意:
不支持控制语句(如
if
、for
);可返回函数句柄(常用于参数化函数);
若逻辑复杂,请用标准函数文件
function ... end
。
文档信息
- 本文作者:Ziyue Qi
- 本文链接:https://www.qiziyue.cn/2025/07/23/matlab%E5%8C%BF%E5%90%8D%E5%87%BD%E6%95%B0/
- 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)