![]() |
![]() |
![]() |
Вычисление полиномов
В этом разделе
приведены функции вычисления коэффициентов характеристического полинома, значения
полинома в точке и матричного полинома.
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=poly(d)
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
Данный пример иллюстрирует также погрешности численных методов, поскольку точное решение дает нулевую матрицу.
![]() |
![]() |
![]() |