Введение в MATLAB. Мироновский Л.А - 15 стр.

UptoLike

15
roots conv polyval
poly deconv residue
Дадим краткие пояснения к ним.
Команда roots предназначена для отыскания корней полинома. На
пример, чтобы решить квадратное уравнение
2
560xx112
, следует
набрать r=roots([1 5 6]), результатом будут значения корней r=[2; 3].
Функция poly выполняет обратную операцию – строит полином
по заданным корням. Так, p=poly([2 3]) даст p=[1 5 6]. Если в каче
стве входного аргумента функции poly фигурирует квадратная мат
рица, то результатом будет ее характеристический полином.
Следует иметь в виду, что вычисление корней полиномов высокой
степени с помощью команды roots может сопровождаться заметными
погрешностями, поэтому пользоваться ей следует с осторожностью.
Пример 1 (демонстрация ошибок при вычислении корней). Все
корни полинома
8
(1)x 1
вещественны и равны –1. Сформируем этот
полином командой poly и найдем его корни командой roots.
>>p=poly(ones(1, 8)), r=roots(p),
p = 1 8 28 56 70 56 28 8 1
r = 1.0203; 1.0142±0.0144i; 0.9998±0.0201i; 0.9858±0.0140i; –0.9801
В результате получили комплексные числа, причем их модуль от
личается от единицы на 2%. Если учесть, что MATLAB работает с
32разрядной сеткой, это очень большая погрешность.
В наглядной форме ошибки вычисления корней показаны на рис. 1.7.
1 1 1 1 1
1
1
1
1
1
Рис. 1.7