За стомашно-чревни заболявания

Студенти от FIRT

Групирай по

Учител

Гадилова Ф.Г.

ВЪВЕДЕНИЕ……………………………………………………………………………………………..…3

ГЛАВА 1. ТЕОРЕТИЧНА ЧАСТ

      СЪЩНОСТ НА МЕТОДА РУНГЕ-КУТА………………………………………………………5

1.2. ЦЕЛ И ОБХВАТ НА ПРИЛОЖЕНИЕ……………………………10

ГЛАВА2. ПРАКТИЧЕСКА ЧАСТ

2.1. ПОСТАНОВКА НА ПРОБЛЕМА И РАЗРАБОТВАНЕ НА АЛГОРИТЪМ ЗА РЕШАВАНЕ НА ПРОБЛЕМА…………………………………………………………………………………………..… …….11

2.2. ИЗБОР НА СЪСТАВА ОТ ТЕХНИЧЕСКИ И СОФТУЕРНИ СРЕДСТВА…………………………………………………………………………...16

2.4. ТЕСТВАНЕ НА ПРОГРАМАТА…………………………………………………………...18

ЗАКЛЮЧЕНИЕ…………………………………………………………………………19

ЛИТЕРАТУРА………………………………………………………………………………20

ПРИЛОЖЕНИЯ:

ПРИЛОЖЕНИЕ № 1 (СПИСЪК НА ПРОГРАМИТЕ)

Въведение

Целта на курсовата работа е: да се напише програма за намиране на приближено решение на обикновеното диференциално уравнение y'=f(x,y),y(a)=y0 по метода на Рунге-Кута от пети ред върху отсечка. с дадена постоянна стъпка.

За постигане на тази цел трябва да бъдат изпълнени следните задачи:

    Помислете за същността на метода Runge-Kutta.

    Цел и обхват.

    Тествайте програмата.

Този проблем се отнася до числените методи. Необходимо е да се намери решение на обикновено диференциално уравнение с постоянна стъпка h.

За решаване на проблема ще се използва езикът за програмиране TurboPascal 7.0, тъй като този език ви позволява да работите с математически формули, да извършвате различни видове математически операции и действия. Turbo Pascal на Borland е разширение на езиковия стандарт и съдържа интегрирана среда което ускорява и улеснява процеса на разработване на програмата. Програмният език TurboPascal7.0 използва въведен адресен оператор, отворени масиви и низове, което предоставя на потребителя допълнителни възможности при решаване на математически задачи. В математическите задачи често е необходимо да се прилагат числени методи и експериментално да се изследват състоянието и скоростта на сходимост на методите. Изложението на проблема, като правило, дава основната идея на всеки метод (Euler, Runge-Kutta и др.).

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

Глава 1.

1.1. Същността на метода Рунге-Кута

Методът на Рунге-Кута включва няколко други, като метода на Ойлер и метода на Ойлер-Коши.

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

1. Тези методи са едностъпкови: за да намерите m+1, от което се нуждаете

информация за предишната точка xmym

2 Те са в съответствие с редицата на Тейлър до членове от ред h p  където степента на p е различна за различните методи и се нарича пореден номер или ред на метода

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

Нека първо разгледаме геометричната конструкция и изведем някои формули, базирани на геометрични аналогииСлед това ще потвърдим аналитично получените резултати(Аналитичният метод, който се използва, дава решение на диференциалното уравнение под формата на аналитичен израз; Графичен метод, който дава приблизително решение под формата на графика; Числен метод, когато търсената функция се получава под формата на таблица.)

Да предположим, че знаем точката xmym на желаната крива Тогава можем да начертаем права линия с тангенса на ъгъла на наклон  m =f(x m y m), която ще минава през точката x m y m  Тази конструкция е показано на фиг. 1, където кривата представлява точното, но крайно неизвестно решение на уравнението, а правата линия L1 е конструирана, както е описано току-що

