Вычисление полиномов
В этом разделе приведены функции вычисления коэффициентов характеристического полинома, значения полинома в точке и матричного полинома.
poly(A) — для квадратной матрицы А размера
пхп
возвращает вектор-строку размером n+1, элементы которой являются коэффициентами характеристического полинома det(A-sI), где I — единичная матрица, as — оператор Лапласа. Коэффициенты упорядочены по убыванию степеней. Если вектор состоит из
п+1
компонентов, то ему соответствует полином вида c
1
s^n+...+c
n
s+c
n+1
;
poly (г) — для вектора г возвращает вектор-строку р с элементами, представляющими собой коэффициенты полинома, корнями которого являются элементы вектора г. Функция roots(p) является обратной, ее результаты, умноженные на целое число, дают poly (r ).
А =
2 3 6
3 8 6
1 7 4
» d=poly(A)
d =
1.0000 -14.0000 -1.0000-40.0000
» А=[3,6.8:12.23.5:11.12.32]
А =
3 6 8
1223 5
1112 32
» poly(A)
ans =
1.0000 -58.0000 681.0000 818.0000
Приведенная ниже функция вычисляет корни (в том числе комплексные) для полинома вида
roots (с) — возвращает вектор-столбец, чьи элементы являются корнями полинома с.
Вектор-строка с содержит коэффициенты полинома, упорядоченные по убыванию степеней. Если с имеет n+1 компонентов, то полином, представленный этим вектором, имеет вид . Пример:
» x=[7.45.12.23];d=roots(x)
d =
-6.2382
-0.0952+0.7195i
-0.0952 -0.7195i
А=[-6.2382 -0.0952+0.71951 -0.0952 -0.71951]:
B=Poly (А)
В=[1.0000 6.4286 1.7145 3.2859]
В*7
ans =
7.0000 45.000212.001523.0013
С погрешностью округления получили тот же вектор.
polyval (p,x) — возвращает значения полинома р, вычисленные в точках, заданных в массиве х. Полином р — вектор, элементы которого являются коэффициентами полинома в порядке уменьшения степеней, х может быть матрицей или вектором. В любом случае функция polyval вычисляет значения полинома р для каждого элемента х;
[у.delta] = polyval (p. x.S) или [у,delta] = polyval (p.x.S.mu)— использует структуру S, возвращенную функцией polyfit, и данные о среднем значении (mu(l)) и стандартном отклонении (mu(2)) генеральной совокупности для оценки пр-грешности аппроксимации (y+delta).
Пример:
» р=[3,0.4.3]; d=polyval(p,[2,6])
d =
35 675
polyvalm(p.X) — вычисляет значения полинома для матрицы. Это эквивалентно подстановке матрицы X в полином р. Полином р — вектор, чьи элементы являются коэффициентами полинома в порядке уменьшения степеней, а X — квадратная матрица.
Пример:
» D=pascal(5) |
|||||
D = |
|||||
1 1 |
1 |
1 |
1 |
||
1 2 |
3 |
4 |
5 |
||
1 3 |
6 |
10 |
15 |
||
1 4 |
10 |
20 |
35 |
||
1 5 |
15 |
35 |
70 |
||
f =
1.0000 -99.0000 626.0000 -626.0000 99.0000-1.0000
» polyvalm(f.D)
ans =
l.0e-006*
-0.0003 -0.0011-0.0038-0.0059-0.0162
-0.0012 -0.0048-0.0163-0.0253-0.0692
-0.0034 -0.0131 -0.0447 -0.0696 -0.1897
-0.0076 -0.0288-0.0983-0.1529-0.4169
-0.0145-0.0551-0.1883-0.2929-0.7984
Данный пример иллюстрирует также погрешности численных методов, поскольку точное решение дает нулевую матрицу.