Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Имитац. моделирование.docx
Скачиваний:
38
Добавлен:
29.10.2018
Размер:
2.97 Mб
Скачать

3. Численные методы решения дифференциальных уравнений

3.1. Постановка задачи

Дифференциальными называются уравнения, содержащие одну или несколько производных. Инженеру очень часто приходится сталкиваться с ними при разработке новых изделий или технологических процессов, так как большая часть законов физики формулируется именно в виде дифференциальных равнений. Любая задача проектирования, связанная с расчетом потоков энергии или движением тел, в конечном счете, сводится к решению дифференциальных уравнений. Лишь очень немногие из них удается решить без помощи вычислительных машин. Поэтому численные методы решения дифференциальных уравнений играют такую важную роль в практике инженерных расчетов и в моделировании.

При реализации цифровых систем управления инженеру системотехнику приходится решать дифференциальные уравнения в реальном масштабе времени, т.е. непосредственно в процессе управления объектом. Примером могут служить цифровые регуляторы в системах управления электроприводами металлорежущих станков и промышленных роботов, а также цифровые системы управления автомобильными и авиационными двигателями, летательными аппаратами, морскими судами и т.д.

Рис. 3.1. Решения дифференциального уравнения

Известные математические программы – MathCAD, Matlab, Mathematica и др. непригодны для решения таких задач. Эти программы занимают в ЭВМ много памяти и, кроме того, они не могут работать в реальном масштабе времени. Поэтому для построения компактных, работающих в реальном времени цифровых моделей и систем инженеру приходится самостоятельно разрабатывать алгоритмы и программы для решения дифференциальных уравнений тем или иным численным методом.

В зависимости от числа независимых переменных и, следовательно, типа входящих в них производных дифференциальные уравнения делятся на две различные категории:

обыкновенные, содержащие одну независимую переменную и производные по ней, и уравнения в частных производных, содержащие несколько независимых переменных и производные по ним, которые называют частными.

Мы будем рассматривать методы решения только обыкновенных дифференциальных уравнений (ОДУ).

Дифференциальное уравнение первого порядка можно записать в виде

y' = f(y,t).

Это уравнение имеет семейство решений y(t) . Например, если f(y,t) = y , то для произвольной константы С функция y(t) = Cet является решением (рис.3.1). Выбор начального значения, скажем y(0) , служит для выделения одной кривой из семейства кривых. Зачастую имеется более чем одна зависимая переменная, и тогда задача заключается в решении системы уравнений первого порядка, например,

Решение этой системы содержит две постоянные интегрирования, и, следовательно, нужны два начальных условия, чтобы определить эти константы.

Если значения y и z указаны при одном и том же значении независимой переменной t0, то система будет иметь единственное решение. Задача определения y и z для будущих значений t > t0 называется задачей с начальными условиями или задачей Коши. Если же условия задаются при двух или более значениях независимой переменной, то задача называется краевой. В задаче Коши дополнительные условия называют начальными, а в краевой задаче – граничными.

Любое обыкновенное дифференциальное уравнение порядка n, которое можно записать так, что его левая часть есть производная наивысшего порядка, а в правой части эта производная не встречается, может быть записана из n уравнений первого порядка путем введения n-1 новых переменных.

Например, уравнение

u'' = g(u,u' t)

можно записать как систему

где z'(t) = u''(t).

При обсуждении методов для задачи Коши удобно представлять

себе единственное уравнение

y '= f(y,t)

с начальным условием y(t0 ) = y0. Однако методы с равным успехом применимы и к системам уравнений. Часто в задаче Коши в роли независимой переменной выступает время.

Пример 3.1

Примером может служить задача о траектории. Предположим, что снаряд выпускается с начальной скоростью V0 под заданным углом наклона Q0 к поверхности.

Рис 3.2. К задаче о траектории

Как видно из рис. 3.2 функции x(t) и y(t) обозначают координаты x и у снаряда в момент времени t, а функции и определяют его скорость V (t ) .

Расстояние xk , на котором упадет снаряд, зависит от целого ряда факторов: массы снаряда, начальной скорости, гравитационных сил и т.д.

Математическая модель этой задачи выводится из второго закона Ньютона:

(3.1)

где m - масса снаряда; F - результирующая действующих на снаряд сил.

На снаряд действуют две силы:

1) cила сопротивления воздуха

(3.2)

где C - коэффициент сопротивления; ρ - плотность воздуха; S - поперечное сечение снаряда;

2) сила гравитации

F2 = -mg, (3.3)

где g - ускорение свободного падения.

Чтобы записать уравнение (3.1) в переменных x и y , заметим, что сила сопротивления F1 действует вдоль оси снаряда, а сила гравитации F2 только в вертикальном направлении. Поэтому уравнение (3.1) можно записать покоординатно следующим образом:

(3.4)

Используя (3.2), (3.3) и меняя порядок членов, перепишем

уравнения (3.4) в виде:

(3.5)

Для численного решения необходимо преобразовать два уравнения второго порядка (3.5) в систему четырех уравнений первого порядка. Дифференцируя соотношение

(3.6)

Имеем

(3.7)

Подставляя теперь выражения (3.7) в уравнение (3.5) и разрешая последние относительно V& и Q&, получаем

(3.8)

Уравнения (3.6) вместе с (3.8) составляют систему четырех нелинейных уравнений первого порядка относительно функций x, y,V, θ. Это связанная система нелинейных дифференциальных уравнений, явное решение которых невозможно и возникает необходимость в приближенном численном решении на ЭВМ. Решение системы (3.6), (3.8) должно удовлетворять четырем необходимым начальным условиям.

Считаем, что снаряд выпускается в момент времени t = 0, так что

(x0) = 0,

(y0) = 0.

Другие два начальных условия даются соотношениями

Следовательно, в данном случае рассматривается задача Коши. При заданных характеристиках снаряда и заданном V0 имеется только один свободный параметр – угол стрельбы Q0. Его изменение будет, очевидно, приводить к изменению траектории.