Page 44 - 363_
P. 44
45
5 Операції з поліномами
У системі MatLAB передбачені деякі додаткові можливості
математичного оперування з поліномами.
Поліном (багаточлен) визначається наступним виразом:
n 2
P(x) = a nх +...+а 2x +a 1х+а 0.
У системі MatLAB поліном задається і зберігається у вигляді вектора,
елементами якого є коефіцієнти полінома від а n до a 0:
P = [an, ...a2, al, a0].
5.1 Введення поліномів
Введення поліномів у MatLAB здійснюється таким само чином, як і
введення вектора розміром n+l, де n - порядок полінома.
5.2 Дії над поліномами
Множення поліномів. Добутком двох поліномів степенів n і m, як відомо,
називають поліном степеня n+m, коефіцієнти якого знаходять простим
множенням цих двох поліномів. Фактично операція множення двох поліномів
зводиться до побудови розширеного вектора коефіцієнтів за заданими
векторами коефіцієнтів поліномів-множників. Цю операцію у математиці
називають згортанням векторів (а сам вектор, що знаходиться у результаті такої
процедури – вектором-згорткою двох векторів). У MatLAB її здійснює функція
conv(Pl, P2).
Аналогічно функція deconv(P1, P2) здійснює ділення полінома P1 на
поліном P2, тобто обернене згортання (розгортання) векторів P1 і P2. Вона
визначає коефіцієнти полінома, що є часткою від ділення P1 на P2.
Приклад :
>> pl = [l, 2, 3]; p2 = [l, 2, 3, 4, 5, 6];
>> p = conv(pl, p2)
p =
1 4 10 16 22 28 27 18
>> deconv(p, pl)
ans =
1 2 3 4 5 6
Система MatLAB має функцію roots(P), яка обчислює вектор, елементи
якого є коренями заданого полінома P. Нехай потрібно знайти корені полінома:
2
3
5
4
P(x) = x + 8x + 3 lx + 80x + 94x + 20.
Нижче показано, як просто це зробити :