MATLAB - 多項式的導數



在數學中,導數表示函式相對於變數的變化率。簡單來說,它告訴我們函式在任何給定點的變化情況。導數是微積分的基礎,廣泛應用於物理學、工程學和經濟學等領域,用於模擬變化和運動。

例如,如果你有一個函式描述了汽車隨時間變化的位置,那麼該函式的導數將給出汽車的速度(位置的變化率)。

多項式的導數

多項式是由變數的不同冪與係數組合而成的數學表示式。例如,多項式 P(x) = 3x2 + 2x + 5 是一個二次多項式。

多項式函式的導數是透過應用一個簡單的規則找到的:對於每一項,將係數乘以指數,然後將指數減 1。這個過程對多項式中的每一項重複。

例如,考慮多項式

P(x) = 3x3 + 4x2 + 2x + 1

導數 ,P′(x),計算如下:

  • 對於項 3x3:將 3 乘以 3(指數),得到 9x2。
  • 對於項 4x2:將 4 乘以 2,得到 8x。
  • 對於項 2x:將 2 乘以 1,得到 2。
  • 常數項 (1) 的導數為 0。

因此,導數為:

P′(x) = 9x2 + 8x + 2

MATLAB 中的導數

MATLAB 使用內建函式可以輕鬆計算多項式的導數。MATLAB 中的多項式由一個向量表示,該向量包含其係數,並按變數的降冪排序。

為了找到多項式的導數,MATLAB 提供了 polyder 函式。

語法

k = polyder(p)
k = polyder(a,b)
[q,d] = polyder(a,b)

語法解釋

k = polyder(p) 計算由 p 中的係數給出的多項式的導數,得到一個新的多項式 k(x),它表示導數 d/dx p(x)。

k = polyder(a,b) 計算兩個多項式 a 和 b 的乘積的導數,得到一個新的多項式 k(x),它表示。

$$\mathrm{\frac{d}{dx}[a(x) \: \cdot \: b(x)]}$$

[q, d] = polyder(a, b) 計算兩個多項式 a 和 b 的商的導數,返回兩個多項式:q(x)(分子)和 d(x)(分母),表示 a(x)/b(x) 的導數。

示例 1:使用 polyder(p) 計算導數

假設我們有一個多項式

P(x) = 4x3 + 3x2 + 2x + 1

這個多項式可以用 MATLAB 中的係數向量表示:

p = [4 3 2 1];

為了計算這個多項式的導數,我們在 MATLAB 中使用 polyder 函式:

k = polyder(p);

在 matlab 命令視窗中執行程式碼後,輸出結果為。

>> p = [4 3 2 1];
k = polyder(p)

k =

    12     6     2

>>

對於項 4x3,導數為 12x2(將係數 4 乘以指數 3,並將指數減 1)。

對於項 3x2,導數為 6x。

對於項 2x,導數為 2。

對於常數項 1 的導數為 0。

因此,導數多項式為

k(x) = 12x2 + 6x + 2

在 Matlab 中,k 的結果將是:[12 6 2]

示例 2:另一個查詢多項式導數的示例

考慮以下多項式

p(x) = 5x4 + 2x3 + 7x2 - 3x + 8  

這個多項式可以用 MATLAB 中的係數向量表示:

p = [5 -2 7 -3 8]

為了找到這個多項式的導數,我們將使用 matlab 中的 polyder 函式。

k = polyder(p)

此命令將返回多項式 p 的導數的係數。

當您在 matlab 命令視窗中執行程式碼時,輸出結果為

>> p = [5 -2 7 -3 8];
k = polyder(p)

k =

    20    -6    14    -3

>> 

向量 k = [20 -6 14 -3] 表示多項式

k(x) = 20x3 - 6x2 + 14x - 3

示例 3:使用 polyder(a, b) 計算兩個多項式乘積的導數

讓我們考慮兩個多項式

a(x) = 2x2 + 3x  + 1
b(x) = 4x + 5

這些多項式可以用 MATLAB 中的係數向量表示

a = [2 3 1]
b = [4 5]  

為了計算這兩個多項式乘積的導數,我們使用帶兩個輸入引數的 polyder 函式。

k = polyder(a, b);

這將返回 a(x) 和 b(x) 的乘積的導數的係數。

當您在 matlab 命令視窗中執行程式碼時,得到的輸出結果為

>> a = [2 3 1];
b = [4 5];  
k = polyder(a, b)

k =

    24    44    19

>>

因此,導數多項式為:k(x) = 24x2 + 44x + 19

示例 4:兩個給定多項式的導數

考慮兩個不同的多項式。

a(x) = 3x3 + 2x2 + x + 4
b(x) = x2 - 5x + 6

這些多項式可以用 MATLAB 中的以下係數向量表示。

a = [3 2 1 4];
b = [1 -5 6];

為了計算這兩個多項式乘積的導數,我們使用以向量 a 和 b 作為輸入的 polyder 函式

k = polyder(a, b);

此命令將返回 a(x) 和 b(x) 的乘積的導數的係數。

當代碼在 matlab 命令視窗中執行時,輸出結果為

>> a = [3 2 1 4];
b = [1 -5 6];
k = polyder(a, b)

k =

    15   -52    27    22   -14

>> 

因此,導數多項式為:

k(x) = 15x4 - 52x3 + 27x2 + 22x - 14

示例 5:使用 [q, d] = polyder(a, b) 計算兩個多項式商的導數

讓我們考慮兩個多項式:

a(x) = 4x2 + 3x + 2
b(x) = x2 - 2x + 1

這些多項式可以用 Matlab 中的係數向量表示。

a = [4 3 2];
b = [1 -2 1];

為了計算 a(x) / b(x) 的導數,我們使用帶兩個輸出引數 q 和 d 的 polyder 函式。

[q,d] = polyder(a,b)

這將返回兩個多項式:q(x)(分子)和 d(x)(分母),表示 a(x) / b(x) 的導數。

當代碼在 matlab 命令視窗中執行時,輸出結果為

>> a = [4 3 2];
b = [1 -2 1];
[q,d] = polyder(a,b)

q =

   -11     4     7


d =

     1    -4     6    -4     1

>> 
廣告
© . All rights reserved.