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