在 MATLAB 的符号 @

在 MATLAB 中,符号 @ 被用于创建函数句柄(function handle),这是 MATLAB 中一种非常灵活的语法,允许将函数作为变量来传递、调用或在其他函数中使用。

1. 创建匿名函数

匿名函数是一种简短的、只用一次的函数,它们可以通过 @ 符号创建。例如:

f = @(x) x^2 + 2*x + 1;

这个表达式创建了一个关于变量 x 的匿名函数 f,并将其保存为一个函数句柄。你可以使用 f 来计算某个输入的值:

result = f(3);  % 计算 f(3),返回结果为 16

常见用法:

  • 创建简单的数学表达式函数。
  • 方便地将函数传递给其他函数(如数值求解器)。

2. 传递函数句柄

@ 符号也可以用于将现有函数传递给其他函数。比如,MATLAB 中许多内置函数(如求解器、优化器)都接受函数句柄作为参数:

示例 1: 传递内置函数
result = fminbnd(@sin, 0, pi);  % 在区间 [0, pi] 上最小化 sin 函数

@sin 代表 MATLAB 内置的 sin 函数。

示例 2: 自定义函数句柄

假设我们定义了一个函数 myFunc

function y = myFunc(x)
    y = x^2 + 3*x - 5;
end

我们可以将 @myFunc 作为参数传递给其他函数

result = fzero(@myFunc, 2);  % 在初值 2 附近找到 myFunc 的根

3. 数组操作中的函数句柄

使用函数句柄,MATLAB 可以灵活地对数组执行操作。例如,你可以使用 arrayfun 来将函数应用到数组的每个元素上。

arr = [1, 2, 3, 4];
result = arrayfun(@(x) x^2, arr);  % 对数组 arr 的每个元素求平方

此时,@(x) x^2 是一个匿名函数,它对数组 arr 的每个元素应用,并返回新的数组 result

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值