Решете диференциалното уравнение, като използвате числения метод на Ойлер. Числено решаване на обикновени диференциални уравнения. Решение на нехомогенното уравнение на Ойлер

Въведение

Когато се решават научни и инженерни проблеми, често е необходимо да се опише математически всяка динамична система. Най-добре е да направите това във формата диференциални уравнения (DU) или системи от диференциални уравнения. Най-често такъв проблем възниква при решаване на проблеми, свързани с моделиране на кинетиката на химичните реакции и различни явленияпренос (топлина, маса, импулс) - пренос на топлина, смесване, сушене, адсорбция, когато се описва движението на макро- и микрочастици.

В някои случаи диференциалното уравнение може да бъде преобразувано във форма, в която най-голямата производна е изразена явно. Тази форма на писане се нарича уравнение, разрешено по отношение на най-високата производна (в този случай най-високата производна отсъства от дясната страна на уравнението):

Решение на обикновено диференциално уравнение е функция y(x), която за всяко x удовлетворява това уравнение в определен краен или безкраен интервал. Процесът на решаване на диференциално уравнение се нарича интегриране на диференциално уравнение.

Исторически, първият и най-прост начин за числено решаване на проблема на Коши за ODE от първи ред е методът на Ойлер. Базира се на апроксимацията на производната чрез съотношението на крайните нараствания на зависимите (y) и независимите (x) променливи между възлите на равномерна мрежа:

където y i+1 е търсената стойност на функцията в точката x i+1.

Точността на метода на Ойлер може да се подобри, ако използваме по-точна формула за интегриране, за да приближим интеграла: трапецовидна формула.

Тази формула се оказва имплицитна по отношение на y i+1 (тази стойност е както от лявата, така и от дясната страна на израза), тоест това е уравнение за y i+1, което може да бъде решено напр. , числено, използвайки някакъв итеративен метод (в такава форма може да се разглежда като итеративна формула на простия итерационен метод).

Съставът на курсовата работа: Курсова работасе състои от три части. В първата част, кратко описание на методите. Във втората част формулировката и решението на проблема. В третата част - софтуерна реализация на компютърен език

Целта на курсовата работа: да се изучат два метода за решаване на диференциални уравнения - методът на Ойлер-Коши и подобреният метод на Ойлер.

1. Теоретична част

Числено диференциране

Диференциално уравнение е това, което съдържа една или повече производни. В зависимост от броя на независимите променливи, диференциалните уравнения се разделят на две категории.

    Обикновени диференциални уравнения (ОДУ)

    Частични диференциални уравнения.

Обикновените диференциални уравнения се наричат ​​такива уравнения, които съдържат една или повече производни на желаната функция. Те могат да бъдат записани във формата

независима променлива

Най-високият ред, включен в уравнение (1), се нарича ред на диференциалното уравнение.

Най-простият (линеен) ODE е уравнение (1) с ред, разрешен по отношение на производната

Решение на диференциално уравнение (1) е всяка функция, която след заместване в уравнението го превръща в идентичност.

Основният проблем, свързан с линейния ODE, е известен като проблемът на Каши:

Намерете решение на уравнение (2) под формата на функция, която удовлетворява началното условие (3)

Геометрично това означава, че е необходимо да се намери интегралната крива, минаваща през точката ), когато е изпълнено равенство (2).

Числен от гледна точка на проблема Каши означава: необходимо е да се изгради таблица с функционални стойности, която да отговаря на уравнение (2) и началното условие (3) на сегмент с определена стъпка . Обикновено се приема, че първоначалното условие е дадено в левия край на сегмента.

Най-простият от числените методи за решаване на диференциално уравнение е методът на Ойлер. Той се основава на идеята за графично конструиране на решение на диференциално уравнение, но този метод също така предоставя начин за намиране на желаната функция в числова форма или в таблица.

