Engee 文档
Notebook

多项式的微分和积分

本例展示了如何使用 Polynomials.jl 库中的函数derivative()integrate() 来分析求多项式的导数和积分。

让我们连接 Polynomials.jl 库:

In [ ]:
using Polynomials

多项式微分

让我们定义一个多项式

In [ ]:
p = Polynomial([7, 0, -4, 1])
Out[0]:
7 - 4∙x2 + x3

求多项式的一阶导数

In [ ]:
q_1 = derivative(p)
Out[0]:
-8∙x + 3∙x2

求多项式的二次导数

In [ ]:
q_2 = derivative(p, 2)
Out[0]:
-8 + 6∙x

求有理表达式 的导数,其中 是多项式:

In [ ]:
a = Polynomial([5, 3, 1]);
b = Polynomial([6, 4, 2]);
ab = a // b
Out[0]:
(5 + 3*x + x^2) // (6 + 4*x + 2*x^2)

该表达式的一阶导数等于:

如果函数derivative() 在计算有理函数的导数时返回一个值,那么得到的值也将是有理函数:

In [ ]:
c = derivative(ab)
Out[0]:
(-2 - 8*x - 2*x^2) // (36 + 48*x + 40*x^2 + 16*x^3 + 4*x^4)

如果函数derivative() 在计算有理函数的导数时返回两个值,那么我们将得到所得表达式的分子和分母的多项式:

In [ ]:
c_n, c_d = derivative(ab)
[c_n, c_d]
Out[0]:
2-element Vector{Polynomial{Int64, :x}}:
 Polynomial(-2 - 8*x - 2*x^2)
 Polynomial(36 + 48*x + 40*x^2 + 16*x^3 + 4*x^4)

多项式积分

让我们求出多项式的积分

In [ ]:
s_0 = integrate(q_1)
Out[0]:
-4.0∙x2 + 1.0∙x3

让我们求同一多项式的积分,但要加上自由系数:

In [ ]:
s = integrate(q_1, 7)
Out[0]:
7.0 - 4.0∙x2 + 1.0∙x3

结论

在本演示中,我们了解了如何使用 Polynomials.jl 库微分和积分多项式。