Page 131 - 363_
P. 131

132




            потребують, щоб у процедурі правих частин було лише два вхідних параметри,
            а у процедури FM1 їх три), а по-друге, така форма потребує утворення нових

            М-файлів методів чисельного інтегрування, як це створено зараз.
                   Можна цього уникнути, перетворюючи ім’я додаткової функції Mpfun на

            глобальну змінну. Тоді процедура правих частин може бути записана у вигляді:
                   function z = FM2(t,y);
                   %  Процедура правих частин рівняння Фізичного Маятника.
                   %  Здійснює розрахунок вектора “z” похідних вектора “у” змінних стану
                   %  за формулами:
                   %                             z(l)=y(2);
                   %                             z(2)= - sin(y(l)) +S(t,y),
                   % де вхідні параметри:
                   %       mpfun - ім'я процедури S(t,y)
                   %        mpfun = 'S';
                   %       t - поточний момент часу;
                   %       у - поточне значення вектора змінних стану;
                   %        вихідні параметри:
                   %       z - вектор значень похідних від змінних стану.
                              global MPFUN
                              z(l) = y(2);
                              z(2) = - sin(y(l)) + feval(MPFUN,t,y);
                        % Кінець процедури FM2
                   Тепер процедура FM2 має лише два вхідних параметри, що передаються
            через заголовок, і може бути використаною будь-якою процедурою чисельного

            методу  інтегрування,  у  тому  числі,  процедурами  ode23  та  ode45.  Необхідно

            лише  пам'ятати,  що  у  головній  програмі,  де  здійснюється  звернення  до
            процедури, змінній MPFUN спочатку слід присвоїти деяке текстове значення

            (ім'я функції, яка буде використовуватися у процедурі правих частин), а потім

            вона має бути оголошеною як глобальна. Наприклад, якщо буде використана
            раніше  утворена  процедура  MomFunl,  у  головному  Script-файлі  повинні

            існувати рядки:
                                                MPFUN = 'MomFml';

                                                                 global MPFUN.



                                              12.3 Завдання
                   Завдання  1.  Створити  М-файл  методу  чисельного  інтегрування
            диференційних  рівнянь  відповідно  до  формул,  наведених  у  таблицях  12.1

            (Методи Рунге-Кутта – y m+1 = y m+ h F(t m, y m) ) та 12.2 ( багатокрокові методи).
   126   127   128   129   130   131   132   133   134   135   136