Нека уравнението (2) е дадено с началното условие, т.е. проблемът на Каши е поставен. Нека първо решим следния проблем. Намерете по най-простия начин приблизителната стойност на решението в дадена точка, където е достатъчно малка стъпка. Уравнение (2) заедно с началното условие (3) определя посоката на тангентата на желаната интегрална крива в точката с координати

Уравнението на допирателната има формата

Движейки се по тази допирателна, получаваме приблизителната стойност на решението в точката:

Имайки приблизително решение в точка, можем да повторим процедурата, описана по-рано: да построим права линия, минаваща през тази точка с наклон, и да я използваме, за да намерим приблизителната стойност на решението в точката

. Имайте предвид, че тази линия не е допирателна към реалната интегрална крива, тъй като точката не е достъпна за нас, но ако е достатъчно малка, тогава получените приблизителни ще бъдат близки до точни стойностирешения.

Продължавайки тази идея, ние конструираме система от еднакво разположени точки

Получаване на таблица със стойности на желаната функция

според метода на Ойлер се състои в цикличното прилагане на формулата

Фигура 1. Графична интерпретация на метода на Ойлер

Методите за числено интегриране на диференциални уравнения, при които решенията се получават от един възел до друг, се наричат ​​поетапни. Методът на Ойлер е най-простият представител на методите стъпка по стъпка. Характеристика на всеки поетапен метод е, че започвайки от втората стъпка, първоначалната стойност във формула (5) сама по себе си е приблизителна, т.е. грешката при всяка следваща стъпка систематично се увеличава. Най-използваният метод за оценка на точността на методите стъпка по стъпка за приблизително числено решение на ODE е методът на двойно преминаване на даден сегмент със стъпка и със стъпка

1.1 Подобрен метод на Ойлер

Основната идея на този метод: следващата стойност, изчислена по формула (5), ще бъде по-точна, ако стойността на производната, тоест наклонът на правата линия, заместваща интегралната крива на сегмента, ще бъде изчислена не по левия ръб (т.е. в точката ), но по протежение на центъра на сегмента . Но тъй като стойността на производната между точките не се изчислява, тогава нека преминем към двойните секции на центъра, в които е точката, докато уравнението на правата линия приема формата:

И формула (5) приема формата

Формула (7) се прилага само за, следователно стойността не може да бъде получена от нея, следователно те се намират с помощта на метода на Ойлер, докато за получаване на по-точен резултат те правят това: от самото начало, използвайки формулата (5 ), намерете стойността

(8)

В точка и тогава се намира по формула (7) със стъпка

(9)

След като бъдат намерени допълнителни изчисления за произведени по формула (7)

Известно е, че обикновено диференциално уравнение от първи ред има формата: .Решението на това уравнение е диференцируема функция, която, когато се замести в уравнението, го превръща в идентичност. Графиката за решаване на диференциално уравнение (фиг. 1.) се нарича интегрална крива.

Производната във всяка точка може да бъде геометрично интерпретирана като тангенс на наклона на допирателната към графиката на решението, минаваща през тази точка, т.е.:.

Оригиналното уравнение дефинира цяло семейство от решения. За да изберете едно решение, задайте начално състояние: ,където е дадена стойност на аргумента и началната стойност на функцията.

Проблем с Коши е да се намери функция, която удовлетворява първоначалното уравнение и началното условие. Обикновено решението на задачата на Коши се определя на сегмента, разположен вдясно от първоначалната стойност, т.е.

Дори за прости диференциални уравнения от първи ред не винаги е възможно да се получи аналитично решение. Следователно числените методи за решаване са от голямо значение. Числените методи позволяват да се определят приблизителните стойности на желаното решение върху избрана мрежа от стойности на аргументи. Точките се наричат възли на мрежата, а стойността е стъпката на мрежата. често се смята униформа решетки,за които стъпката е постоянна. В този случай решението се получава под формата на таблица, в която всеки възел на мрежата съответства на приблизителните стойности на функцията в възлите на мрежата.

Числените методи не позволяват намиране на решение в общ вид, но са приложими към широк клас диференциални уравнения.

