Галкин С.В. Интегральное исчисление и дифференциальные уравнения (2007) (1135775), страница 37
Текст из файла (страница 37)
. . = (c1 + c2 ) f (x, y) ++ hc2 fx (x, y) a2 + fy (x, y) f (x, y) b21 + . . .153Подставим в функцию Δ (xn , yn , h) производные, вычисленные из исходного дифференциального уравнения:По формуле трапеций (см. разд. 20.1)I=1(0, 14 + 0, 39) = 0, 265,2ε = 0, 115.По формуле Симпсона142 4 · 27+ 1 = 0, 25,I=0++ +641264 8ε = 0.Будем рассматривать схемы численных методов для уравненияпервого порядкаy = f (x, y) , y (x0 ) = y0 .Это самый простой случай, но к нему по аналогии сводятся схемы методов решения для системы дифференциальных уравнений идифференциального уравнения n-го порядка.21.1. Методы, основанные на разложении функциив ряд ТейлораЗапишем разложение функции в ряд Тейлора в окрестности точки x2xx−+ ...y (x) = y x + y x x − x + y x2!Рассмотрим равномерную сетку по x : a = x0 , x0 + h, x0 ++ 2h, .
. . , x0 + nh, . . .Пусть x = xn , x = xn+1 , xn+1 − xn = h, тогда разложениефункции в ряд Тейлора можно записать в видеhyn+1 = yn + h y (xn ) + y (xn ) + . . . = yn + hΔ (xn , yn , h) ,2152y (xn ) = (f (x, y)) (xn , yn ) == fx (xn , yn ) + fy (xn , yn ) y (xn , yn ) =21. ОБЗОР ЧИСЛЕННЫХ МЕТОДОВ РЕШЕНИЯЗАДАЧИ КОШИгде Δ (xn , yn , h) = y (xn ) + y (xn ) h2 + . . .y (xn ) = f (xn , yn ) ,= fx (xn , yn ) + fy (xn , yn ) f (xn , yn ) .Тогда Δ (xn , yn , h) ≈ ϕ (xn , yn , h) = f (xn , yn )+ h2 (fx (xn , yn )++ fy (xn , yn ) f (xn , yn )),yn+1 = yn + hϕ (xn , yn , h) .Это основная расчетная формула метода.Учитывая в ϕ (xn , yn , h) слагаемые с производными высшихпорядков, получим более точные приближенные формулы.Если взять ϕ (xn , yn , h) = f (xn , yn ), то получим метод Эйлера:yn+1 = yn + hf (xn , yn ) .21.2. Методы Рунге — КуттаОсновная идея методов Рунге — Кутта заключается в том,что вместо вычисления производных высших порядков в функцииϕ (xn , yn , h) вычисляются значения в некоторых точках, отличныхот xn .Выберемϕ (xn , yn , h) = c1 f (x, y) + c2 f (x + ha2 , y + hb21 f (x, y)) .Разложим функцию ϕ (xn , yn , h) по h:ϕ (xn , yn , h) = c1 f (x, y) + c2 f (x, y) + c2 fx (x, y) ha2 ++ c2 fy (x, y) hb21 f (x, y) + .
. . = (c1 + c2 ) f (x, y) ++ hc2 fx (x, y) a2 + fy (x, y) f (x, y) b21 + . . .153Сравним полученную формулу с приведенной выше основной расчетной формулой:Δ (xn , yn , h) ≈ ϕ (xn , yn , h) = f (xn , yn ) ++ fy (xn , yn ) f (xn , yn ));h (f (xn , yn ) +2 xyn+1 = yn + hϕ (xn , yn , h) .Oпределим коэффициенты c1 , c2 , a2 , b21 :c1 + c2 = 1; c2 a2 =Пусть c2 = α, тогда c1 = 1 − α,1;2c2 b21 =1.211, b21 =.2α2α= 1. Тогдаa2 =Если α = 12 , то c1 = c2 = 12 , a2 = b211(f (xn , yn ) + f (xn + h, yn + hf (xn , yn ))) ,2yn+1 = yn + hϕ (xn , yn , h) =h= yn + (f (xn , yn ) + f (xn + h, yn + hf (xn , yn )))2ϕ (xn , yn , h) =— это метод Хойна.Если в формуле yn+1 = yn + hϕ (xn , yn , h) выбратьϕ (x, y, h) =mcr k r ,r=1k1 = f (x, y) , kr = fx + har , y + hr−1,s=1r = 2, 3, .
. . , n,то получим явный m-шаговый (m-точечный) метод Рунге — Кутта.Наиболее распространен явный четырехточечный методРунге — Кутта:yn+1 = yn +154h(k1 + 2k2 + 2k3 + k4 ) ;6k1 = f (xn , yn ) ,hk 3 = f xn + ,2В явных методах Рунге — Кутта значения kr вычисляются только по предыдущим значениям k1 , . . . , kr−1 .В неявных методах Рунге — Кутта значения k определяются какпо предыдущим значениям k1 , . . .
, kr−1 , так и по последующимзначениям kr+1 , . . . , km . Поэтому в этих методах приходится ещерешать систему уравнений относительно kr .Неявный m-шаговый метод Рунге — Кутта можно записать ввидеyn+1 = yn + hϕ (xn , yn , h) ,mmгде ϕ (x, y, h) =cr kr , kr = f x + har , y + hbrs ks ,r = 1, 2, 3, .
. . , m.r=1s=121.3. Методы АдамсаИдея методов Адамса заключается в использовании значенийправой части дифференциального уравнения на предыдущих шагах(метод «с памятью»).x+μf (x, y) dx заменим функциюВ формуле y (x + μ)−y (x) =xbrs kshhk2 = f xn + , yn + k1 ;22hyn + k2 , k4 = f (xn + h, yn + hk3 ) .2f (x, y) интерполяционным полиномом Ньютона P (x).Рассмотрим явные методы Адамса (Адамса — Башфорта).Возьмем x = xn , μ = h, но интеграл будем брать по отрезку[xn−1 , xn ]. Тогдаxnyn+1 − yn =xnP (x) dx ≈ hf (x, y) dx =xn−1xn−1kγnr ∇r fn .r=0Здесь ∇r fn — конечная разность r-го порядка:∇0 fn = fn , ∇1 fn = fn − fn−1 , ∇2 fn = ∇1 fn − ∇1 fn−1 .
. .155Сравним полученную формулу с приведенной выше основной расчетной формулой:Δ (xn , yn , h) ≈ ϕ (xn , yn , h) = f (xn , yn ) ++ fy (xn , yn ) f (xn , yn ));h (f (xn , yn ) +2 xyn+1 = yn + hϕ (xn , yn , h) .Oпределим коэффициенты c1 , c2 , a2 , b21 :c1 + c2 = 1; c2 a2 =Пусть c2 = α, тогда c1 = 1 − α,1;2c2 b21 =1.211, b21 =.2α2α= 1. Тогдаa2 =Если α = 12 , то c1 = c2 = 12 , a2 = b211(f (xn , yn ) + f (xn + h, yn + hf (xn , yn ))) ,2yn+1 = yn + hϕ (xn , yn , h) =h= yn + (f (xn , yn ) + f (xn + h, yn + hf (xn , yn )))2ϕ (xn , yn , h) =— это метод Хойна.Если в формуле yn+1 = yn + hϕ (xn , yn , h) выбратьϕ (x, y, h) =mcr k r ,r=1k1 = f (x, y) , kr = fx + har , y + hr−1,s=1r = 2, 3, . . . , n,то получим явный m-шаговый (m-точечный) метод Рунге — Кутта.Наиболее распространен явный четырехточечный методРунге — Кутта:yn+1 = yn +154h(k1 + 2k2 + 2k3 + k4 ) ;6k1 = f (xn , yn ) ,hk 3 = f xn + ,2В явных методах Рунге — Кутта значения kr вычисляются только по предыдущим значениям k1 , .
. . , kr−1 .В неявных методах Рунге — Кутта значения k определяются какпо предыдущим значениям k1 , . . . , kr−1 , так и по последующимзначениям kr+1 , . . . , km . Поэтому в этих методах приходится ещерешать систему уравнений относительно kr .Неявный m-шаговый метод Рунге — Кутта можно записать ввидеyn+1 = yn + hϕ (xn , yn , h) ,mmгде ϕ (x, y, h) =cr kr , kr = f x + har , y + hbrs ks ,r = 1, 2, 3, .
. . , m.r=1s=121.3. Методы АдамсаИдея методов Адамса заключается в использовании значенийправой части дифференциального уравнения на предыдущих шагах(метод «с памятью»).x+μf (x, y) dx заменим функциюВ формуле y (x + μ)−y (x) =xbrs kshhk2 = f xn + , yn + k1 ;22hyn + k2 , k4 = f (xn + h, yn + hk3 ) .2f (x, y) интерполяционным полиномом Ньютона P (x).Рассмотрим явные методы Адамса (Адамса — Башфорта).Возьмем x = xn , μ = h, но интеграл будем брать по отрезку[xn−1 , xn ]. Тогдаxnyn+1 − yn =xnP (x) dx ≈ hf (x, y) dx =xn−1xn−1kγnr ∇r fn .r=0Здесь ∇r fn — конечная разность r-го порядка:∇0 fn = fn , ∇1 fn = fn − fn−1 , ∇2 fn = ∇1 fn − ∇1 fn−1 .
. .155Подставляя эти разности в последнее уравнение, получаемyn+1 − yn = hkβkr fn−rРассмотрим неявные методы Адамса (Адамса — Мултона).Возьмем x = xn , μ = h, интеграл будем брать по отрезку[xn , xn+1 ]. Тогдаxn+1r=0— k-шаговый явный метод Адамса — Башфорта.П р и м е р.
Привестисхемы вычисленийxnf (x, y) dx.xn−1yn+1 − yn =интегралаP (x) dx ≈ hf (x, y) dx =xnkγnr ∇r fn =r=0xn=hkβkr fn−r .r=0Запишем∇r fxnf (x, y) dx ≈hh(fn−1 + fn ) = hfn−1 + (fn − fn−1 ) ≈22Здесьn — конечная разность r-го порядка,0∇ fn = fn , ∇1 fn = fn − fn−1 , ∇2 fn = ∇1 fn − ∇1 fn−1 . . .Подставляя эти разности в последнее уравнение, получаемkyn+1 − yn = hβkr fn−rxn−1≈ hfn +hh(fn − fn−1 ) = (3fn − fn−1 ) .22Получен явный метод Адамса — Башфорта второго порядка(двухшаговый):yn+1 = yn +h(3fn − fn−1 ) .2Более точен метод Адамса — Башфорта четвертого порядка:yn+1 = yn +h(55fn − 59fn−1 + 37fn−2 − 9fn−3 ) .24Заметим, если начальное условие y0 задано (в задаче Коши начальное условие задается), то для того, чтобы начал работать метод Адамса четвертого порядка, нужно найти еще значения (какимлибо другим методом) y1 , y2 , y3 .
Тогда из системы формул Адамса— Башфорта, выписанных для y1 , y2 , y3 , y4 , вычисляются значения правых частей f0 , f1 , f2 , f3 , необходимые для того, чтобы метод начал работать. Затем уже по этим значениям с помощьюформулы метода определяют y5, . . . Эта процедура называется «разгоном метода» и является обязательной в методах Адамса.156xn+1r=0— k-шаговый явный метод Адамса — Мултона.Формально он записан в том же виде, что и метод Адамса —Башфорта, но разница существенна: в методе Адамса — Мултона влевой части уравнения присутствует yn+1 , а в правой части присутствует fn+1 .
Поэтому приходится еще решать систему уравненийдля явного определения yn+1 .П р и м е р. Привести схемы вычислений для интегралаxn+1f (x, y) dx.xnЗапишемxn+1f (x, y) dx ≈h(fn + fn+1 ).2xnПолучим формулуyn+1 = yn +h(fn + fn+1 )2метода Адамса — Мултона второго порядка.157Подставляя эти разности в последнее уравнение, получаемyn+1 − yn = hkβkr fn−rРассмотрим неявные методы Адамса (Адамса — Мултона).Возьмем x = xn , μ = h, интеграл будем брать по отрезку[xn , xn+1 ]. Тогдаxn+1r=0— k-шаговый явный метод Адамса — Башфорта.П р и м е р. Привестисхемы вычисленийxnf (x, y) dx.xn−1yn+1 − yn =интегралаP (x) dx ≈ hf (x, y) dx =xnkγnr ∇r fn =r=0xn=hkβkr fn−r .r=0Запишем∇r fxnf (x, y) dx ≈hh(fn−1 + fn ) = hfn−1 + (fn − fn−1 ) ≈22Здесьn — конечная разность r-го порядка,0∇ fn = fn , ∇1 fn = fn − fn−1 , ∇2 fn = ∇1 fn − ∇1 fn−1 .
. .Подставляя эти разности в последнее уравнение, получаемkyn+1 − yn = hβkr fn−rxn−1≈ hfn +hh(fn − fn−1 ) = (3fn − fn−1 ) .22Получен явный метод Адамса — Башфорта второго порядка(двухшаговый):yn+1 = yn +h(3fn − fn−1 ) .2Более точен метод Адамса — Башфорта четвертого порядка:yn+1 = yn +h(55fn − 59fn−1 + 37fn−2 − 9fn−3 ) .24Заметим, если начальное условие y0 задано (в задаче Коши начальное условие задается), то для того, чтобы начал работать метод Адамса четвертого порядка, нужно найти еще значения (какимлибо другим методом) y1 , y2 , y3 .
Тогда из системы формул Адамса— Башфорта, выписанных для y1 , y2 , y3 , y4 , вычисляются значения правых частей f0 , f1 , f2 , f3 , необходимые для того, чтобы метод начал работать. Затем уже по этим значениям с помощьюформулы метода определяют y5, . . . Эта процедура называется «разгоном метода» и является обязательной в методах Адамса.156xn+1r=0— k-шаговый явный метод Адамса — Мултона.Формально он записан в том же виде, что и метод Адамса —Башфорта, но разница существенна: в методе Адамса — Мултона влевой части уравнения присутствует yn+1 , а в правой части присутствует fn+1 . Поэтому приходится еще решать систему уравненийдля явного определения yn+1 .П р и м е р.