MATLAB中function_handle函数用法

目录

说明

创建对象

示例

命名函数求积分

匿名函数求积分


        function_handle函数所表示的是函数的句柄。

说明

        函数句柄是一种表示函数的 MATLAB® 数据类型。函数句柄的典型用法是将函数传递给另一个函数。例如,可以将函数句柄用作基于某个值范围计算数学表达式的函数的输入参数。函数句柄的其他典型用法包括:

  • 指定回调函数(例如,响应 UI 事件或与数据采集硬件交互的回调)。

  • 构造以内联方式定义而非存储在程序文件(匿名函数)中的函数的句柄。

创建对象

使用 @ 运算符创建一个函数句柄。函数句柄可以表示命名函数或匿名函数。

  • 命名函数句柄表示现有程序文件中的函数,包括 MATLAB 中提供的函数以及使用 function 关键字创建的函数。要创建命名函数的句柄,请在函数名称前加上 @。

    ​例如,创建 sin 函数的句柄,然后使用 fminbnd 求得使 sin(x) 在 0 到 2π 范围内最小的 x 的值:​

    f = @sin;
    m = fminbnd(f,0,2*pi);
  • 匿名函数句柄(通常称为匿名函数)表示返回一个输出的单个内联可执行表达式。要定义匿名函数,请在 @ 运算符后紧接着用括号将输入参数名称括起来,然后指定可执行表达式。

    例如,创建用于计算表达式 x2 − y2 的匿名函数的句柄:

    f = @(x,y) (x.^2 - y.^2);

    匿名函数可以接受多个输入,但只返回一个输出。

示例

命名函数求积分

        在当前文件夹中的一个文件中,创建一个名为 cubicPoly 的函数,该函数接受一个输入来计算三次多项式

function y = cubicPoly(x)
y = x.^3 + x.^2 + x + 1; 
end

        要求 cubicPoly 从 0 到 1 的积分,请将 cubicPoly 函数的句柄传递给 integral。

q = integral(@cubicPoly,0,1)
q = 2.0833

匿名函数求积分

        创建一个匿名函数的句柄 f,该函数对给定的 x 值计算三次多项式 x^3+x^2+x+1。

f = @(x) x.^3 + x.^2 + x + 1;

        要求该匿名函数从 0 到 1 的积分,请将其句柄传递给 integral。

q = integral(f,0,1)
q = 2.0833

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值