p( x) = an x n + an −1 x n −1 + ... + a1 x + a0
Порядок многочлена равен высшей степени аргумента — n.
Полином и целая рациональная функция — синонимы многочлена.
Рациональная функция отличается от многочлена тем, что с аргументом допускается
также операция возведения в целую отрицательную степень.
Дробно-рациональная функция — это функция, получаемая в результате деления
двух рациональных функций. Очевидно, что любую дробно-рациональную функцию
можно представить как отношение многочленов.
В MATLAB многочлен представляется вектором коэффициентов в порядке
убывания степеней [ an an −1 ... a1 a0 ] длиной ( n + 1) .
>> p = [4 2 7 1 8 9];
Умножение многочленов
Умножение многочленов эквивалентно операции свертки их векторов
коэффициентов — конволюции, выполняемой с помощью функции:
c = conv(a,b)
где:
a,b — коэффициенты многочленов сомножителей в порядке убывания степеней —
векторы длиной ( m + 1) и ( n + 1) соответственно;
c — коэффициенты многочлена произведения в порядке убывания степеней —
вектор длиной [ ( m + 1) + ( n + 1) − 1] .
Найдем произведение многочленов:
c( x) = 4 x8 + 14 x 7 + 33x 6 + 60 x5 + 60 x 4 + 87 x3 + 74 x 2 + 101x + 63 .
1 1
Проверим: x1,2 = ± − 4 ≈ 0,5 ± 1,9365i .
2 4
Найдем корни уравнения x7 + 2 x 6 + 0,5 x5 + x 4 + 3 x3 + x 2 + 7 x − 3 = 0 :
>> p = [1 2 0.5 1 3 1 7 -3];
>> c = roots(p)
c =
4
-1.7705 + 0.5886i
-1.7705 - 0.5886i
-0.2834 + 1.1722i
-0.2834 - 1.1722i
0.8640 + 0.9018i
0.8640 - 0.9018i
0.3799
Получены три пары комплексно сопряженных корней и один вещественный.
Восстановление многочлена по его корням
Обратная процедура — восстановление коэффициентов многочлена по его корням
выполняется с помощью функции:
p = poly(c)
где:
c — корни многочлена — вектор-столбец длиной n;
p — коэффициенты многочлена в порядке убывания степеней — вектор длины
(n + 1) .
0.8
0.6
0.4
0.2
0
x1 x2
-0.2
-0.4
0 1 2 3 4 5 6 7
x2 =
4.7124
1.2
sin(x)/x
1 Polinomial degree 5
Error
0.8
0.6
0.4
0.2
-0.2
-0.4
0 2 4 6 8 10 12 14
1.2
sin(x)/x
1 Polinomial degree 2
Error
0.8
0.6
0.4
0.2
-0.2
-0.4
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5
1
sin(x)/x
cubic
0.8
spline
0.6
0.4
0.2
-0.2
-0.4
0 2 4 6 8 10 12 14
z = peaks(x,y)
cubic
40
30
20
10
-10
4
2 5
0
0
-2
-4 -5
0.8
0.6
0.4
0.2
-0.2
Local minimum
-0.4
0 2 4 6 8 10 12 14
30
25
20
15
10
4
2 4
0 2
0
-2 -2
-4 -4
b
∫ y( x)dx
a
18
int =
333.3500
Вычислим интеграл аналитически:
10
10
2 x3 103 1000
∫ x dx =
3
=
3
=
3
≈ 333,3333 .
0 0