вирішувачі диф

Для вирішення систем ОДУ в MatLAB реалізовані різні методи. Їх реалізації названі вирішувачі ОДУ. Вирішувачі реалізують такі методи вирішення систем диференціальних рівнянь:

Все вирішувачі (ode45, ode23, ode133, ode15s, ode23s, ode23t, ode23tb) можуть вирішувати системи рівнянь явного виду y '= F (t, y). Вирішувачі ode15s, ode23s, ode23t, ode23tb можуть вирішувати рівняння неявного виду F (t, y, y ') = 0.

· Ode45 - однокрокові явні методи Рунге-Кутта 4-го і 5-го порядку. У багатьох випадках він дає хороші результати;

· Ode23 - однокрокові явні методи Рунге-Кутта 2-го і 3-го порядку. При помірній жорсткості системи ОДУ і низьких вимогах до точності цей метод може дати виграш в швидкості вирішення;

· Ode133 - багатокроковий метод Адамса-Башворта-Мултона змінного порядку. Це адаптивний метод, який може забезпечити високу точність рішення;

· Ode15s - багатокроковий метод змінного порядку (від 1-го до 5-го, за замовчуванням 5), який використовує формули чисельного диференціювання. Це адаптивний метод, егостоіт застосовувати, якщо вирішувач ode45 не забезпечує вирішення;

· Ode23s - однокроковий метод, який використовує модифіковану формулу Розенброка2-го порядку. Може забезпечити високу швидкість обчислень при низькій точності;

· Ode23t - метод трапецій з інтерполяцією. Цей метод дає хороші результати прірешеніі завдань, що описують осцилятори з майже гармонійним вихідним сигналом;

· Ode23tb - неявний метод Рунге-Кутта на початку рішення і метод, який використовує формули зворотного диференціювання 2-го порядку в подальшому. При низькій точності цей метод може виявитися більш ефективним, ніж ode15s.

В М-файлі з ім'ям pr7.m пишемо:

Потім в командному вікні викликаємо функцію ode113:

Результатом буде графік:

Необхідно реалізувати метод Рунге-Кутта 4 порядку і вирішити задачу Коші для запропонованої системи диференціальних рівнянь:

В М-файлі з ім'ям pr8.m пишемо:

Потім в командному вікні викликаємо функцію ode45:

[X, y] = ode45 (@ pr8, [1 10], [0.1 0.5]);