Сходимост на числените методи за решаване на проблема на Коши.Нека е решение на проблема на Коши. Да се ​​обадим грешка числен метод, функцията, дадена във възлите на мрежата. Като абсолютна грешка приемаме стойността.

Численият метод за решаване на задачата на Коши се нарича сближаване, ако за него при. Казва се, че даден метод има th ред на точност, ако оценката за грешката е постоянен,.

Метод на Ойлер

Най-простият метод за решаване на проблема на Коши е методът на Ойлер. Нека решим проблема на Коши

на сегмента. Нека изберем стъпки и изградим решетка със система от възли. Методът на Ойлер изчислява приблизителните стойности на функцията във възлите на мрежата:. Заменяйки производната с крайни разлики на отсечките, получаваме приблизително равенство:, което може да се пренапише като:,.

Тези формули и началното условие са формули за изчисление на метода на Ойлер.

Геометричната интерпретация на една стъпка от метода на Ойлер е, че решението върху сегмента се заменя с допирателна, начертана в точка към интегралната крива, минаваща през тази точка. След завършване на стъпките неизвестната кумулативна крива се заменя с прекъсната линия (прекъсната линия на Ойлер).

Оценка на грешката.За да оценим грешката на метода на Ойлер, използваме следната теорема.

Теорема.Нека функцията удовлетворява условията:

.

Тогава следната оценка на грешката е валидна за метода на Ойлер: , където е дължината на отсечката. Виждаме, че методът на Ойлер има първи ред на точност.

Оценяването на грешката на метода на Ойлер често е трудно, тъй като изисква изчисляване на производните на функцията. Груба оценка на грешката е дадена от Runge правило (правило за двойно броене),който се използва за различни едноетапни методи с -ти ред на точност. Правилото на Рунге е следното. Нека са приближения, получени със стъпка, и нека са приближения, получени със стъпка. Тогава е вярно приблизителното равенство:

.

По този начин, за да оцените грешката на метода с една стъпка със стъпка, трябва да намерите същото решение със стъпки, да изчислите стойността вдясно в последната формула, т.е. тъй като методът на Ойлер има първи ред на точност, т.е. приблизителното равенство има вид:.

С помощта на правилото на Рунге може да се конструира процедура за приблизително изчисляване на решението на задачата на Коши с дадена точност . За това е необходимо, започвайки изчисления с определена стойност на стъпка, последователно да намалите тази стойност наполовина, като всеки път изчислявате приблизителна стойност, . Изчисленията спират, когато е изпълнено условието: . За метода на Ойлер това условие приема формата:. Приблизително решение биха били стойностите .

Пример 1Нека намерим решение на сегмента на следната задача на Коши:,. Да направим крачка. Тогава.

Формулата за изчисление на метода на Ойлер има формата:

, .

Представяме решението под формата на таблица 1:

маса 1

Първоначалното уравнение е уравнението на Бернули. Неговото решение може да бъде намерено изрично: .

За да сравним точното и приблизителното решение, представяме точното решение под формата на таблица 2:

таблица 2

От таблицата се вижда, че грешката е

Методът на Ойлер се отнася до числени методи, които дават решение под формата на таблица с приблизителни стойности на желаната функция y(x). Той е сравнително груб и се използва главно за приблизителни изчисления. Въпреки това, идеите, залегнали в основата на метода на Ойлер, са отправните точки за редица други методи.

Разгледайте диференциалното уравнение от първи ред

с начално състояние

х= х 0 , г(х 0 )= г 0 (3.2)

Необходимо е да се намери решение на уравнението на интервала [ А, b].

Нека разделим сегмента [ а, b] на n равни части и вземете последователността х 0 , Х 1 , Х 2 ,…, Х н, Където х аз = х 0 + ih (аз=0,1,…, н), А ч=(b- а)/ н− стъпка на интегриране.

В метода на Ойлер, приблизителни стойности y(x аз +1 ) г аз +1 се изчисляват последователно по формулите:

г i+1 = при аз +hf(x аз аз ) (i=0,1,2…) (3.3)

В този случай желаната интегрална крива y=y(x)преминаващ през точката М 0 0 , г 0 ), се заменя с прекъсната линия М 0 М 1 М 2 с върхове М аз (х аз , г аз ) (аз=0,1,2,…); всяка връзка М аз М аз +1 тази прекъсната линия се нарича Начупена линия на Ойлер, има посока, съвпадаща с посоката на тази интегрална крива на уравнение (1), която минава през точката М аз(виж фигура 2):

Фигура 2. Изглед на начупената линия на Ойлер

Модифициран метод на Ойлерпо-точно , Първо се изчисляват спомагателните стойности на желаната функция при k+1/2по точки х k+1/2, тогава стойността на дясната страна на уравнение (3.1) се намира в средната точка г k+1/2 =f( xk+1/2 k+1/2 ) и определете при k+ :

Тогава:
(3.4)

Формули (3.4) са рекурентни формули на метода на Ойлер.

За оценка на грешката в точката х Да сенаправи изчисленията при Да сестъпка по стъпка ч, след това със стъпка 2 чи вземете 1/3 от разликата на тези стойности:

,

Където y(x)е точното решение на диференциалното уравнение.

Методът на Ойлер лесно се разширява до системи от диференциални уравнения и до диференциални уравнения от по-висок ред. Последният трябва първо да се сведе до система от диференциални уравнения от първи ред.

3.2. Метод Рунге-Кута

Методите на Runge-Kutta имат следните свойства:

    Тези методи са едноетапни: намиране при k+1 нужда от информация относно предходната точка Да се г Да се )

    Методите са в съответствие със серията на Тейлър до термини за поръчка ч стр където степента Ре различен за различните методи и се нарича сериен номер или ред на метода

    Те не изискват производни на f(xy) но изискват изчисляване на самата функция

Алгоритъм на Рунге-Кута третипоръчка:

(3.5)

Алгоритъм на Рунге-Кута четвъртопоръчка:

(3.6)

Алгоритмите от трети и четвърти ред изискват изчисления на три и четири функции съответно на всяка стъпка, но са много точни.

3.3. Метод на Адамс

Методът на Адамс се отнася за многостъпков DE схеми на решение, характеризиращи се с факта, че решението в текущия възел не зависи от данните в един предишен или следващ възел на мрежата, какъвто е случаят при едноетапните методи, а зависи от данните в множество съседни възли.

Идеята на методите на Адамс е да се използват стойностите, които вече са изчислени в предишните стъпки, за да се подобри точността

Y к -1 , Y к -2 , Y к -3 …

Ако стойностите се използват в кпредишни възли, тогава говорим за метода на k-стъпка за интегриране на уравнението. Един от начините за изграждане на многоетапни методи е както следва. Въз основа на стойностите на функцията, изчислени в k предишни възли, интерполационен полином от степен (k-1) -Л к -1 (х) , който се използва при интегриране на диференциалното уравнение чрез израза:

В този случай интегралът се изразява чрез квадратурната формула:

Където λ л са квадратурни коефициенти.

Така полученото семейство формули се нарича изричнок - Стъпкова диаграма на Адамс. Както се вижда, при к=1 като частен случай се получава формулата на Ойлер.

Например, за формула от 4 поръчки имаме:

(3.7)

г ( стр ) к +1 – „прогноза“, изчислена с помощта на стойностите в предишните точки, f ( стр ) к +1 е приблизителната стойност на функцията, изчислена в момента на получаване на прогнозата, г ( ° С ) к +1 - "корекция" на прогнозната стойност, г к +1 е желаната стойност според Адамс.

Предимството на този метод за решаване на DE е, че във всяка точка се изчислява само една стойност на функцията F(x, y).Недостатъците включват невъзможността за стартиране на многоетапен метод от една начална точка, тъй като за изчисления от к-step формулата се нуждае от стойността на стойността на функцията в квъзли. Следователно е необходимо (к-1)решение при първите възли х 1 , х 2 , …, х к-1да се получи с помощта на някакъв едноетапен метод, например методът на Runge-Kutta от 4-ти ред.

Друг проблем е невъзможността за промяна на стъпката по време на процеса на решаване, което лесно се прилага при едноетапни методи.

4. Кратко описание на програмата на C++ и представяне на резултатите от нейното изпълнение

Много проблеми на науката и технологиите се свеждат до решаване на обикновени диференциални уравнения (ОДУ). ODE са такива уравнения, които съдържат една или повече производни на желаната функция. Общо взето

ODE може да се запише като:

F x, y, y, y,..., y

където x е независима променлива,

y i - i -та производна на

на желаната функция, n е редът на уравнението. Общото решение на ODE от n-ти ред съдържа n произволни константи

c 1 , c 2 ,..., c n , т.е. общото решение има вида y x , c 1 , c 2 ,..., c n . За да изберете уникално решение, е необходимо да зададете n допълнителни условия. В зависимост от настройката

допълнителни условия, има два различни вида проблеми: проблем на Коши и проблем с гранични стойности. Ако в една точка са посочени допълнителни условия, тогава такъв проблем се нарича проблем на Коши. Допълнителните условия в проблема на Коши се наричат ​​начални условия. Ако в повече от една точка са посочени допълнителни условия, т.е. при различни стойностинезависима променлива, тогава такъв проблем се нарича проблем с гранична стойност. Самите допълнителни условия се наричат ​​гранични или гранични условия.

Ясно е, че за n 1 може да се говори само за задача на Коши. Примери за поставяне на проблема на Коши:

dy x 2 y 3

y 1 1;

d 2 y dy

y 1 1,

dx 2 dx xy,

y 1 0 .

Примери за проблеми с гранични стойности:

d2y

y sin x,

y 0 1,

y 1 0

dx 2

d 3 г

d2y

y10,

y 3 2 .

x x dx 2

dx,

y10,

Решете такива

аналитично е възможно само за

някои специални видове уравнения, така че използването на приблизителни методи за решаване е необходимост.

Приблизителни методи за решаване на проблема на Коши за ОДУ от първи ред

Изисква се да се намери решение y (x ) на ODE от първи ред

f x, y

на отсечката x 0 , x n при условието

y x0 y0 .

Ще търсим приблизително решение във възлите на изчисленото

xi x0 ih,

i 0,1,..., n с

xn x0

Трябва да се намери

приблизителен

стойности в

възли на мрежата

y i =y (x i). Резултатите от изчисленията ще бъдат въведени в таблицата

Интегриране

уравнение за

сегмент x i, x i

1, получаваме

x i 1

y i 1

yi f x, y dx.

За да намерите всички стойности на y i , трябва по някакъв начин

изчислете интеграла от дясната страна на (5.4). Прилагайки различни квадратурни формули, ще получим методи за решаване на задача (5.2), (5.3) с различен порядък на точност.

Метод на Ойлер

Ако изчисляваме интеграла в (5.4), използваме най-простата формула на левите правоъгълници от първи ред

Явният метод на Ойлер има първи ред на приближение. Изпълнение на метода.Тъй като x 0 , y 0 , f x 0 , y 0

са известни, прилагайки последователно (5.5), определяме всички y i : y 1 y 0 hf x 0 , y 0 , y 2 y 1 hf x 1 , y 1 , ….

Геометричен

интерпретация

(фиг. 5.1.):

Използвайки факта, че решението y x 0 y 0 е известно в точката x 0

и стойността на нейната производна y x 0 dy

f x0, y0,

xx0

напишете уравнението на допирателната към графиката на желаната функция

f x0, y0

y y0

f x0, y0 x x0.

достатъчно

стъпка h

ордината

y1 y0 hf x0 , y0