Уравнението на правата линия L 1 изглежда така: y=y m +y m (x-x m), тъй като y=f(x m y m) и в допълнениеx m+1 =x m +h, тогава уравнението ще приеме форма

y m+1 =y m +h*f(x m y m) 1.1.

Грешката при x=x m+1 е показана като сегмент eОчевидно приблизителната стойност, намерена по този начин, е в съответствие с разширението на реда на Тейлър до членове от ред hтака че грешката на ограничението е равна на e t = Kh 2

Имайте предвид, че въпреки че точката на Фиг. 1 е показана на крива, в действителност y m е приблизителна стойност и не лежи точно на кривата.

Формула 11 описва метода на Ойлер един от най-старите и широко известни методи за числено интегриране на диференциални уравнения Имайте предвид, че методът на Ойлер е един от методите на Рунге-Кута от първи ред

Нека разгледаме коригирания метод на Ойлер и модифицирания метод на Ойлер. В коригирания метод на Ойлер намираме средния тангенс на допирателния ъгъл за две точки: x m y m и x m +hy m +hy m Последната точка е същата, която в метода на Ойлер е обозначена с x m+1 y m+1  Геометричният процес на намиране на точката x m+1 y m+1 може да бъде проследен на Фиг. 2. Използвайки метода на Ойлер, намираме точката x m +hy m +hy m лежаща на правата линия L 1 В тази точка допирателната се изчислява отноводава права линия LНакраяпрез точката x m y m начертаваме права Lуспоредна на LТочкав която правата L ще се пресича с ординатата, възстановена от x=x m+1 =x m +h и ще бъде желаната точка x m+1 y m+1 

И има две схеми на Runge-Kutta четвърторед на приближаване:

Пример. Решете уравнение d, като използвате метода на Runge-Kutta от четвърти ред гх = –г, г(0) = 1.

В съответствие с горните връзки определяме коефициентите:

Нека изградим последователност от стойности на необходимата функция:

Резултати от полученото числено решение за стойността на аргумента х= 10 при различни стъпки на интегриране са дадени в табл. 15.2. Три правилни значими цифри, получени за стъпката ч = 0.25.

Сравнението на таблици 15.1 и 15.2 с решения на същия проблем ни позволява да заключим, че по-висока степен на приближениедиференциално уравнение с аналог на разликата ни позволява да получим по-точно решениес по-голяма стъпка и следователно по-малко стъпки, тоест води до намаляване на необходимите ресурсиКОМПЮТЪР.

Днес за груби изчисления се правят изчисления по метода на Ойлер, за точни изчисления - по метода на Рунге-Кута

16. Лекция 16.
Методи за прогнозиране и корекция
(итеративни методи)

Методите, които проучихме по-рано, имаха една важна характеристика - всеки метод обикновено съответства на определен клас на точност, който обозначихме като Ой. Например, методът на Ойлер имаше първия клас на точност О 1 . Това означава, че с намаляване на стъпката с 10 пъти (с порядък), точността на резултата също се увеличава 10 пъти (с един порядък). Методът Runge-Kutta има 4 степени на точност - О 4, когато стъпката се намали с 10 пъти, резултатът се подобрява с 10 000 пъти. Тъй като този метод, в сравнение с метода на Ойлер, използва само 4 пъти повече изчисления, използването му е по-изгодно. Днес са известни методи до 8-ми ред на точност (например методът на принц Дортмунд), въпреки че в същото време си струва да се има предвид, че писането на алгоритми за тях е доста трудна задача. Предимството на всички тези алгоритми е, че обемът на изчисленията за тях е известен предварително.

