Вычисление значений полинома

1.0000 -3.9500 -1.8500 -163.2750

Poly(A)

Характеристические полиномы

2.0946

Корни полинома

Представление полиномов

Полиномы и действия над ними

Полиномы и интерполяция

0 5.1883

14.9359 0

0 0

0 5.1883

14.9359 0

2 7

6 8

9 4

Для матрицы

A =

полное сингулярное разложение задается в форме

 

[U,S,V] = svd(A)

и приводит к следующим результатам

 

U =

-0.6105 0.7174 0.3355

-0.6646 -0.2336 -0.7098

-0.4308 -0.6563 0.6194

S =

V =

-0.6925 0.7214

-0.7214 -0.6925

Вы можете убедиться, что матрица U*S*V' равна Ас точностью до ошибок округления. Для этого примера экономичная декомпозиция дает незначительный эффект.

[U,S,V] = svd(A,0)

U =

-0.6105 0.7174

-0.6646 -0.2336

-0.4308 -0.6563

S =

V =

-0.6925 0.7214

-0.7214 -0.6925

 

Как и в первом случае, матрица U*S*V'равнаA с точностью до ошибок округления.

 

 

В этом разделе мы ознакомимся с основными функциями MATLAB-а, которые дают возмож-ность осуществлять математические действия с полиномами и производить интерполяцию одно-, двух-, и многомерных данных.

 

 

Обзор полиномиальных функций
Функция Описание
conv Умножение полиномов.
deconv Деление полиномов.
poly Вычисление характеристического полинома матрицы или определение полинома с заданными корнями.
polyder Вычисление производных от полиномов.
polyfit Аппроксимация данных полиномом.
polyval Вычисление значений полиномов в заданных точках.
polyvalm Вычисление значений матричного полинома.
residue Разложение на простые дроби (вычисление вычетов).
roots Вычисление корней полинома.

 

 

MATLAB представляет полиномы как векторы-строки, содержащие коэффициенты полино-мов по убывающим степеням. Например, рассмотрим следующее уравнение

p(x) = x3 – 2x – 5

Это известный пример Валлиса (Wallis), использованный при первом представлении метода Ньютона во Французкой Академии. Мы будем использовать его в дальнейшем при рассмот-рении примеров использования различных функций. Для ввода данного полинома в MATLAB, следует записать

p = [1 0 -2 -5].

 

Корни полинома вычисляются при помощи функци roots :

 

r = roots(p)

r =

-1.0473 + 1.1359i

-1.0473 - 1.1359i

MATLAB запоминает вычисленные корни как вектор-столбец. Функцияpolyвыполняет об-ратную роль, то есть по заданным корням полинома вычисляет значения его коэффициентов (обратите внимание на значение второго коэффициента, который в идеале равен нулю).

 

p2 = poly(r)

p2 =

1 8.8818e-16 -2 -5

Функции poly и roots являются взаимно-обратными функциями, с точностью до упорядоче- ния коэффициентов, масштабирования и ошибок округления.

 

Функция poly вычисляет также коэффициенты характеристического полинома матрицы:

 

A = [1.2 3 -0.9; 5 1.75 6; 9 0 1];

ans =

Корни данного полинома, вычисленные при помощи функции roots, являются собственными значениями (характеристическими числами) матрицы А. (При практических расчетах, для вычисления собственных значений матриц целесообразно вычислять их посредством функ-ции eig.)

Функция polyval вычисляет значение полинома в заданных точках. Для вычисления p в точ-ке s= 5, следует записать