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

>> 
广告