Ако трябва да постигнете ВСЯКАКВА точност на стъпка, тогава трябва да се използват методи за прогнозиране и корекция. Този подход се състои в това, че изчисляването на траекторията, определена от уравнението, се извършва многократно на всяка стъпка. А именно, първо се изчислява приблизителната стойност на функцията в края на стъпката, като се използва някаква проста формула (например метод на Ойлер), след това производната се изчислява в тази точка и изчислението се извършва отново от началната точка на стъпката , но с прецизирана стойност на производната. Извършва се последната операция - изясняване на производната и стойността на функцията в края на стъпката ПОВТОРНО НА ВСЯКА СТЪПКА , т.е. докато изчислените стойности (функция и производна в края на стъпката) спрат да се променят или се променят леко, по-малко от предварително зададената стойност ε . Само тогава можем да кажем, че точността ε постигнати.

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

Нека да разгледаме два метода от този клас като пример. Както и преди, задачата е да се намери функцията г(T) от диференциалното уравнение dy/дт = f(г, х, T) или набор от функции от система от такива уравнения.

Да предположим, че трябва да намерим решение на диференциално уравнение

г’ = f(T, г),

удовлетворяващи първоначалното условие

да(T 0) = г 0 .

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

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

Най-често срещаният е метод от четвърти ред, който съдържа всички термини от серията Тейлър, включително ч 4 . Изчисленията с помощта на този класически метод се правят по формулите:

Методът на Ойлер и неговата модификация са по същество методи на Рунге-Кута от първи и втори ред, съответно. По-високата точност на метода Runge-Kutta ви позволява да увеличите стъпката на интегриране ч. Допустимата грешка на стъпка определя нейната максимална стойност. В приложните софтуерни пакети изборът на стъпки често се извършва автоматично. За да направите това, изчисленията се извършват първо на стъпки ч, а след това на стъпки ч/2.

За оценка на грешката на изчисленията със стъпки ч/2 можете да вземете приблизителната формула

където е изчислената стойност в стъпки ч/2; y n– изчислена стойност в стъпки ч. Пример: г’ = xy.

При прилагане на методите Runge-Kutta на компютър се извършва двойно отчитане за всяка точка. Ако стойностите, получени в този случай, отговарят на израза (5.4), тогава за точката T n+1 стъпка се удвоява, в противен случай се намалява наполовина. Трябва обаче да се помни, че изразът (5.4) е приблизителен и при неблагоприятни условия можете да получите напълно грешни резултати, въпреки че в повечето случаи ситуацията е наред.

Методът на Runge-Kutta е един от най-често използваните високопрецизни методи. Методът на Ойлер може да се счита за най-простата версия на метода на Рунге-Кута.

Разгледайте проблема на Коши за диференциалното уравнение

y"(T) = f(t, y(T))

с начално състояние г(T 0) = г 0.

Както в метода на Ойлер, ние избираме стъпката ч= и изградете мрежа със система от възли T i = T 0 + ih, i= 0, 1, …, н.

Нека означим с г iприблизителна стойност на търсеното решение в точката T i .

Да дадем формули за изчисление на метода Runge-Kutta от четвърти ред на точност:

г i+ 1 = г i + ч(к+ 2к+ 2к + к),

к = f(T i , г i),

к = f(T i + , г i + к), (6.17)

к= f(T i + , г i + к),

к = f(T i +h, y i + hk),

i= 0, 1, …, н.

Оценка на грешката. Степенгрешките на метода Рунге-Кута са трудни. Груба оценка на грешката се дава от правилото на Runge (вижте раздел 6.2). Тъй като методът на Runge-Kutta има четвърти ред на точност, т.е. стр= 4, тогава оценката на грешката (6.6) ще приеме формата

Р |у-у|. (6.18)

Използвайки правилото на Runge, е възможно да се изгради процедура за приблизително изчисляване на решението на проблема на Коши, като се използва методът на Runge-Kutta от четвърти ред на точност с дадена точност . Необходимо е да започнете изчисленията от определена стойност на стъпката ч, последователно намалете тази стойност наполовина, като всеки път изчислявате приблизителна стойност г, i= 0, 1, …, н.Изчисленията спират, когато условието е изпълнено:

Р |у-у| < . (6.19)

Приблизително решение биха били стойностите г, i= 0, 1, …, н.

