Найти функцию для y ( t ) удовлетворяющую уравнению
Задача Коши для ОДУ
{ y ′ = f ( t , y ( t ) ) , t > t 0 y ( t 0 ) = y 0
Ищем интегральную кривую, проходящую через ( t 0 , y 0 )
Применяя формулу численного дифференцирования
y ( t i + 1 ) − y ( t i ) h = f ( t i , y ( t i ) ) ⇒ y i + 1 = y i + h ⋅ f ( t i , y i )
Формула Тейлора
Пусть y ( t ) - найдено. Найдем t + h :
y ( t + h ) = y ( t ) + h y ′ ( t ) + h 2 2 y ″ ( t ) + . . . + h p p ! y ( p ) ( t ) + h p + 1 y ( p + 1 ) ( ξ ) ( p + 1 ) !
Первая производная - это правая часть.
II-я: y ″ = f ' t + f ' y y ' t = f ' t + f ' y f
III-я: y ‴ = f ′ ' t t + f ′ ' t y f + ( f ' y t + f ' y y ) + f ' y ( f ' t + f ' y f )
Формула Тейлора I-го порядка точности по h (Метод Эйлера)
y ( t + h ) = y ( t ) + h f ( t , y ( t ) )
Формула Тейлора II-го порядка точности по h :
y ( t + h ) = y ( t ) + h f ( t , y ( t ) ) + 1 2 h 2 ( f ' t + f ' y f )
Метод Эйлера
{ y ′ = f ( t , y ( t ) ) , t i = t 0 + i h , i = 1 , n ‾ y ( t 0 ) = y 0
Дискретизация задачи (переход от непрерывной функции к дискретной)
y ( t i ) - точное решение. y i - приближенное. y ′ ( t i ) ≈ h − 1 ( y i + 1 − y i ) , y i + 1 − y i h = f ( t i , y i )
y n = ( y 0 ⋮ y N ) - в ответе получаем вектор.
{ y i + 1 = y i + h f ( t i , y i ) y 0 - задано шаг обычно берут h = 0.1}
Геометрическая интерпретация.
Геометрическая интерпретация метода Эйлера
l ( t ) = y ( t i ) + y ′ ( t i ) ( t − t i ) - уравнение касательной.
Погрешности:
Шаблон:Определение
Шаблон:Определение
Шаблон:Определение
Шаблон:Определение
Модификации метода Эйлера
y i + 1 = y i + h k i . изменяя k i можно легко получить меньшую погрешность.
k i = f ( t i + 1 2 , y i + 1 2 ) - усовершенствованный метод Эйлера.
{ y i + 1 2 = y i + h 2 f ( t i , y i ) y i + 1 = y i + h f ( t i + 1 2 , y i + 1 2 ) ⇔ y i + 1 = y i + h k i , k i = f ( t i + 1 2 , y i + h 2 f ( t i , y i ) ) (за угол наклона берется наклон касательной в средней точке).
E ( h ) = c h 2
y i + 1 + h k i , k i = k i 1 + k i 2 2 , k i 1 = f ( t i , y i ) , k i 2 = f ( t i + h , y i + h k i 2 ) . E ( h ) = c h 2 .
Методы Рунге-Кутты
Метод Эйлера - это метод Рунге-Кутты I-го порядка точности. y i + 1 = y i + h k i , k i - угловой коэффициент секущей.
m -этапный метод Рунге-Кутты
y i = y ( t i ) Метод Рунге-Кутты t i ( 1 ) = t i t i ( 2 ) = t i ( 1 ) + α 2 h 0 < α 2 < 1 t i ( m ) = t i ( 1 ) + α m h 0 < α m < 1
k i ( 1 ) = f ( t i ( 1 ) , y i ( 1 ) ) = f ( t i , y i )
k i ( 2 ) = f ( t i ( 1 ) + α 2 h , y i + h β 2 1 k i ( 1 ) )
k i ( 3 ) = f ( t i ( 1 ) + α 3 h , y i + h ( β 3 1 k i ( 1 ) + β 3 2 k i ( 2 ) ) )
…
k i ( m ) = f ( t i ( 1 ) + α m h , y i + h ( β m 1 k i ( 1 ) + . . . + β m , m − 1 k i ( m − 1 ) ) )
Все коэффициенты (α и β ) подлежат определению: k i = c 1 k i ( 1 ) + c 2 k i ( 2 ) + . . . + c m k i ( m ) коэффициенты c i также неизвестны.
y ( t + h ) = y ( t ) + h y ′ ( t ) + h 2 2 y ″ ( t ) + . . . + h p p ! y ( p ) ( t ) + O ‾ ‾ ( h p + 1 )
Если хотим построить метод p -го порядка точности по h , y i + 1 = y i + h k i . Возьмем разложение для точного решения. Правую часть раскладываем в t i . Коэффициенты α , β и c подбираем так, чтобы разложение совпало до p -го порядка включительно. Построим параметрическое семейство двухэтапных методов Рунге-Кутты (2-го порядка точности по h )
t i ( 1 ) = t i , t i ( 2 ) = i i + α h
k i ( 1 ) = f ( t i , y i ) , k i ( 2 ) = f ( t i + α h , y i + h β k i ( 1 ) , k i = c 1 k i ( 1 ) + c 2 k i ( 2 )
y i + 1 = y i + h k i = y i + h [ c 1 f ( t i , y i ) + c 2 f ( t i + α h , y i + h β k i ( 1 ) ) ]
f ( t i + α h , y i + h β k i ( 1 ) ) = f ( t i , y i ) + f ' t ( t i , y i ) α h f ' y ( t i , y i ) h β k i ( 1 ) + O ‾ ‾ ( h 2 )
y i + 1 = y i + h [ c 1 f ( t i , y i ) + c 2 ( f ( t i , y i ) + f ' t ( t i , y i ) α h + h β f ' y ( t i , y i ) k i ( 1 ) ) ] + O ‾ ‾ ( h 3 ) - разложение приблзительного решения.
В полученное разложение будем подставлять точное решение, будем считать α = β
y ″ ( t i ) = f ' t ( t i , y ( t i ) ) + f ' y ( t − i , y ( t i ) ) f ( t i , y i ( t i ) )
y ( t i + 1 ) = y ( t i ) + h ( c 1 + c 2 ) f ( t i , y ( t i ) ) + c 2 α h 2 [ f ' t ( t i , y ( t i ) ) + f ' y ( t i , y ( t i ) ) f ( t i , y ( t i ) ) ] ⇒ y ( t i + 1 ) = y ( t i ) + h ( c 1 + c 2 ) y ′ + α c 2 h 2 y ″ ( t i ) + O ‾ ‾ ( h 3 )
{ c 1 + c 2 = 1 c 2 α = 1 2 ⇒ { c 2 = 1 2 α c 1 = 1 − 1 2 α , α - параметр
Имеем:
{ y i + 1 = y + h k i k i ( 1 ) = f ( t i , y i ) k i ( 2 ) = f ( t i + α h , y i + α h k i ( 1 ) ) k i = ( 1 − 1 2 α ) k i ( 1 ) + 1 2 α k i ( 2 )
При α = 1 получаем метод Эйлера-Коши, α = 1 2 - усовершенствованный метод Эйлера.
По построению: локальная погрешность этих методов для p -го порядка точности l = c h p + 1
Каноническая форма записи методов численного интегрирования
y i + 1 = y i + h f ( t i , y i ) → y i + 1 − y i h = f ( t i , y i ) - явный одношаговый метод.
1 h ∑ j = 0 k α j y i + 1 − j = Φ ( t i , y i + 1 − k , . . . , y i , y i + 1 , h ) , α 0 ≠ 0
- канонический вид формулы численного интегрирования. (неявный k -шаговый метод)
Если правая часть этой формулы не содержит y i + 1 , тогда это явный k -шаговый метод. Все методы Рунге-Кутты - явные, одношаговые.
y i + 1 − y i f = Φ ( t i , y i , h ) - общая формула методов Р-К (каноническая формула явных одношаговых методов).
Шаблон:Определение
Шаблон:Определение
Погрешность аппроксимации метода Эйлера: Ψ i h = h 2 2 y ″ ( t )
Устойчивость ЗК
{ y ′ = f ( t , y ) y ( t 0 ) = y 0 { y ~ ′ = f ( t , y ~ ) − ϕ y ~ ( t 0 ) = y ~ 0 - возмущенная задача
ε ( t ) = y ( t ) − y ~ ( t ) ⇒ { ε ′ = f ( t , y ) − f ( t , y ~ ) + ϕ ε ( t 0 ) = y 0 − y ~ 0 = ε 0
f ( t , y ) − f ( t , y ~ ) = f ' y ( t , y ~ ~ ) ( y − y ~ ) ⇒ { ε ′ = λ ε + ϕ , λ = f ' y ( t , y ~ ~ ) , y ~ ~ = [ y , y ~ ] ε ( t 0 ) = ε 0
Получим линейное неоднородное уравнение
{ ε ' 1 = ϕ ε ( t 0 ) = 0 и { ε ' 2 = λ ε 2 ε 2 ( t 0 ) = ε 0 ⇒ ε 1 = ∫ t 0 t ϕ ( τ ) d τ , ε 2 = ε 0 exp { ∫ t 0 t λ ( τ ) d τ }
Если λ ( t ) > 0 ⇒ первое слагаемое ε 2 → [ t → ∞ ] ∞ . Если λ ( t ) < 0 ⇒ ε 2 → [ t → ∞ ] 0
Оценка устойчивости ЗК
| ε ( t ) | ≤ k ( τ ) ( | ε 0 | + ∫ t 0 τ | ϕ ( t ) | d t ) , k ( τ ) = { exp { ∫ t 0 τ λ ( t ) d t } , λ ( t ) ≥ 0 1 , λ ( t ) < 0
Из этого неравенства вытекает устойчивость ЗК.
Рассмотрим возмущенную дискретную ЗК:
1 h ∑ j = 0 k y ~ i + 1 − j λ j = Φ ( t i , y ~ i + 1 − k , . . . , y ~ i , y ~ i + 1 , h ) − ϕ
ε 0 , ε 1 , . . . , ε k − 1 - погрешности вычисления стартовых точек метода.
Шаблон:Определение
Многошаговые методы. Методы Адамса
Приближение правой части и интегрирование в многошаговых методах
∫ t i t i + 1 y ′ d t = ∫ t i t i + 1 f ( t , y ( t ) ) d t . y ( t ) приближаем полиномом по известным значениям.
Метод Адамса
Формулы Адамса-Башфорта
Метод Адамса-Башфорта
p 1 ( t ) = f i − 1 + f i − f i − 1 h ( t − t i − 1 ) - интерполяционный многочлен Ньютона.
Интегрируемые функции f ( t , y ) : ∫ t i t i + 1 p 1 ( t ) d t = ∫ t i t i + 1 ( f i − 1 + f i − f i − 1 h ( t − t i − 1 ) ) d t = f i − 1 h + f i − f i − 1 h ( t − t i − 1 ) 2 2 | t 1 t i + 1 = h 2 ( 3 f i − f i − 1 ) ⇒ y i + 1 = y i + h 2 ( 2 f i − f i − 1 ) - формула А-Б (двухшаговый метод, II порядка точности по h )
Формулы Адамаса-Мултона
Метод Адамса-Моултона Q 1 ( t ) = f i + f i + 1 − f i h ( t − t i )
∫ t i t i + 1 Q 1 ( t ) d t = f i h + ( f i + 1 − f i ) ( t − t i ) 2 2 h | t 1 t i + 1 = h 2 ( f i + f i + 1 )
y i + 1 = y i + h 2 ( f i + f i + 1 ) - II порядка точности, более устойчив.
Порядок аппроксимации в построенных методах
Ψ i - дискретная функция. Канонический вид: y i + 1 − y i h = 1 2 f i + 1 2 f i + 1
y ′ = f ( t , y ( t ) ) f i = y ′ ( t i ) f i + 1 = y ′ ( t i + 1 )
Ψ i = y ( t i + 1 ) − y ( t i ) h − 1 2 y ′ ( t i ) − 1 2 y ′ ( t i + 1 ) = y ( t i ) + h y ′ ( t i ) h 2 2 y ″ ( t i ) + h 3 6 y ‴ ( t i ) + O _ _ ( h 4 ) − y ( t 1 ) h − 1 2 y ′ ( t i ) − 1 2 ( y ′ ( t i ) + h y ″ ( t i ) + h 2 2 y ‴ ( t i ) + O _ _ ( h 3 ) ) = h 2 y ″ ( t i ) + h 6 y ‴ ( t i ) + O _ _ ( h 3 ) − h 2 y ″ ( t i ) − h 2 4 y ‴ ( t i ) + O _ _ ( h 3 ) = − h 2 1 2 y ‴ ( t i ) + O _ _ ( h 3 )
Ψ i = − h 2 1 2 y ‴ ( t i ) , Ψ = max 0 ≤ i ≤ N | Ψ i | ≤ M 3 h 2 1 2 ⇒ II аппроксимационный порядок
Если функция y ( t ) - аналитична и k раз дифференцируема, то k - шаговый метод А-Б и k − 1 шаговый метод А-М имеют k -й порядок аппроксимации по h .
Каноническая формула метода:
( A ) : 1 h ∑ j = 0 k α j y i + 1 − j = Φ ( t i , y i + 1 − k , . . . , y i , y i + 1 ) - дискретная ЗК. Стартовые точки y 0 , y 1 , . . . , y k − 1
( B ) : 1 h ∑ j = 0 k α j y i + 1 − j * = Φ ( t i , y i + 1 − k * , . . . , y i * , y i + 1 * ) - дискретная ЗК с возмущенными данными. Стартовые точки y 0 , y 1 , . . . , y k − 1
Шаблон:Определение
Шаблон:МатТеорема
Шаблон:Доказательство
Уравнения высокого порядка и системы ДУ
{ y ' 1 = f 1 ( t , y , . . . , y m ) y ' 2 = f 2 ( t , y , . . . , y m ) ⋮ y ' m = f m ( t , y , . . . , y m ) y ' 1 ( t 0 ) = y 1 0 ⋮ y ' m ( t 0 ) = y m 0 - нелинейная система ОДУ 1-го
y = ( y 1 ⋮ y m ) y 0 = ( y 1 0 ⋮ y m 0 ) F = ( f 1 ( t , y 1 , . . . , t m ) ⋮ f 1 ( t , y 1 , . . . , t m ) )
метод Эйлера:
{ y ′ = F ( t , y ) y ( t 0 ) = y 0
y i + 1 = y i + h F ( t i , y i )
{ a m y ( m ) ( t ) + a m − 1 y ( m − 1 ) + . . . + a 1 y ′ ( t ) + a 0 y ( t ) = f ( t ) y ( t 0 ) = y 0 ⋮ y ( m − 1 ) ( t 0 ) = y 0 ( m − 1 )
y 1 ( t ) = y ( t ) ; y 2 ( t ) = y ′ ( t ) = ; . . . ; y m ( t ) = y ( m − 1 ) ( t ) - замены
{ y ' 1 = y 2 y ' 2 = y 3 ⋮ y ' m − 1 = y m y ' m = f ( t ) − a m − 1 y m − . . . − a 0 y 1 a m y = ( y 1 ⋮ y m ) F = ( y 2 ⋮ y m f ( t ) − a m − 1 y m − . . . − a 0 y 1 a m )
Устойчивость численных методов
1 h ∑ j = 0 k α j y n + 1 − j = Φ ( t n , y n + 1 − k , . . . , y n , y n + 1 , h ) ( 1 )
α 0 , α 1 , . . . , α k − 1 α 0 ≠ 0
Чтобы облегчить задачу будем исследовать устойчивость по начальным данным (без правой части) y 0 , y 1 , . . . , y k − 1
Шаблон:Определение
Рассмотрим модельную задачу y ′ = 0 на нуль-устойчивость
1 h ∑ j = 0 k α j y n + 1 − j = 0
( 2 ) α 0 y n + 1 + α 1 y n + . . . + y k α n + 1 − k = 0 - конечно-разностное уравнение. Стартовые точки y n + 1 − k . . . y n + 1
Затем мы находим y 0 , y 1 , . . . , y k − 1 , y k , y k + 1 , . . . , y N
Возмущенная задача: y 0 * . . . y k − 1 *
α 0 y n + 1 * + α 1 y n * + . . . + α k y n + 1 − k * = 0
y i * i = 0 , N ‾ - проверим на устойчивость
α 0 ε n + 1 + α 1 ε n + . . . + α k ε n + 1 − k = 0
ε n = ε ‾ q n , q некоторое число. ε ‾ - некоторая первоначальная погрешность.
Получим характеристическое уравнения k - шагового метода:
α 0 q k + α 1 q k − 1 + . . . + α k = 0
P ( q ) = ∑ j = 0 k α k q k − j - характеристический полном
Уравнение P ( q ) = 0 имеет ровно k корней (кратных и простых). Пусть q 1 - кратный корень кратности r , остальные простые:
q = c 1 ( 1 ) q 1 n + c 1 ( 2 ) n q n + . . . + c 1 ( r − 1 ) n r − 1 q 1 n + c 2 q 2 n + . . . + c m q m n ( 3 )
Общее решение уравнения: | q i | < 1 , n → ∞ , | q | → 0
Шаблон:Определение
Шаблон:МатТеорема
Шаблон:Доказательство
Шаблон:Утверждение
Р-К: P ( q ) = q − 1
А: α 0 q k + α 1 q k − 1 + 0 q k − 2 + . . . + 0 = 0 α 0 = 1 , α 1 = − 1 P ( q ) = q k − q k − 1
Наличие O -устойчивости означает, что метод устойчив на конечном отрезке [ t 0 , T ] . Если T → ∞ следует применять абсолютно устойчивые методы.
Модельная задача:
{ y ′ = λ y λ ∈ C y ( t 0 ) = y 0 R e λ < 0 } ⇒ Ассимптотическая устойчивость
1 h ∑ j = 0 k α j y n + 1 − j = λ ∑ j = 0 k β j ( λ h ) y n + 1 − j z = λ h
∑ j = 0 k ( α j − z β j ( z ) ) y n + 1 − j = 0 γ = α j − z β j ( z )
Для невозмущенной задачи: ∑ j = 0 k γ j y n + 1 − j = 0 y 0 , . . . , y k − 1 - стартовые точки
P ( q , z ) = γ 0 q k + γ 1 q k − 1 + . . . + γ k = 0 . Ищем q 1 , q 2 , . . . , q n (зависят от z )
Для явного метода Эйлера: y n + 1 − y n h = λ y n
ε n + 1 − ( 1 + λ h ) ε n = 0 q − ( 1 + z ) = 0 ⇒ q 1 = 1 + z | 1 + z | < 1
− 1 < 1 + z < 1 ⇒ z ∈ ( − 2 , 0 ) z = λ h ; λ < 0 ⇒ 0 < h < 2 − λ
Метод называется устойчивым при ограничении на шаг h < 2 | λ |
Для неявного:
y n + 1 − y n h = λ y n + 1 ⇒ 1 1 − λ h = q ⇒ | 1 − λ h | < 1 - верно т.к. λ < 0
Ограничений на h нет. Область устойчивости: | 1 − z | < 1
Шаблон:Определение
Шаблон:Определение
Неявный метод Эйлера A -устойчив
Понятие о жестких задачах
S = max | R e λ i ( A ) | min | R e λ i ( A ) | , S - число жесткости системы
s ≫ 1 0 - система жесткая.
Для таких задач надо применять A -жесткие методы.