在 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