Профессиональные математические пакеты
11.ОБЫКНОВЕННЫЕ ДИФФЕРЕНЦИАЛЬНЫЕ УРАВНЕНИЯ
Большинство научно-технических задач в области электроники и наноэлектроники (особенно, относящихся к анализу динамических систем и их математическому моделированию) базируются на решении систем обыкновенных дифференциальных уравнений (ОДУ). Практически любой физический закон, включающее величины, изменяющиеся с течением времени содержит информацию о скорости изменения этих величин (производные), а следовательно описывается дифференциальными уравнениями.
Дифференциальным уравнением (ДУ) называется уравнение, включающее в себя не только неизвестные функции, но и их производные относительно некоторых свободных переменных.
Решить дифференциальное уравнение – это записать в явном виде все функции, входящие в ДУ и все их производные, сводящие уравнение к тождеству. Иногда решения ищутся в виде явных формул, но чаще их удается представить лишь в приближенном виде или же получить о них качественную информацию. Часто бывает трудно установить, существует ли решение вообще, не говоря уже о том, чтобы найти его, в этой связи использование математических пакетов незаменимо.
Если в уравнение входит только первая производная, то оно называется ДУ первого порядка, если еще и вторая производная, то – второго, и т.д.
Если уравнение имеет производные относительно только одной свободной переменной, то оно называется обыкновенным дифференциальным уравнением
(ОДУ), а если оно включает в себя производные по различным переменным, то называется дифференциальным уравнением в частных производных (ДУЧП). В этом курсе ДУЧП не рассматриваются.
|
dy(t) |
|
d 2 y(t) |
|
d n y(t) |
0 . |
|
|||
Общий вид ОДУ n-ного порядка: F t, y(t), |
|
, |
|
|
,..., |
|
|
|
(54) |
|
|
|
2 |
|
n |
||||||
|
dt |
|
dt |
|
dt |
|
|
|
||
|
|
|
|
|
|
|
|
|||
Рассмотрим для начала ОДУ первого порядка:
|
|
dy(t) |
|
|
|
F t, y(t), y (t) 0 , где |
y (t) |
|
. |
(55) |
|
dt |
|||||
|
|
|
|
||
Если в уравнении (55) удается явно выразить производную |
y (t) и вынести ее в левую |
||||
часть, то такое дифференциальное уравнение называется явно заданным: |
|||||
|
|
|
|
(56) |
|
y (t) f (t, y(t)) . |
|
|
|||
Процесс решения дифференциального уравнения называется интегрированием и это понятно, ведь для нахождения первообразной функции по известной производной требуется ее проинтегрировать. Но этим решение ДУ не ограничивается (!), поскольку известно, что первообразную можно найти только с точностью до константы:
dy(t) |
|
||
|
|
dt y(t) C . |
(57) |
|
|||
dt |
|
|
|
Таким образом, решением задачи (55) является не одна функция |
y(t) , а целое |
||
семейство таких функций, отличающихся константой (а в некоторых случаях – целый набор таких семейств функций). Каждая отдельная функция называется интегральной кривой (или частным решением), в то время как зависимость описывающая все (!) возможные частные решения – называется общим решением.
Решить ДУ, это значит описать именно общее решение, однако на практике, в задачах электродинамики и т. п., зачастую требуется выбрать из семейства решений одно единственное, обладающее дополнительными свойствами. Эти свойства позволяют задаться точным значением константы С из (57). Такая постановка задачи
91
Глава 11. Обыкновенные дифференциальные уравнения
называется задачей Коши, а дополнительные свойства частного решения как правило задаются начальными условиями.
Задача Коши для ОДУ первого порядка формулируется таким образом:
Найти функцию |
y(t) , удовлетворяющую ОДУ |
dy(t) |
|
f (t, y) |
|
dt |
|||||
|
|
|
(58) |
и начальным условиям y(t0 ) y0 ,
где y0 – значение функции y(t) в момент времени t0.
Из курса высшей математики (раздел «Теория дифференциальных уравнений») известно, что ОДУ n-ного порядка (54) может быть без ограничения общности сведено к системе n дифференциальных уравнений первого порядка. Для этого достаточно произвести следующие обозначения (замены):
y (t) y(t), |
y (t) |
dy(t) |
, y (t) |
d 2 y(t) |
, ..., y (t) |
d n 1 y(t) |
. |
|
|
|
|||||
1 |
2 |
dt |
3 |
dt2 |
n |
dtn |
|
|
|
|
|
|
И, подставив их в задачу Коши (58), получить n уравнений относительно n функций
|
|
(t) y2 (t); |
|
|||
y1 |
|
|||||
y |
(t) y (t); |
|
||||
|
2 |
|
3 |
|
|
|
|
|
|
|
|
|
|
. . . |
|
|
|
|||
y |
|
(t) y |
n |
(t); |
|
|
|
n 1 |
|
|
|
||
y |
(t) f (t, y , y |
2 |
||||
|
n |
|
|
|
1 |
|
с начальными условиями
,...yn 1 ).
|
|
(t0 ) y0,1; |
|
|
|||||
y1 |
|
|
|||||||
y |
(t |
0 |
) y |
0,2 |
; |
|
|||
|
2 |
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
. . . |
|
|
|
|
|
|
|||
y |
|
(t |
0 |
) y |
|
; |
|||
|
n 1 |
|
|
|
0,n 1 |
|
|||
y |
(t |
0 |
) y |
. |
|
||||
|
n |
|
|
|
|
0,n |
|
|
|
(59)
(60)
Проблема аналитического поиска решений задач (58) и (60) рассматривается в курсе высшей математики в разделе «Теория дифференциальных уравнений», а методы поиска численных решений задач (58) и (60) изучаются в разделе «Вычислительная математика».
11.1.Численные методы решения ОДУ
Численные методы решения ОДУ основаны на замене производных, входящих в уравнение, разностными функциями различного вида и поиске приближенных значений функции y(t) на некотором наборе точек ti , i 0..m – сетке. Интервал между
соседними точками называется шагом интегрирования t ti 1 ti . Значения функции
y(t) в точке t0 задается начальными условиями задачи Коши y(t0 ) y0 . |
|
Метод Эйлера. |
|
Зададим интервал, на котором будем искать решение t0 ,tm , |
где m – число |
точек разбиения интервала на узлы сетки с шагом t (tm t0 ) / m . Построим сетку: |
|
ti 1 ti t . Для каждого узла сетки ti 1 будем искать значение y(ti 1) |
как некоторую |
рекуррентную зависимость от значений функции y(ti ) в предыдущей точке ti .
По определению, производная функции – это предел отношения приращения функции y(t t) y(t) к приращению аргумента t , когда последний стремится к
нулю. Заменим производную, входящую в (58) рекуррентным соотношением в соответствии с определением:
|
|
|
|
dy(t) |
|
|
|
y(t t) y(t) |
. |
|
(61) |
||
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
dt |
|
t |
|
|
|
|
|||
Запишем теперь Задачу Коши (58) в точках ti |
и ti 1 сетки с учетом замены (61): |
||||||||||||
|
dy(t) |
|
y(t t) y(t) |
|
|
yi 1 yi |
|
f (t , y ), i 0,.., m 1 . |
(62) |
||||
|
|
|
|
||||||||||
|
dt |
t |
|
t |
i |
i |
|
||||||
|
|
|
|
|
|
||||||||
92
Профессиональные математические пакеты
Отсюда следует:
yi 1 yi f (ti , yi ) t
y(t0 ) y0 ; . (63) ti 1 ti t, i 0,.., m 1
Выражение (63) называется явным методом Эйлера. Решим в MathCAD простейшее
дифференциальное уравнение |
|
по методу (63) на участке 0,1 с |
y (t) t y(t) |
начальными условиями y(0) 1. Аналитическое решение заданного ОДУ известно:
t
y(t) С e2 .
С учетом начальных условий вычислим С= 1. Точное решение позволит оценить погрешность данного численного метода, которая, в общем, пропорциональна ( t)2 .
Листинг 68. Решение ОДУ по явному методу Эйлера
Вектор t содержит узлы сетки, а вектор y – найденные значения функции y(ti ) в узловых точках сетки. Построим эти точки на графике и для сравнения – значения аналитического решения z(ti ) заданного ОДУ в этих же точках:
Листинг 69. Погрешность решения ОДУ по явному методу Эйлера
Анализ полученных результатов подтверждает, что ошибка увеличивается квадратично с ростом t. Для уменьшения погрешности следует уменьшать шаг интегрирования или применять другие итерационные методы решения ОДУ.
93
Глава 11. Обыкновенные дифференциальные уравнения |
|
|||||||||
Модифицированный метод Эйлера: |
|
|
|
|
||||||
yi 1 |
yi f |
|
|
t |
, yi |
t f (t , y ) |
|
|
|
|
ti |
2 |
i i |
|
t, |
. |
(64) |
||||
|
|
|
|
|
2 |
|
|
|||
ti 1 |
ti t, |
|
i 0,.., m 1 |
|
|
|
|
|||
Метод Рунге-Кутты четвертого порядка:
|
|
k ti , yi |
, k (t, y) t f t, y , k |
|
|
|
|
t |
|
k (t, y) |
|
|
y |
y |
|
2 |
(t, y) t f |
|
t |
|
, y |
1 |
|
, |
|
|
|
|
||||||||||
i 1 |
i |
6 |
1 |
|
|
2 |
2 |
|
||||
|
|
|
|
|
|
|
|
|
||||
|
|
t |
|
k |
2 |
(t, y) |
|
k4 (t, y) t f t t, y k3 |
(t, y) , |
|
|
|
k3 (t, y) t f t |
|
, y |
|
|
|
, |
. |
(65) |
||||
2 |
|
|
|
|||||||||
|
|
|
|
|
2 |
|
|
|
|
|
||
k(t, y) k1 (t, y) 2k2 (t, y) 2k3 (t, y) k4 (t, y); |
|
|
|
|||||||||
ti 1 ti t, |
i 0,.., m 1. |
|
|
|
|
|
|
|
||||
Встроенные методы решения ОДУ
В вычислительное ядро встроенной функции решения ОДУ – Оdesolve заложен метод Рунге-Кутты четвертого порядка (65). Данная функция имеет следующий формат:
Given
ОДУ или система ОДУ |
Равенства должны быть записаны в виде |
Начальные условия |
логических операторов |
Odesolve(t, tm, m)
Здесь t – имя переменной, относительно которой решается уравнение, tm – конец интервала интегрирования, m – число шагов интегрирования.
Листинг 70. Решения ОДУ при помощи встроенной функции Odesolve
Визуально точное и численное решения полностью совпали. Читателю предлагается самостоятельно вычислить погрешность данного метода по аналогии с примером выше (см. Листинг 69).
Встроенные методы решения систем ОДУ
Для численного решения систем ОДУ (60) в MathCAD введен большой набор функций:
Функция MathCAD |
Численные методы |
rkfixed(y0, t0, tm, m, D) |
Метод Рунге-Кутты с постоянным шагом. |
rkadapt(y0, t0, tm, m, D) |
Метод Рунге-Кутты с переменным шагом. В зависимости |
|
от скорости изменения функции шаг интегрирования |
|
автоматически «подбирается». |
bulstoer(y0, t0, tm, m, D) |
Метод Булирша-Штера – позволяет получать более |
|
точные решения, чем rkfixed, затрачивая на это меньшее |
|
число шагов (для гладких, медленно меняющихся |
|
систем) |
94
|
|
|
Профессиональные математические пакеты |
|
|
|
|
|
|
|
|
|
BDF(y0, t0, tm, m, D) |
Неявный многошаговый метод для решения жестких, |
|
|
|
быстро изменяющихся систем ОДУ |
|
|
AdamsBDF(y0, t0, tm, m, |
Комбинированный метод, использующий BDF для |
|
|
D) |
жестких систем и метод Адамса – для нежестких |
|
|
Stiffr(y0, t0, tm, m, D, АJ) |
Метод Розенброка с расширенной функцией Якоби АJ |
|
|
|
для жестких систем |
|
Здесь t0, tm – границы интервала интегрирования, y0 – вектор начальных условий (60), m – число шагов интегрирования. D – векторная функция размера N×1 скалярного аргумента t и векторного y, причем, вектор y0 и искомая функция y(t) так же имеют размерность N×1.
N – порядок системы уравнений.
Расширенная матрица Якоби AJ имеет размерность N×(N+1). Её первый столбец
содержит производные Di |
t , остальные строки и |
столбцы |
представляют собой |
||||||
матрицу Якоби Di yk системы ОДУ. Например, если |
|
|
|
||||||
|
|
ty |
|
, то |
y |
t |
0 |
|
|
D(t, y) |
|
1 |
|
AJ (t, y) |
1 |
2 y2 |
|
. |
|
|
2 y1 y2 |
|
|
0 |
2 y1 |
||||
Каждая из приведенных функций возвращает решение в виде матрицы (m+1)×(N+1): в ее левом столбце находятся значения узлов сетки ti, а в остальных N столбцах – значения искомых функций y1(t), y2(t), …, yN(t), рассчитанные в этих узлах. Поскольку всего точек помимо начальной m, то строк в матрице – m+1.
11.2.Переходный процесс в электрической схеме
Переходные процессы – это процессы, возникающие в электрических цепях при различных воздействиях, приводящих к изменению их режима работы, то есть при действии различного рода коммутационной аппаратуры, например, ключей, переключателей для включения или отключения источника или приёмника энергии, при обрывах в цепи, при коротких замыканиях отдельных участков цепи и т. д.
Физическая причина возникновения переходных процессов в цепях — наличие в них катушек индуктивности и конденсаторов, то есть индуктивных и ёмкостных элементов в соответствующих схемах замещения. Объясняется это тем, что энергия магнитного и электрического полей этих реактивных элементов не может изменяться скачком при коммутации (процесс замыкания или размыкания выключателей) в цепи.
Реактивные элементы – элементы, способные накапливать электрическую энергию и отдавать ее либо источнику, от которого эта энергия была получена, либо передавать другому элементу. В любом случае этот элемент не превращает электрическую энергию в тепловую.
Переходный процесс в цепи описывается системой дифференциальных уравнений. Переходный процесс бывает неоднородным, если схема замещения цепи содержит источники ЭДС и тока, и однородным – если не содержит. Переходный процесс называется линейным (нелинейным) для линейной (нелинейной) электрической цепи.
Подчеркнем еще раз, что переходные процессы не могут протекать мгновенно,
так как невозможно в принципе мгновенно изменять энергию, накопленную в электромагнитном поле цепи. Теоретически переходные процессы заканчиваются за время t→∞. Практически же переходные процессы являются быстропротекающими, и их длительность обычно составляет доли секунды. Так как энергия магнитного WМ и электрического полей WЭ описывается выражениями
WM |
L |
i2 |
и |
WЭ C |
u2 |
, |
(66) |
|
|
||||||
|
2 |
|
2 |
|
|
||
95