допирателната, получена чрез заместване в дясната страна на стойността x 1 x 0 h , трябва да се различава малко от ординатата y x 1 на решението

y x на проблема на Коши. Следователно точката x 1 , y 1 от пресечната точка на допирателната с правата x x 1 може приблизително да се вземе

за нова отправна точка. Нека начертаем отново тази точка.

линия y y 1 f x 1 , y 1 x x 1 ,

което грубо отразява

поведение на допирателната към y x

използване

x i 1

правоъгълници:

f x, y dx hf xi 1, yi 1, тогава

имплицитен метод на Ойлер

y i 1

y i hf x i 1, y i 1, i 0,1,..., n 1.

Този метод се нарича имплицитно, защото за изчисляване

неизвестен

стойности

yi 1 y xi 1 от

известен

значение

необходимо е да се реши уравнението, в общия случай

нелинейни. Неявният метод на Ойлер също има първи ред на приближение.

Модифициран метод на Ойлер

IN този методизчисляването на y i 1 се състои от два етапа:

~ y i 1 y i hf x i, y i,

y i 1

f xi , yi f xi 1 , yi 1

Тази схема се нарича още метод предиктор-коректор. Това английско име, което означава „правилно прогнозиране“. Наистина, на първия етап приблизителната стойност се прогнозира с първи ред на точност, а при

Метод на Ойлер. Подобрен метод на Ойлер.
Класически метод на Рунге-Кута

Изчислителната математика и диференциалните уравнения не са заобиколени! Днес в клас ще научим основите. приблизителни изчисленияв този раздел на математическия анализ, след което пред вас ще се отворят дебели, много дебели книги по темата. Защото изчислителната математика все още не е заобиколила дифузната страна =)

Методите, изброени в заглавието, са за приблизителеннамиране на решения диференциални уравнения, системи за дистанционно управление и кратко изложение на най-често срещания проблем е както следва:

Обмисли диференциално уравнение от първи редза които искате да намерите частно решениесъответстващ на първоначалното състояние. Какво означава? Това означава, че трябва да намерим функция (предполага се, че съществува), което удовлетворява дадената разл. уравнение и чиято графика минава през точката .

Но тук е проблемът - променливите в уравнението не могат да бъдат разделени. На науката не е известен начин. И ако е възможно, тогава се оказва неуловимоинтегрална. Има обаче конкретно решение! И тук на помощ идват методи за приблизителни изчисления, които позволяват с висок (и често с най-високата)да „симулира“ функцията на определен интервал с точност.

Идеята зад методите на Ойлер и Рунге-Кута е да се замени сюжетният фрагмент прекъсната линия, а сега ще разберем как тази идея се прилага на практика. И ние не само ще научим, но и директно ще приложим =) Нека започнем с исторически първия и най-прост метод. …Искате ли да се справите със сложно диференциално уравнение? И аз не искам :)

Упражнение

Намерете частно решение на диференциалното уравнение, съответстващо на началното условие, като използвате метода на Ойлер върху сегмент със стъпка. Постройте таблица и графика на приближеното решение.

Разбираме. Първо, имаме обичайното линейно уравнение, които могат да бъдат решени по стандартни начини и затова е много трудно да се устои на изкушението веднага да се намери точното решение:

- желаещите могат да проверят и да се уверят, че тази функция удовлетворява началното условие и е корен на уравнението.

Какво трябва да се направи? Трябва да се намери и изгради прекъсната линия, което апроксимира графиката на функцията между. Тъй като дължината на този интервал е равна на едно, а стъпката е , тогава нашата прекъсната линияще се състои от 10 сегмента:

освен това точка вече е известно - отговаря на изходното състояние . В допълнение, координатите "x" на други точки са очевидни:

Остава да се намери . Нито един диференциацияИ интеграция- само събиране и умножение! Всяка следваща „гръцка“ стойност се получава от предишната чрез просто рецидивиращформула:

Представяме диференциалното уравнение във формата:

