часто виявляється більш ефективним для пошуку гладких рішень. p align="justify"> Для подальшого розкриття даного питання необхідно більш ретельно розглянути дані функції:
rkfixed (y0, t0, t1, M, D) - метод Рунге-Кутта з фіксованим кроком;
rkadapt (y0, t0, t1, M, D) - метод Рунге-Кутта із змінним кроком;
buistoer (y0, t0, t0, M, D) - метод Булірша-Штера;
де у0 - вектор початкових значень в точці t0; - початкова точка розрахунку; - кінцева точка розрахунку; - число кроків, на яких чисельний метод знаходить рішення; векторна функція двох аргументів - скалярного t і векторного у. При цьому у - шукана векторна функція аргументу t того ж розміру. Кожна з наведених функцій видає рішення у вигляді матриці розміру (M +1) х (N +1). У її лівому стовпчику знаходяться значення аргументу t, що ділять інтервал на рівномірні кроки, а в інших N шпальтах - значення шуканих функцій y0 (t), y1 (t), ..., yN-i (t), розраховані для цих значень аргументу (рис. 1.3). Оскільки всього точок (крім початкової) M, то рядків в матриці рішення буде всього M +1. На малюнку 1.3 наведено приклад вирішення системи ОДУ за допомогою першої з функцій rkfixed. Результат розрахунків представлений на рис. 1.4 як вміст матриці. Щоб використовувати інший чисельний алгоритм, досить поміняти ім'я функції rkfixed в останньому рядку малюнка 1.3 на інше (на практиці якраз ефективніші функції Rkadapt і Bulstoer). br/>В
Малюнок 1.3 - Рішення системи двох ОДУ
В
Малюнок 1.4 - Результат, який видається вбудованою функцією в якості вирішення системи ОДУ
Перший рядок малюнка 1.3 представляє завдання параметрів моделі, друга - початкової умови задачі Коші, а в третьому рядку малюнка визначено число кроків, на яких розраховується рішення. Найважливіша - це передостанній рядок, в якій, власне, визначається система ОДУ. Останній рядок привласнює матричної змінної і результат дії функції rkfixed. Рішення системи ОДУ буде здійснено на проміжку (0,40). p align="justify"> Матриця, що представляє рішення, показана на рис. 1.4. Розмір отриманої матриці дорівнюватиме (M + i) x (N + l), тобто 51x3. Дивитись всі компоненти матриці і, які не поміщаються на екрані, можна за допомогою вертикальної смуги прокрутки. p align="justify"> Для вирішення єдиного рівняння (будь-якого порядку) необхідно використовувати обчислювальний блок Given/Odesolve. Рішення жорстких систем диференціальних рівнянь можна здійснити тільки за допомогою вбудованих функцій, аналогічних по дії сімейства розглянутих вище функцій для звичайних ОДУ:
-Radau (y0, t0, t1, M, F) - алгоритм RADAUS для жорстких систем ОДУ;
stiffb (y0, t0, 1, M, F, J) - алгоритм Булірша-Штера для жорстких систем ОДУ;
stiffr (y0, t0, t1, M, F, J) - алгоритм Розенброка для жорстких систем ОДУ: