Дифференцирование и интегрирование многочленов¶
В этом примере показано применение функций derivative()
и integrate()
из библиотеки Polynomials.jl для аналитического нахождения производных и интегралов многочленов.
Подключим библиотеку Polynomials.jl:
using Polynomials
Дифференцирование многочленов¶
Зададим многочлен $p(x) = x^3-4x^2+7$
p = Polynomial([7, 0, -4, 1])
Найдём первую производную многочлена $q_1(x)=p'(x)=3x^2-8x$:
q_1 = derivative(p)
Найдём вторую производную многочлена $q_2(x) = q_1'(x)= p''(x) = 6x-8$:
q_2 = derivative(p, 2)
Найдём производную рационального выражения $\frac{a(x)}{b(x)}$, где $a(x)$ и $b(x)$ - многочлены:
a = Polynomial([5, 3, 1]);
b = Polynomial([6, 4, 2]);
ab = a // b
Первая производная такого выражения будет равна:
$$c(x) = \left( \frac{a(x)}{b(x)} \right)' = \left( \frac{x^2+3x+5}{2x^2+4x+6} \right)' = \frac{-2x^2-8x-2}{4x^4+16x^3+40x^2+48x+36}$$
В случае, если функция derivative()
при вычислении производной рациональной функции возвращает одно значение, то полученное значение также будет рациональной функцией:
c = derivative(ab)
Если же функция derivative()
при вычислении производной рациональной функции возвращает два значения, то мы получим многочлены числителя и знаменателя результирующего выражения:
$$c(x) = \frac{c_n(x)}{c_d(x)} = \frac{-2x^2-8x-2}{4x^4+16x^3+40x^2+48x+36}$$ $$c_n(x) = -2x^2-8x-2$$ $$c_d(x) = 4x^4+16x^3+40x^2+48x+36$$
c_n, c_d = derivative(ab)
[c_n, c_d]
Интегрирование многочленов¶
Найдем интеграл многочлена
$$s_0(x) = \int q_1(x) dx = \int \left(3x^2-8x\right) dx = x^3-4x^2 :$$
s_0 = integrate(q_1)
Найдём интеграл этого же многочлена, но с добавлением свободного коэффициента:
$$s(x) = \int q_1(x) dx +C= \int \left(3x^2-8x\right) dx +7 = x^3-4x^2+7$$
s = integrate(q_1, 7)
Вывод¶
В этом демонстрационном примере были рассмотрены способы дифференцирования и интегрирования многочленов средствами библиотеки Polynomials.jl.