По този начин:

Ние се „развиваме“ от първоначалното състояние:

Започна:

Удобно е да въведете резултатите от изчисленията в таблица:

А самите изчисления да са автоматизирани в Excel - защото в математиката е важен не само победата, но и бързият край :)

Въз основа на резултатите от 2-ра и 3-та колона ще начертаем 11 точки и 10 сегмента, свързващи съседни точки в чертежа. За сравнение ще начертая точното конкретно решение :


Съществен недостатък на простия метод на Ойлер е, че грешката е твърде голяма и е лесно да се види, че грешката има тенденция да се натрупва - колкото по-далеч се отдалечаваме от точката, предимнонесъответствието между приближение и истина става по-голямо. Това се обяснява със самия принцип, на който Ойлер базира своя метод: сегментите са успоредни релевантни допирателна към графиката на функцията в точки . Този факт, между другото, също е ясно видим на чертежа.

Как може да се подобри приближението? Първата мисъл е да прецизирате дяла. Разделете сегмента, например, на 20 части. Тогава стъпката ще бъде: и е съвсем ясно, че една прекъсната линия от 20 връзки ще доближи конкретното решение много по-точно. Използвайки същия Excel, няма да е трудно да обработим 100-1000 и дори милион (!) Междинни сегмента, но нека се запитаме: възможно ли е да подобрим метода КАЧЕСТВЕНО?

Но преди да разкрия този въпрос, не мога да не се спра на многократно споменаваното днес име. Четене Биография на Леонхард Ойлер, просто се учудваш колко невероятно много може да направи човек в живота си! Само K.F. беше сравним. Гаус. ...Затова ще се опитаме да не губим мотивация за учене и нови открития :))

Подобрен метод на Ойлер

Разгледайте същия пример: диференциално уравнение, конкретно решение, което удовлетворява условието, интервал и разделянето му на 10 части
(е дължината на всяка част).

Целта на подобрението е да доближи "червените квадратчета" на полилинията до съответните "зелени точки" на точното решение .

И идеята на модификацията е следната: сегментите трябва да са успоредни допирателна, които се начертават на графиката на функцията не от лявата страна, но "в средата" на интервалите на разделяне. Което, разбира се, ще подобри качеството на приближението.

Алгоритъмът за решение работи по същия начин, но формулата, както може би се досещате, става по-сложна:
, Където

Започваме да танцуваме отново от конкретно решение и веднага намираме първия аргумент на „външната“ функция:

Сега намираме нашето "чудовище", което се оказа не толкова страшно - имайте предвид, че това е СЪЩАТА функция , изчислено в друга точка:

Умножаваме резултата по стъпката на разделяне:

По този начин:

Алгоритъмът влиза във втория кръг, не съм твърде мързелив, ще го запиша подробно:

разгледайте двойка и намерете първия аргумент на "външната" функция:

Изчисляваме и намираме втория му аргумент:

Нека изчислим стойността:

и неговия продукт на стъпка:

Разумно е да се извършват изчисления в Excel (като сте репликирали формулите по същия начин - вижте видеото по-горе)и обобщете резултатите в таблица:


Числата трябва да бъдат закръглени до 4-5-6 знака след десетичната запетая. Често в условието на конкретна задача има директна индикацияКолко точно трябва да бъде закръгляването? Подрязах силно "опашатите" стойности до 6 знака.

Според резултатите от 2-ра и 3-та колона (наляво)да строим прекъсната линия, като за сравнение отново ще дам графика на точното решение :


Резултатът се подобри значително! - червените квадратчета са практически "скрити" зад зелените точки на точното решение.

Въпреки това, няма граници за съвършенството. Една глава е добре, но две по-добре. И отново немски:

Класически метод на Рунге-Кута от 4-ти ред

