在 MATLAB 中求函数句柄的导数

Mehak Mubarik 2022年6月7日
在 MATLAB 中求函数句柄的导数

我们将研究在 MATLAB 中查找函数句柄导数的不同方法。

我们将使用不同的示例代码和相关输出来清除你的概念,并让你全面了解在 MATLAB 中查找函数句柄的导数的方法。请注意,函数句柄是一种 MATLAB 数据类型,其中包含有关函数的信息。

间接调用函数允许你从任意点执行该函数。函数句柄通常用于以下目的:

  1. 将一个函数传递给另一个函数,我们通常称它们为函数的函数。将函数传递给集成和优化函数,例如 integralfzero,是一个应用程序。
    2、必须指定回调函数;例如,响应 UI 事件或与数据采集硬件交互的回调。
  2. 为内联而不是在软件文件中指定的函数创建句柄;匿名函数。
  3. 局部函数从主函数外部调用。

让我们了解在 MATLAB 中对函数句柄求导的方法。

在 MATLAB 中使用 diff 函数查找函数句柄的导数

在研究计算函数句柄导数的方法之前,了解我们如何在 MATLAB 中创建它。假设我们有以下代码行:

Isa(i,'function handle')

它可用于将变量 i 定义为函数句柄。

要为函数创建句柄,请在函数名称前使用@符号。例如,如果我们定义一个名为 my_defining_function 的函数,以创建一个标记为 f 的句柄,我们编写以下代码:

f = @my_defining_function

MATLAB 不知道函数句柄的参数符号表示什么。首先,我们应该使用 syms

让我们通过查看以下示例来理解这个概念。

代码:

syms y
func = @(y) y^3 + 5;
diff(func,y)

输出:

ans =

3*y^2

让我们看一些其他的例子。

我们首先将符号矩阵函数与其矩阵参数区分开来,然后确定函数 W(CX)=AXsin(BX*CX) 的导数,其中 A 是 1×3 矩阵,B 是一个三乘二矩阵,而 X 是一个二乘一矩阵。生成符号矩阵参数 ABX,以及符号矩阵函数 W(CX)

代码:

syms AX [1 3] matrix
syms BX [3 2] matrix
syms CX [2 1] matrix
syms W(X) [1 1] matrix keepargs
W(CX) = AX*sin(BX*CX)

输出:

W(CX) =

AX*sin(BX*CX)

现在,取导数:

代码:

Dt = diff(W,CX)

输出:

Dt(CX) =

AX*(cos(BX*CX) .* BX)

查看另一个示例以进行进一步练习:

代码:

syms F(Y)
F(Y) = sin (Y ^ 4);
dF = diff (F, Y)

输出:

dF(Y) =

4*Y^3*cos(Y^4)
作者: Mehak Mubarik
Mehak Mubarik avatar Mehak Mubarik avatar

Mehak is an electrical engineer, a technical content writer, a team collaborator and a digital marketing enthusiast. She loves sketching and playing table tennis. Nature is what attracts her the most.

LinkedIn

相关文章 - MATLAB Function