Иллюстрированный самоучитель по Matlab

         

Вычисление полиномов


В этом разделе приведены функции вычисления коэффициентов характеристического полинома, значения полинома в точке и матричного полинома.

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

Данный пример иллюстрирует также погрешности численных методов, поскольку точное решение дает нулевую матрицу.


Содержание раздела