Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Численное моделирование динамических систем, описываемых обыкновенными дифференциальными уравнениями

Покупка
Основная коллекция
Артикул: 778703.01.99
В данном учебном пособии рассмотрены элементы теории из раздела численных методов решения систем обыкновенных дифференциальных уравнений. Пособие может быть рекомендовано как для самостоятельного изучения курса «Численное моделирование динамических систем, описываемых обыкновенными дифференциальными уравнениями», так и для подготовки к выполнению практических заданий.
Вагин, Д. В. Численное моделирование динамических систем, описываемых обыкновенными дифференциальными уравнениями : учебное пособие / Д. В. Вагин. - Новосибирск : Изд-во НГТУ, 2019. - 63 с. - ISBN 978-5-7782-3941-8. - Текст : электронный. - URL: https://znanium.com/catalog/product/1869100 (дата обращения: 21.11.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
Министерство науки и высшего образования Российской Федерации 

НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ 
__________________________________________________________________________ 
 
 
 
 
Д.В. ВАГИН 
 
 
 
ЧИСЛЕННОЕ МОДЕЛИРОВАНИЕ  
ДИНАМИЧЕСКИХ СИСТЕМ,  
ОПИСЫВАЕМЫХ  
ОБЫКНОВЕННЫМИ  
ДИФФЕРЕНЦИАЛЬНЫМИ  
УРАВНЕНИЯМИ 
 
 
Утверждено Редакционно-издательским советом университета 
в качестве учебного пособия 
 
 
 
 
 
 
 
 
 
 
 
НОВОСИБИРСК 
2019 

УДК 519.62(075.8) 
В 124 
 
Рецензенты: 
канд. техн. наук, ведущий инженер-программист  
АО «Завод Экран» А.В. Волкова 
д-р техн. наук, профессор М.Э. Рояк 
 
 
 
Работа подготовлена на кафедре прикладной математики НГТУ 
 
 
 
Вагин Д.В. 
В 124  
Численное моделирование динамических систем, описываемых обыкновенными дифференциальными уравнениями: учебное пособие / Д.В. Вагин. – Новосибирск: Изд-во НГТУ, 2019. – 
63 с. 

ISBN 978-5-7782-3941-8 

В данном учебном пособии рассмотрены элементы теории из раздела численных методов решения систем обыкновенных дифференциальных уравнений. Пособие может быть рекомендовано как для самостоятельного изучения курса «Численное моделирование динамических систем, описываемых обыкновенными дифференциальными 
уравнениями», так и для подготовки к выполнению практических заданий. 
 
 
 
 
 
 
 
УДК 519.62(075.8) 
 
ISBN 978-5-7782-3941-8 
© Вагин Д.В., 2019 
 
© Новосибирский государственный 
 
технический университет, 2019 

 
 
 
 
 
 
 
ВВЕДЕНИЕ 
 
Для изучения поведения (эволюции) динамических систем необходимо решать описывающие их системы дифференциальных уравнений. 
Сложные динамические системы описываются большими системами 
нелинейных дифференциальных уравнений разного порядка. Для 
большинства практических задач эти системы могут быть сведены к 
системам обыкновенных дифференциальных уравнений. Для решения 
подобных систем используются численные методы. 
В данном учебном пособии рассматриваются основные элементы 
теории численного решения систем обыкновенных дифференциальных 
уравнений. Среди них: 
 Явные и неявные схемы; 
 Аппроксимация, сходимость и устойчивость численных схем; 
 Одношаговые и многошаговые схемы; 
 Методы Эйлера, Рунге–Кутты и Адамса; 
 Методы типа «прогноз-коррекция»; 
 Системы обыкновенных дифференциальных уравнений; 
 Жесткие задачи. 
Помимо этого рассматриваются основные принципы написания 
программ для имитационного моделирования сложных технических 
систем. 
 
 

1. ДИСКРЕТНАЯ ЗАДАЧА КОШИ 
 
Рассмотрим задачу Коши: 

 
( )
( , ( ))
y t
f t y t


, 
(1.1) 

 
0
0
( )
y t
y

,    
0
[ , ]
t
t
T

. 
(1.2) 

Ее решением является функция 
( )
y t . Процесс решения уравнения (1.1) с начальным условием (1.2) (нахождение функции 
( ))
y t
 также называют интегрированием уравнения (1.1). Когда аналитическое 
решение (1.1) невозможно или чрезвычайно сложно, прибегают к численному интегрированию. 
Для использования численного метода необходимо перейти от непрерывной задачи, решением которой является функция 
( )
y t , определенная для всех 
0
[ , ]
t
t
T

, к дискретной задаче, в которой функция 
( )
y t  заменена набором значений  


0
1
2
, , 
,..., 
i
N
y
y
y
y
y

, ассоциированных со значениями  


0
1
2
...
i
N
t
t
t
t
t
T






. То есть если решения непрерывной и дискретной задачи совпадают, то будет выполнено: 
1
1
( )
y t
y

, 
2
2
( )
y t
y

, ..., 
(
)
N
N
y t
y

. Отметим, что 
0
0
( )
y t
y

 
выполняется всегда, так как является исходным данным для обеих задач. Набор значений  
it
 называется сеткой, а значения it  – узлами 
сетки. Величины 
1
n
n
n
h
t
t 


, 
1, 2,..., 
,
n
N

 называются шагами 
сетки. Набор значений  
iy
 называется дискретным аналогом функции ( )
y t  (или сеточной функцией). Если 
0
(
) /
,
n
N
h
h
t
t
N



 для всех 
1, 2,..., 
,
n
N

 то сетка  
it
 называется равномерной и обозначается 

как ht , а сеточная функция 
iy
 – как 
h
y  [1]. 

Для того чтобы сформулировать дискретную задачу, необходимо 
левую и правую части уравнения (1.1) заменить на их дискретные аналоги. Для упрощения выкладок ограничимся рассмотрением равномерных сеток. Отметим, что данное упрощение не нарушает общности 
излагаемой теории. 
Аппроксимируем 
( )
y t

, 
1
[ , 
]
n
n
t
t
t 

 с помощью некоторой разностной схемы, включающей в себя 
1
k   значение сеточной функции 
h
y : 

 
0
1
1
1
1
( )
(
...
)
n
n
k
n k
y t
y
y
y
h

 



 

 
. 
(1.3) 

Полагается, что 
0
0
 
. При этом аппроксимация функции 
( , ( ))
f t y t
 в общем виде может быть записана, как 

 
1
1
( , ( ))
( , 
,..., 
, 
, )
n
n k
n
n
f t y t
t
y
y
y
h
 

 
. 
(1.4) 

Таким образом, дискретным аналогом уравнения (1) является уравнение 

 
1
1
1
0

1
(
, 
,..., 
, 
, )
k

j n
j
n
n k
n
n
j
y
t
y
y
y
h
h
 
 



 

. 
(1.5) 

Из уравнения (1.5) можно найти значение 
1
n
y  , если известны k  

предыдущих значений 
1
n k
y   , ..., 
n
y  сеточной функции 
h
y . Поэтому 
основанные на решении уравнения (1.5) методы получили название  
k-шаговых. Очевидно, что для того чтобы использовать k-шаговый 
метод, необходимо задать k  начальных значений: 

 
0
0
1
1
1
1
(
)
,  
( )
, ...,  
(
)
h
h
h
k
k
y
t
y
y
t
y
y
t
y





. 
(1.6) 

Уравнение (1.5) с начальными условиями (1.6) будем называть дискретной задачей Коши. Так как ее решением является сеточная функция 
h
y , соответствующие методы нахождения 
h
y  также называются 
сеточными методами. Принято считать, что уравнение (1.5) задает 
численный метод, который также называется численной схемой. Далее 

будем отождествлять свойства уравнения (1.5), численного метода 
(схемы) и соответствующей дискретной задачи Коши. 
Отметим также, что если в правой части (1.5) функция   не зависит от 
1
n
y  , то соответствующая численная схема называется явной. 
В противном случае (функция   зависит от 
1
n
y  ) соответствующая 
численная схема называется неявной. Очевидно, что для нахождения 
1
n
y   с помощью явной схемы достаточно подставить в (1.5) известные из начальных условий или уже вычисленные на предыдущих 
шагах интегрирования значения искомой сеточной функции 
h
y . Поэтому явные схемы очень просты с точки зрения их программной реализации. Для нахождения 
1
n
y   в (1.5) с помощью неявной схемы в 
общем случае приходится решать нелинейное уравнение. Решение 
нелинейного уравнения, даже таким быстро сходящимися методом 
как, например, метод Ньютона, требует существенных вычислительных затрат относительно простого вычисления правой части в явном 
методе [2]. Тем не менее положительные свойства неявных схем, как 
правило, позволяют использовать более грубый шаг интегрирования, 
что может частично или полностью компенсировать временные затраты на решение нелинейного уравнения. К тому же в случае, если 
решаемая задача является жесткой, то использование явной схемы 
зачастую вообще не позволяет получить сколько-нибудь приемлемое 
решение.  

АППРОКСИМАЦИЯ 

Итак, мы сформулировали дискретную задачу Коши, но сразу возникает вопрос о том, как сильно она отличается от исходной непрерывной задачи. 
Заменим в (1.5) значения 
1
n j
y    сеточной функции 
h
y  соответ
ствующими значениями 
1
(
)
n j
y t  
 функции 
( )
y t . После этой подстановки левая и правая части дискретного уравнения могут начать отличаться. Рассмотрим их разность: 

 


1
1
1
0

1
(
)
, (
),..., (
), (
), 
k

n
j
n
j
n
n k
n
n
j
y t
t
y t
y t
y t
h
h
 
 





 

. (1.7) 

Сеточная функция 
n
  называется погрешностью аппроксимации 
дискретного уравнения (1.5). Говорят, что дискретное уравнение (1.5) 
аппроксимирует дифференциальное уравнение (1.1), если max
0
n


 
при 
0
h 
, 
1
k
n
N
 

. Также логично предположить, что в этом 
случае 

 
1
0

1
(
)
( )
k

j
n
j
j
y t
y t
h
 






; 
(1.8) 

 
1
1
( , (
),..., ( ), (
), )
( , ( ))
n
n k
n
n
t
y t
y t
y t
h
f t y t
 



. 
(1.9) 

Из (1.8) в частности следует, что 

 
0
0
k

j
j

 

. 
(1.10) 

Качество аппроксимации непрерывного уравнения дискретным 
оценивают с помощью порядка аппроксимации, выражающего порядок малости погрешности аппроксимации относительно шага h. Говорят, что дискретное уравнение (1.5) аппроксимирует дифференциальное уравнение (1.1) с p-м порядком, если 

 
max
p
n
Ch


,   
0
p 
,   
1
k
n
N
 

. 
(1.11) 

Помимо погрешности аппроксимации для оценки качества одношаговых методов также используют другую величину – локальную 
погрешность. Пусть 
1
n
y   – значение, найденное из уравнения 

 
1
1
(
)
(
, (
), 
, )
n
n
n
n
n
y
y t
t
y t
y
h
h




 
. 
(1.12) 

Уравнение (1.12) – это уравнение (1.5) для одношагового метода,  
в которое вместо 
n
y  подставлено точное значение 
( )
n
y t
. Тогда разность 
1
1
(
)
n
n
n
l
y t
y




 называется локальной погрешностью (погрешностью на шаге) метода. Нетрудно показать, что для явных схем локальная погрешность и погрешность аппроксимации связаны простым 
соотношением n
n
l
h
 
. Хотя для неявных схем локальная погреш