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.
                    Нижче показано, як просто це зробити :
   39   40   41   42   43   44   45   46   47   48   49