Page 126 - 363_
P. 126

127




             уніфікувати звернення до усіх функцій певного вигляду, тобто таких, що мають
             однакову кількість вхідних і вихідних параметрів відповідного типу. При цьому

             ім'я  функції,  яке  використовується,  може  бути  довільним  і  змінюватися
             протягом повторних обчислень.



                              12.2 Приклади створення процедур від функцій
            Процедура  метода  чисельного  інтегрування  Рунге-Кута  4-го  порядку.

            Нехай маємо систему звичайних диференційних рівнянь (ЗДР) у вигляді Коші:
                                                      dy
                                                                 ), t , y ( Z
                                                      dt
            де у –  вектор змінних стану системи;  t  – аргумент (час); Z – вектор заданих

            нелінійних функцій, який визначає систему ЗДР.
                    Якщо значення вектора у у момент часу  є відомим, то загальна формула,

            за якою знаходиться вектор yout значень змінних стану системи у момент часу

            tout=t+h,  де  h  –  крок  інтегрування,  при  значеннях  вектора  у  значень  цих
            змінних на попередньому кроці, має вигляд:

                                                 yout = y + hF(y, t).

                    Функція  F(y,  t),  яка  пов'язана  з  вектором  Z,  може  набувати  різного
            вигляду залежно від обраного методу чисельного  інтегрування.  Для  методу

            Рунге-Кута

            4-го порядку оберемо таку її форму:
                                                      F = (k 1+3k 2+3k 3+k 4)/8,

            де

                                               k 1=Z(y, t);
                                               k 2=Z(y + hk 1/3, t + h/3);

                                               k 3=Z(y + hk 2 – hk l/3, t + 2h/3);

                                               k 4 =Z(y + hk 3 – hk 2 – hk 1, t + h).
                    Утворимо  М-файл  процедури  чисельного  інтегрування,  назвавши  його

            RKI4:

                    function [tout, yout] = RKI4(Zpfun, h, t, y)
                    %   RKI4  Інтегрування ЗДР методом Рунге-Кута 4-го порядку.
                    %   праві частини яких задані процедурою Zpfun.
                    %   Вхідні змінні:
                    %   Zpfun - рядок, що містить ім'я процедури обчислення правих частин ЗДР
                    %   звернення: z = fun(t, y), де Zpfun = 'fun'
                    %   t     - поточний момент часу
                    %   у    - вектор поточних значень змінних стану
   121   122   123   124   125   126   127   128   129   130   131