
- •Операции со степенными полиномами
- •Аппроксимация табличных функций Общие понятия об аппроксимации и интерполяции
- •Аппроксимация табличных функций
- •Интерполирование табличных функций с помощью степенных полиномов
- •Численное интегрирование
- •Тригонометрическая интерполяция периодических функций. Гармонический анализ и синтез периодических функций
- •Нелинейный парный регрессионный анализ
- •Численное решение обыкновенных дифференциальных уравнений Общие понятия
- •Обзор численных методов решения ду
- •Методы Рунге-Кутта
- •Алгоритмы решения систем ду
- •Непосредственное численное решение систем ду с помощью стандартных функций программного пакета Matlab
- •Численное решение систем ду с помощью приложения Simulink
Численное решение обыкновенных дифференциальных уравнений Общие понятия
Дифференциальными называются уравнения (ДУ), содержащие, помимо независимой переменной (аргумента) и зависимой переменной (функции), также и одну или несколько производных функции.
Инженерам и научным работникам очень часто приходится с ними сталкиваться, так как большая часть законов физики формулируется именно в виде ДУ. К сожалению, лишь очень немногие из них удается решить аналитически. Например, очень простое с виду уравнение 1-го порядка
не имеет достаточно простого аналитического решения. Поэтому численные методы решения ДУ играют очень важную роль в практике инженерных расчетов.
Дифференциальные уравнения делятся на две существенно различные категории: обыкновенные ДУ, содержащие одну независимую переменную и производные по ней, и ДУ в частных производных, содержащие несколько независимых переменных и производные по ним. Кроме того, различают общие и частные решения ДУ, являющиеся аналогами неопределенного и определенного интеграла.
Чтобы
найти частное решение обыкновенного
ДУ
-го
порядка, необходимо знать значения
зависимой переменной и
ее производных при некоторых значениях
независимой переменной. Если эти
дополнительные условия задаются при
одном значении независимой переменной
(начальном),
то такая задача называется задачей
с начальными условиями
или задачей
Коши. Если
же эти условия задаются при двух или
более значениях независимой переменной,
то задача называется краевой.
При решении этих задач применяются
принципиально разные методы и алгоритмы.
Обыкновенное дифференциальное уравнение -го порядка имеет следующий вид:
, (1)
где – независимая переменная;
– переменная,
зависящая от
,
значения которой на некотором интервале
изменения независимой переменной xÎ[x0;
xk]
необходимо определить;
,
;
…;
– первая, вторая, …,
-я
производные зависимой переменной
по независимой переменной
.
Для того, чтобы найти частные решения уравнения (1) (для решения задачи Коши), должны быть заданы начальных условий
;
;
;
…;
. (2)
Если ДУ (1) удается разрешить относительно старшей производной, т.е., представить его в виде
, (3)
то его всегда путем введения вспомогательных переменных и проведения эквивалентных преобразований можно представить в виде системы ДУ первого порядка с n неизвестными зависимыми переменными (в нормальной форме Коши), записанных в канонической форме:
(4)
при известных начальных условиях
;
;
…;
. (5)
В
(4) и (5) y1,
y2,
…, yn
– массив вспомогательных переменных,
связанных с неизвестной функцией
и ее производными однозначными
алгебраическими зависимостями перехода
от уравнений (1) или (3) к системе (4).
Систему ДУ (4) можно представить в векторной форме:
(6)
с начальными условиями
. (7)
Обзор численных методов решения ду
Численное решение ДУ заключается в приближенном определении для функции , являющейся частным решением ДУ, таблицы ее значений для некоторой последовательности ее аргумента.
Большинство
численных методов решения ДУ вида (3)
основаны на представлении их в виде
(4), (5). Найти решение системы (4) – значит
найти значения функций
,
,
…,
в точках интервала
.
Таким образом, мы должны прийти к таблице,
и при этом аналитическое задание функции
будет неизвестно. Решения ДУ по таблице
определяются по строчкам в направлении,
указанном стрелкой.
Среди численных методов решения ДУ выделяют одноступенчатые и многоступенчатые.
В
одноступенчатых методах
для определения значения функции
в точке
,
т.е.
,
необходима информация о решении в
предыдущей точке, т.е.
.
К
одноступенчатым методам относятся
методы Рунге-Кутта (в частности, метод
Эйлера, метод Эйлера-Коши), наиболее
распространенные в практическом
применении.
Многоступенчатые
методы для
определения значения решения в точке
требуют информации о нескольких
предыдущих точках решения. Кроме того,
первоначальное решение затем уточняется
итерационно. Большинство таких методов
работают по принципу прогноза и коррекции,
к ним относятся методы Адамса, Гира,
Бэшфорта, Милна и др.
Одноступенчатые методы требуют меньше памяти, но работают при заданной точности медленнее, чем многоступенчатые.