Пример 6.4.

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

y"(T) = 2ty, г(0) = 1. (6.20)

Да направим крачка h = 0,1. Тогава n = = 10.

В съответствие с (6.17) формулите за изчисление ще приемат формата:

г i+ 1 = г i + ч(к+ 2к+ 2к + к),

к = 2T i г i ,

к = 2(T i +)(г i + к), (6.21)

к= 2(T i +)(г i + к),

к = 2(T i +ч)(г i + hk),

i= 0, 1, …, 10.

Задача (6.20) има точно решение: г(T) = д, следователно грешката се определя като абсолютната стойност на разликата между точните и приблизителните стойности i = |г(T i) - г i |.

Приблизителни стойности на разтвора, намерени с помощта на формули (6.21) г iи техните грешки iса представени в таблица 6.5:

Таблица 6.5

T i

г i

T i

г i

Цели за кредит в курса "Изчислителни методи"

Забележка.Всеки студент трябва първо да определи параметъра на своята тестова задача, с= log 10 (1 +), където к- номер на ученика в списъка на групата, к= 1, 2, ... Решението на задачите трябва да се подготви внимателно и да съдържа всички междинни изчисления. Като пример можете да вземете примерите, обсъдени в съответните раздели на насоките.

1. Използвайки метода за разделяне на сегмент наполовина, намерете корена на уравнението

4(1 - х 2) - д х = сс точност = 10 -3 .

2. Използвайки метода на Seidel, решете системата от уравнения с точност =10-3.

6.2+с 2.2+с 1.2+с 16.55+с

А = 2.2+с 5.5+с -1.5+с , b = 10.55+с.

1.2+с -1.5+с 7.2 +с 16.80+с

3. Намерете приближение на функцията f(х) = д sxвърху сегмент от полином на Тейлър с точност = 10 -3. Изчисли д с .

4. Изчислете приблизително интеграла при н= 4 и оценете грешката на резултата.

5. Използвайки метода на Ойлер, намерете числено решение на задачата на Коши

г" = 2sy; г(0) = 1, на сегмент със стъпка ч = 0.2.

Сравнете с точното решение.

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

Работата разглежда подробно метода на Runge-Kutta от четвърти ред с автоматичен избор на дължината на стъпката на интегриране (това осигурява много по-висока точност на изчислението в сравнение с метода, използващ постоянна дължина на стъпката), предоставя необходимото теоретично резюме, описание на метода, както и компютърна програма, резултати от нейното изпълнение и илюстриране.

Ключови думи: диференциално уравнение, метод на Рунге-Кута, метод на Ойлер, ред на метода на Рунге-Кута, задача на Коши, ред на Тейлър, сегмент, коефициенти, стъпка на интегриране, интегрална крива.

Работата съдържа 36 листа, включително 8 графики, 4 илюстрации и 12 таблици.

Въведение

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

1.1 Постановка на проблема

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

1.3 Обща формулировка на методите на Рунге-Кута

1.4 Обсъждане на методите от ред 4

1.5 “Оптимални” формули

1.6 Условия за поръчка за методите на Runge-Kutta

1.7 Оценка на грешката и сходимост на методите на Runge-Kutta

1.7.1 Строги оценки на несигурността

1.7.2 Термин за водеща грешка

1.7.3 Оценка на глобалната неопределеност

1.8 Оптимален избор на стъпка

2. Практическа част

2.1 Описание на програмата „Ilya RK-4 версия 1.43“

Заключение

Списък на използваните източници

Приложение А. Функционални графики

Приложение Б. Пример за таблица със стойности на функции y(x)

Приложение B. Списък на програмата „Ilya RK-4 версия 1.43“

Въведение

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