Целта му е да постигне още по-голямо доближаване на „червените квадрати“ до „зелените точки“. Колко близо, ще попитате? В много, по-специално физически, изследвания, 10-то или дори 50-то точендесетична запетая. Не, такава точност може да се постигне и прост методОйлер, ама на КОЛКО части ще трябва да се раздели празнината?! ...Въпреки че със съвременните изчислителни мощности това не е проблем - хиляди китайски стокери космически корабгарантирано!

И както правилно подсказва заглавието, когато използвате метода Runge-Kutta на всяка крачкатрябва да изчислим стойността на функцията 4 пъти (за разлика от двойното изчисление в предходния параграф). Но тази задача е доста и доста повдигаща, ако наемете китайци. Всяка следваща "гръцка" стойност се получава от предишната - хващаме формулите:
, Където , Където:

Готов? Ами да започваме тогава :)


По този начин:

Първият ред е програмиран и копирам формулите, както в примера:


Не мислех, че ще завърша метода Runge-Kutta толкова бързо =)

Чертежът няма смисъл, тъй като вече не е показателен. Нека направим едно аналитично сравнение точносттри метода, защото когато се знае точното решение , тогава е грях да не се сравнява. Стойностите на функцията в възловите точки просто се изчисляват в същия Excel - след като попълним формулата и я репликираме към останалите.

В следващата таблица ще обобщя стойностите (за всеки от трите метода) и съответните абсолютни грешкиприблизителни изчисления:


Както можете да видите, методът Runge-Kutta вече дава 4-5 правилни знака след десетичната запетая в сравнение с 2 правилни знака след десетичната запетая на подобрения метод на Ойлер! И това не е случайно:

– Грешката на „обичайния“ метод на Ойлер не надвишава стъпкапрегради. И всъщност - погледнете най-лявата колона с грешки - има само една нула след запетаите, което ни говори за точност от 0,1.

– Усъвършенстваният метод на Ойлер гарантира точност: (вижте 2 нули след десетичната запетая в средната колона за грешка).

– И накрая, класическият метод Runge-Kutta гарантира точност .

Посочените оценки на грешката са строго обосновани на теория.

Как все още мога да подобря точността на приближението? Отговорът е направо философски: качество и / или количество =) По-специално, има други, по-точни модификации на метода Runge-Kutta. Количественият начин, както вече беше отбелязано, е да се намали стъпката, т.е. при разделянето на сегмент на по-голям брой междинни сегменти. И с увеличаване на това число, прекъснатата линия ще изглежда все повече и повече като точна графика на решение И в границите- съвпада с него.

В математиката това свойство се нарича изправяне на кривата. Между другото (малък офтопик), далеч не всичко е възможно да се „изправи“ - препоръчвам да прочетете най-интересното, при което намаляването на „областта на изследване“ не води до опростяване на обекта на изследване.

Случи се така, че анализирах само едно диференциално уравнение и следователно няколко допълнителни забележки. Какво друго трябва да се има предвид на практика? В условието на проблема може да ви бъде предложен друг сегмент и друг дял и понякога се появява следната формулировка: „намерете по метода ... ... на интервала, като го разделите на 5 части.“ В този случай трябва да намерите стъпката на дяла и след това следвайте обичайната схема за решение. Между другото, първоначалното условие трябва да бъде в следната форма: , т.е. "x нула", като правило, съвпада с левия край на сегмента. Образно казано, начупената линия винаги „напуска” точката.

Безспорното предимство на разглежданите методи е фактът, че те са приложими за уравнения с много сложна дясна страна. И абсолютен недостатък - не всеки diffur може да бъде представен в тази форма.

Но почти всичко в този живот е поправимо! - все пак разгледахме само малка част от темата и фразата ми за дебелите, много дебели книги изобщо не беше шега. Има много приблизителни методи за намиране на решения на DE и техните системи, в които, наред с други неща, се използват фундаментално различни подходи. Така например може да бъде определено решение апроксимирано чрез степенен закон. Това обаче е статия за друг раздел.

Дано успях да разнообразя скучната изчислителна математика, а и да ви е било интересно!

Благодаря за вниманието!