Численные методы решения задачи Коши для обыкновенных дифференциальных уравнений

Материал из testwiki
Версия от 07:41, 13 июня 2022; imported>AKA MBG (Откат правок 128.75.79.124 (обсуждение) к последней версии 94.79.33.19)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску

Найти функцию для y(t) удовлетворяющую уравнению

Задача Коши для ОДУ
{y=f(t,y(t)),t>t0y(t0)=y0

Ищем интегральную кривую, проходящую через (t0,y0)

Применяя формулу численного дифференцирования

y(ti+1)y(ti)h=f(ti,y(ti))yi+1=yi+hf(ti,yi)

Формула Тейлора

Пусть y(t) - найдено. Найдем t+h:

y(t+h)=y(t)+hy(t)+h22y(t)+...+hpp!y(p)(t)+hp+1y(p+1)(ξ)(p+1)!

Первая производная - это правая часть.

II-я: y=f't+f'yy't=f't+f'yf

III-я: y=f'tt+f'tyf+(f'yt+f'yy)+f'y(f't+f'yf)

  • Формула Тейлора I-го порядка точности по h (Метод Эйлера)
y(t+h)=y(t)+hf(t,y(t))
  • Формула Тейлора II-го порядка точности по h:
y(t+h)=y(t)+hf(t,y(t))+12h2(f't+f'yf)

Метод Эйлера

{y=f(t,y(t)),ti=t0+ih,i=1,ny(t0)=y0

Дискретизация задачи (переход от непрерывной функции к дискретной)

y(ti) - точное решение. yi - приближенное. y(ti)h1(yi+1yi), yi+1yih=f(ti,yi)

yn=(y0yN) - в ответе получаем вектор.

{yi+1=yi+hf(ti,yi)y0 - задано шаг обычно берут h = 0.1}

Геометрическая интерпретация.

Геометрическая интерпретация метода Эйлера

l(t)=y(ti)+y(ti)(tti) - уравнение касательной.

Погрешности:

Шаблон:Определение

Шаблон:Определение

Шаблон:Определение

Шаблон:Определение

Модификации метода Эйлера

yi+1=yi+hki. изменяя ki можно легко получить меньшую погрешность.

  • ki=f(ti+12,yi+12) - усовершенствованный метод Эйлера.
{yi+12=yi+h2f(ti,yi)yi+1=yi+hf(ti+12,yi+12)yi+1=yi+hki,ki=f(ti+12,yi+h2f(ti,yi)) (за угол наклона берется наклон касательной в средней точке).
E(h)=ch2
  • Метод Эйлера-Коши:

yi+1+hki,ki=ki1+ki22,ki1=f(ti,yi),ki2=f(ti+h,yi+hki2). E(h)=ch2.

Методы Рунге-Кутты

Метод Эйлера - это метод Рунге-Кутты I-го порядка точности. yi+1=yi+hki,ki - угловой коэффициент секущей.

m-этапный метод Рунге-Кутты

yi=y(ti)
Метод Рунге-Кутты
ti(1)=ti ti(2)=ti(1)+α2h0<α2<1ti(m)=ti(1)+αmh0<αm<1

ki(1)=f(ti(1),yi(1))=f(ti,yi)

ki(2)=f(ti(1)+α2h,yi+hβ21ki(1))

ki(3)=f(ti(1)+α3h,yi+h(β31ki(1)+β32ki(2)))

ki(m)=f(ti(1)+αmh,yi+h(βm1ki(1)+...+βm,m1ki(m1)))

Все коэффициенты (α и β) подлежат определению: ki=c1ki(1)+c2ki(2)+...+cmki(m) коэффициенты ci также неизвестны.

y(t+h)=y(t)+hy(t)+h22y(t)+...+hpp!y(p)(t)+O(hp+1)

Если хотим построить метод p-го порядка точности по h, yi+1=yi+hki. Возьмем разложение для точного решения. Правую часть раскладываем в ti. Коэффициенты α,β и c подбираем так, чтобы разложение совпало до p-го порядка включительно. Построим параметрическое семейство двухэтапных методов Рунге-Кутты (2-го порядка точности по h)

ti(1)=ti,ti(2)=ii+αh

ki(1)=f(ti,yi),ki(2)=f(ti+αh,yi+hβki(1),ki=c1ki(1)+c2ki(2)

yi+1=yi+hki=yi+h[c1f(ti,yi)+c2f(ti+αh,yi+hβki(1))]

f(ti+αh,yi+hβki(1))=f(ti,yi)+f't(ti,yi)αhf'y(ti,yi)hβki(1)+O(h2)

yi+1=yi+h[c1f(ti,yi)+c2(f(ti,yi)+f't(ti,yi)αh+hβf'y(ti,yi)ki(1))]+O(h3) - разложение приблзительного решения.

В полученное разложение будем подставлять точное решение, будем считать α=β

y(ti)=f't(ti,y(ti))+f'y(ti,y(ti))f(ti,yi(ti))

y(ti+1)=y(ti)+h(c1+c2)f(ti,y(ti))+c2αh2[f't(ti,y(ti))+f'y(ti,y(ti))f(ti,y(ti))]y(ti+1)=y(ti)+h(c1+c2)y+αc2h2y(ti)+O(h3)

{c1+c2=1c2α=12{c2=12αc1=112α,α - параметр

Имеем:

{yi+1=y+hkiki(1)=f(ti,yi)ki(2)=f(ti+αh,yi+αhki(1))ki=(112α)ki(1)+12αki(2)

При α=1 получаем метод Эйлера-Коши, α=12 - усовершенствованный метод Эйлера.

По построению: локальная погрешность этих методов для p-го порядка точности l=chp+1

Каноническая форма записи методов численного интегрирования

yi+1=yi+hf(ti,yi)yi+1yih=f(ti,yi) - явный одношаговый метод. 1hj=0kαjyi+1j=Φ(ti,yi+1k,...,yi,yi+1,h),α00 - канонический вид формулы численного интегрирования. (неявный k-шаговый метод)

Если правая часть этой формулы не содержит yi+1, тогда это явный k-шаговый метод. Все методы Рунге-Кутты - явные, одношаговые.

yi+1yif=Φ(ti,yi,h) - общая формула методов Р-К (каноническая формула явных одношаговых методов).

Шаблон:Определение

Шаблон:Определение Погрешность аппроксимации метода Эйлера: Ψih=h22y(t)

Устойчивость ЗК

{y=f(t,y)y(t0)=y0{y~=f(t,y~)ϕy~(t0)=y~0 - возмущенная задача

ε(t)=y(t)y~(t){ε=f(t,y)f(t,y~)+ϕε(t0)=y0y~0=ε0

f(t,y)f(t,y~)=f'y(t,y~~)(yy~){ε=λε+ϕ,λ=f'y(t,y~~),y~~=[y,y~]ε(t0)=ε0

Получим линейное неоднородное уравнение

{ε'1=ϕε(t0)=0 и {ε'2=λε2ε2(t0)=ε0ε1=t0tϕ(τ)dτ,ε2=ε0exp{t0tλ(τ)dτ}

Если λ(t)>0 первое слагаемое ε2[t]. Если λ(t)<0ε2[t]0

Оценка устойчивости ЗК

|ε(t)|k(τ)(|ε0|+t0τ|ϕ(t)|dt),k(τ)={exp{t0τλ(t)dt},λ(t)01,λ(t)<0

Из этого неравенства вытекает устойчивость ЗК.

Рассмотрим возмущенную дискретную ЗК:

1hj=0ky~i+1jλj=Φ(ti,y~i+1k,...,y~i,y~i+1,h)ϕ

ε0,ε1,...,εk1 - погрешности вычисления стартовых точек метода.

Шаблон:Определение

Многошаговые методы. Методы Адамса

Приближение правой части и интегрирование в многошаговых методах

titi+1ydt=titi+1f(t,y(t))dt. y(t) приближаем полиномом по известным значениям.

Метод Адамса

Формулы Адамса-Башфорта

Метод Адамса-Башфорта

p1(t)=fi1+fifi1h(tti1) - интерполяционный многочлен Ньютона. Интегрируемые функции f(t,y): titi+1p1(t)dt=titi+1(fi1+fifi1h(tti1))dt=fi1h+fifi1h(tti1)22|t1ti+1=h2(3fifi1)yi+1=yi+h2(2fifi1) - формула А-Б (двухшаговый метод, II порядка точности по h) Формулы Адамаса-Мултона

Метод Адамса-Моултона
Q1(t)=fi+fi+1fih(tti)

titi+1Q1(t)dt=fih+(fi+1fi)(tti)22h|t1ti+1=h2(fi+fi+1)

yi+1=yi+h2(fi+fi+1) - II порядка точности, более устойчив.

Порядок аппроксимации в построенных методах

Ψi - дискретная функция. Канонический вид: yi+1yih=12fi+12fi+1

y=f(t,y(t))fi=y(ti)fi+1=y(ti+1)

Ψi=y(ti+1)y(ti)h12y(ti)12y(ti+1)=y(ti)+hy(ti)h22y(ti)+h36y(ti)+O__(h4)y(t1)h12y(ti)12(y(ti)+hy(ti)+h22y(ti)+O__(h3))=h2y(ti)+h6y(ti)+O__(h3)h2y(ti)h24y(ti)+O__(h3)=h212y(ti)+O__(h3)

Ψi=h212y(ti),Ψ=max0iN|Ψi|M3h212 II аппроксимационный порядок

Если функция y(t) - аналитична и k раз дифференцируема, то k - шаговый метод А-Б и k1 шаговый метод А-М имеют k-й порядок аппроксимации по h.

Каноническая формула метода:

(A):1hj=0kαjyi+1j=Φ(ti,yi+1k,...,yi,yi+1) - дискретная ЗК. Стартовые точки y0,y1,...,yk1

(B):1hj=0kαjyi+1j*=Φ(ti,yi+1k*,...,yi*,yi+1*) - дискретная ЗК с возмущенными данными. Стартовые точки y0,y1,...,yk1

Шаблон:Определение

Шаблон:МатТеорема

Шаблон:Доказательство

Уравнения высокого порядка и системы ДУ

{y'1=f1(t,y,...,ym)y'2=f2(t,y,...,ym)y'm=fm(t,y,...,ym)y'1(t0)=y10y'm(t0)=ym0 - нелинейная система ОДУ 1-го

y=(y1ym)y0=(y10ym0)F=(f1(t,y1,...,tm)f1(t,y1,...,tm))

метод Эйлера:

{y=F(t,y)y(t0)=y0

yi+1=yi+hF(ti,yi)

{amy(m)(t)+am1y(m1)+...+a1y(t)+a0y(t)=f(t)y(t0)=y0y(m1)(t0)=y0(m1)

y1(t)=y(t);y2(t)=y(t)=;...;ym(t)=y(m1)(t) - замены

{y'1=y2y'2=y3y'm1=ymy'm=f(t)am1ym...a0y1amy=(y1ym)F=(y2ymf(t)am1ym...a0y1am)

Устойчивость численных методов

1hj=0kαjyn+1j=Φ(tn,yn+1k,...,yn,yn+1,h)(1)

α0,α1,...,αk1α00

Чтобы облегчить задачу будем исследовать устойчивость по начальным данным (без правой части) y0,y1,...,yk1

Шаблон:Определение

Рассмотрим модельную задачу y=0 на нуль-устойчивость

1hj=0kαjyn+1j=0

(2)α0yn+1+α1yn+...+ykαn+1k=0 - конечно-разностное уравнение. Стартовые точки yn+1k...yn+1

Затем мы находим y0,y1,...,yk1,yk,yk+1,...,yN

Возмущенная задача: y0*...yk1*

α0yn+1*+α1yn*+...+αkyn+1k*=0

yi*i=0,N - проверим на устойчивость

α0εn+1+α1εn+...+αkεn+1k=0

εn=εqn, q некоторое число. ε - некоторая первоначальная погрешность. Получим характеристическое уравнения k - шагового метода:

α0qk+α1qk1+...+αk=0

P(q)=j=0kαkqkj - характеристический полном Уравнение P(q)=0 имеет ровно k корней (кратных и простых). Пусть q1 - кратный корень кратности r, остальные простые:

q=c1(1)q1n+c1(2)nqn+...+c1(r1)nr1q1n+c2q2n+...+cmqmn(3)

Общее решение уравнения: |qi|<1,n,|q|0

Шаблон:Определение

Шаблон:МатТеорема

Шаблон:Доказательство

Шаблон:Утверждение Р-К: P(q)=q1

А: α0qk+α1qk1+0qk2+...+0=0α0=1,α1=1P(q)=qkqk1

Наличие O-устойчивости означает, что метод устойчив на конечном отрезке [t0,T]. Если T следует применять абсолютно устойчивые методы.

Модельная задача:

{y=λyλCy(t0)=y0Reλ<0} Ассимптотическая устойчивость

1hj=0kαjyn+1j=λj=0kβj(λh)yn+1jz=λh

j=0k(αjzβj(z))yn+1j=0γ=αjzβj(z)

Для невозмущенной задачи: j=0kγjyn+1j=0y0,...,yk1 - стартовые точки

P(q,z)=γ0qk+γ1qk1+...+γk=0. Ищем q1,q2,...,qn (зависят от z)

Для явного метода Эйлера: yn+1ynh=λyn

εn+1(1+λh)εn=0q(1+z)=0q1=1+z|1+z|<1

1<1+z<1z(2,0)z=λh;λ<00<h<2λ

Метод называется устойчивым при ограничении на шаг h<2|λ|

Для неявного:

yn+1ynh=λyn+111λh=q|1λh|<1 - верно т.к. λ<0

Ограничений на h нет. Область устойчивости: |1z|<1

Шаблон:Определение

Шаблон:Определение

Неявный метод Эйлера A-устойчив

Понятие о жестких задачах

S=max|Reλi(A)|min|Reλi(A)|,S - число жесткости системы

s10 - система жесткая. Для таких задач надо применять A-жесткие методы.