Page 10 - 4861
P. 10

функція  із  (4.1)  інтегрується  на  інтервалі  [t k  ;  t k+1].  Процес,  який  витікає  із  методу  Адамса-
             Бетфорса-Маултона, має такий вигляд:
                                                          h
                                              y    y      (t     5t   19t    9t  ).                                        (4.2)
                                                 1          2    1         1
                                                         24
                   Метод  Гіра,  який  реалізований  в  солвері  ode15s,  аналогічний  методу  Адамса-Бетфорса-
             Маултона, але допускає зміну порядку полінома Лагранжа.
                   Солвер ode23s реалізує одно кроковий метод Розенброка другого порядку, але має нижчу
             точність у порівнянні з солверами ode113 і ode15s.
                   Як приклад, розглянемо розв’язок D-моделі коливань маятника під дією зовнішньої сили.
             Рівняння руху маятника має такий вигляд
                                                                        t 
                                                    y   1  5 ,  y   12 y   e .                                                             (4.3)
                   Припустимо,  що  координата  точки  в  початковий  момент  часу  (t=0)  дорівнює  нулю,  а
             швидкість – одиниці. Тоді y(0)=0;  (  y  ) 0   . 1
                   Для  чисельного  розв’язку  рівняння  (4.3)  спочатку  необхідно  подати  у  вигляді  системи
             диференціальних  рівнянь.  Для  цього  введемо  допоміжні  змінні  y             i y  y   y .  Це  дає
                                                                                          1       2
             можливість рівняння (4.3) замінити системою диференціальних рівнянь:
                                                                
                                                               y   y  ,
                                                                1    2
                                                                            t 
                                                      y     5,1  y 12  y   e                                                      (4.4)
                                                       2         2      1
             з початковими умовами
                                                       y   ) 0 (    ; 0 y  ) 0 (   1.                                                           (4.5)
                                                        1         2
                   Другий  етап  –  написання  файл-функції  для  системи  рівнянь  (4.4). Файл-функція  повинна
             мати  два  вхідні  аргументи:  змінну  t,  за  якою  здійснюється  диференціювання,  і  вектор,  розмір
             якого дорівнює числу невідомих функцій системи. Вихідним аргументом файл-функції є вектор-
             функція,  компоненти  якої  є  функції,  що  утворюють  праві  частини  системи  диференціальних
             рівнянь (4.4).
                   Текст файл-функції для нашого прикладу під назвою oscil наведений на лістингу 4.1.

                      Лістинг 4.1 -  Файл-функція oscil, що відповідає диференціальним рівнянням (4.4)

                   function F= oscil (t,y)
                   F=[y(2);-1.5*y(2)-12*y(1)+exp(-t)];

                   Розв’яжемо задачу, використовуючи, наприклад солвер ode45. Вхідним аргументом солвера
             є:  ім’я  файл-функції  з  початковим  і  кінцевим  часом  і  вектор  початкових  умов.  Вихідних
             аргументи  два:  вектор,  що  вміщує  значення  часу  і  матриця  значень  функції  y i(t)  у  відповідні
             моменти часу. Значення відповідних величин розміщені в стовбцях матриці.
                   Застосування  солвера  для  знаходження  розв’язку  при  t     15   і  візуалізація  результатів
             продемонстровані на прикладі файл-програми DV_1, яка наведена на лістингу 5.2.

                        Лістинг 4.2 – Файл програма DV_1 для розв’язку диференціального рівняння

                   %Формування вектора початкових умов
                    Y0=[0;1];
                   %Виклик солвера для файл-функції, початкового
                   % і кінцевого моментів часу і вектора початкових умов
                    [T,Y]=ode45(@ocil,[0,8],Y0);
                   %Вивід графіка розв’язку моделі
                   Plot (T,Y(:,1),’r’,T,Y(:,2),’c’);

                   У  результаті  виконання  файл-програми  DV_1  на  екран  дисплея  виводяться  графіки,  які
             показані на рис. 4.1 і які відтворюють поведінку координати та її швидкості залежно від часу.


                                                               9
   5   6   7   8   9   10   11   12   13   14   15