С увеличаване на броя на етапите за големи проблеми, решени с тези методи, биха възникнали трудности с компютърната памет; в допълнение (и това е по-важно), за големи проблеми, като правило, константите на Липшиц винаги са големи. Като цяло, това прави методите от висок порядък на Runge-Kutta неподходящи за такива проблеми. Във всеки случай другите методи обикновено са по-ефективни и трябва да се предпочитат. Методите на Runge-Kutta от четвърти ред обаче са доста лесни за прилагане на компютър и наличието на автоматичен избор на стъпки прави възможно извършването на изчисления с добра точност. Ето защо е препоръчително да ги използвате за доста голямо разнообразие от задачи.

Методите на Рунге-Кута имат няколко съществени предимства, които определят тяхната популярност сред значителен брой изследователи. Тези методи са лесни за програмиране и имат достатъчна точност и стабилност за широк кръг от задачи. Тези методи, подобно на всички едностъпкови методи, се стартират сами и ви позволяват лесно да промените стъпката на интегриране на всеки етап от изчислението.

Работата се фокусира върху въпроси на точността и ефективността при решаването на проблеми от вида, за който методите на Runge-Kutta са приемливи.

Софтуерната реализация на методите на Runge-Kutta от четвърти ред с автоматичен избор на стъпки е представена под формата на програма, написана на език от високо ниво Borland ° С ++ 3.1 . Програмата може да се изпълнява в околната среда Г-ЦА - DOSили Windows ® 95/98/ аз /2 к / XP. Като резултат програмата записва таблица със стойности във файл на диска и рисува графика на екрана на компютъра.

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

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

1.1 Постановка на проблема

Дадени са диференциалното уравнение и началното условие, т.е. поставена е задачата на Коши:

(2.1.1)

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

. Проблемът може да бъде решен аналитично чрез намиране на решение на диференциалното уравнение и заместване на първоначалното условие в него, като по този начин се намери необходимата интегрална крива. Но за нас интересът е в решаването на този проблем с помощта на числен метод и по-конкретно метода на Рунге-Кута от 4-ти ред с автоматичен избор на стъпка, тоест числено решение. Автоматичният избор на стъпка е необходимо условие за адекватно поведение на програмата с рязко променящи се функции, които определят интегралната крива, което ви позволява да отразявате всички моменти в поведението на интегралната крива и да постигнете висока точност.

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

Методът на Ойлер за решаване на проблема с началната стойност (2.1.1) е описан от Ойлер през 1768 г. Този метод е доста прост. Неговата глобална грешка има формата

, където е константа в зависимост от задачата и е максималната дължина на стъпката. Ако се иска, да речем, да се получат 6 точни знака след десетичната запетая, тогава са необходими около милион стъпки, което не е много задоволително. От друга страна, още от времето на Нютон е известно, че много по-точни методи могат да бъдат намерени, ако не зависи от , тоест ако имаме проблем (2.1.1), разрешим чрез квадратура . (2.2.1)

Като пример, помислете за първата квадратурна формула на Гаус, наричана още "правило на средната точка":

(2.2.2) и – гранични точки на подинтервалите, на които е разделен интеграционният интервал. Известно е, че оценката на глобалната грешка на тази формула има формата . Така че, ако желаната точност е 6 знака след десетичната запетая, тя обикновено може да бъде постигната с около 1000 стъпки, което прави този метод хиляди пъти по-бърз. Следователно Рунге задава следния въпрос: възможно ли е да се разшири този метод към първоначалния проблем на Коши? Първата стъпка на дължина трябва да изглежда така . (2.2.3)

Но каква стойност трябва да приемем

? Поради липса на нещо по-добро, естествено е да използваме една малка стъпка от метода на Ойлер за дължина. Тогава от предишната формула получаваме: (2.2.4)

Решаващият фактор тук е умножението

в третия израз от , в резултат на което влиянието на грешката става по-малко значимо. По-точно, ние изчисляваме разширението на Тейлър по мощности: (2.2.5)

Може да се сравни със серията на Тейлър за точното решение, което се получава от факта, че



Ако забележите грешка, изберете част от текста и натиснете Ctrl+Enter
ДЯЛ: