Вычисление значений полинома
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, следует записать