Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lecture_4.doc
Скачиваний:
26
Добавлен:
05.09.2019
Размер:
360.96 Кб
Скачать

4.2. Использование полиномов в matlab.

4.2.1. Представление полиномов в MATLAB и полиномиальные функции.

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

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

Для введения в MATLAB, испоьзуем

p = [1 0 -2 -5];

Для получения краткой справки по полиномиальным функциям, наберите:

help polyfun

Список полиномиальных функций

Функция

Описание

conv

Умножение полиномов

deconv

Деление полиномов

poly

Определения полинома с заданными корнями

polyder

Производная от полинома

polyfit

Подбор кривой полиномом

polyval

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

polyvalm

Вычисление значения матричного полинома

residue

Разложение дробно-рационального полинома на простые дроби

roots

Определение корней полинома

Вычисление корней полинома.

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

r = roots(p)

r =

2.0946

-1.0473 + 1.1359i

-1.0473 - 1.1359i

MATLAB хранит корни полиномов в вектор-столбце. Функция poly возвращает коэффициенты полинома:

p2 = poly(r)

p2 =

1 8.8818e-16 -2 -5

poly и roots являются обратными функциями одна относительно другой.

Вычисление полинома при определенном значении.

Вычисление полинома при заданном значении возвращает функция polyval. Вычислим p при s = 5,

polyval(p,5)

ans =

110

Возможно также вычисление полинома от матрицы. Если p(x) = x3 – 2x – 5, имеем, p(X) = X3 – 2X – 5I, где X – квадратная матрица и I единичная матрица. Например:

X = [2 4 5; -1 0 3; 7 1 5];

Y = polyvalm(p,X)

Y =

377 179 439

111 81 136

490 253 639

Умножение и деление полиномов.

Функции conv и deconv возвращают произведение и частное полиномов. Рассмотрим а(s) = s2 + 2s + 3 и b(s) = 4s2 + 5s + 6. Для вычисления их произведения,

a = [1 2 3]; b = [4 5 6];

c = conv(a,b)

c =

4 13 28 27 18

Для получения сомножителя b, воспользуемся делением c на а,

[q,r] = deconv(c,a)

q =

4 5 6

r =

0 0 0 0 0

Вычисление производной от полинома.

Функция polyder возвращает производную от любого полинома. Например, определим производную от полинома,

р = [1 0 -2 -5],

q = polyder(p)

q =

3 0 -2

Функция polyder также вычисляет производную от произведения или частного двух полиномов. Например,

a = [1 3 5];

b = [2 4 6];

Вычислим производную от произведения a*b вызвав функцию polyder с одним аргументом:

c = polyder(a,b)

c =

8 30 56 38

Вычислим производную от частного a/b вызвав функцию polyder с двумя аргументами:

[q,d] = polyder(a,b)

q =

-2 -8 -2

d =

4 16 40 48 36

q/d – результат операции.

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

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

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

poly(A)

ans =

1.0000 -3.9500 -1.8500 -163.2750

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

33

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]