Розв’язування диференційних рівнянь.

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних наук та інформаційних технологій
Факультет:
Не вказано
Кафедра:
Програмного забезпечення (ПЗ)

Інформація про роботу

Рік:
2008
Тип роботи:
Лабораторна робота
Предмет:
Чисельні методи в інформатиці
Група:
КН-3

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ "ЛЬВІВСЬКА ПОЛІТЕХНІКА" Інститут ІКНІ Кафедра ПЗ ЗВІТ до лабораторної роботи № 5 На тему: “ Розв’язування диференційних рівнянь ” З дисципліни: “ Чисельні методи в інформатиці ” Виконав: ст. гр. КН - 3 Львів – 2008 Мета роботи: навчитись обчислювати розв’язок задачі Коші (нелінійного диференційного рівняння першого порядку) на інтервалі [a,b], застосовуючи метод Ейлера або метод Рунге-Кутта 4-го порядку. Теоретичні відомості Розглянемо диференційне рівняння першого порядку:  EMBED Equation.3  EMBED Equation.3  (4.6.1) і початкову умову:  EMBED Equation.3  , де y0 – надано. Диференційна задача (4.6.1) зветься задачею Коші. Вона часто застосовується для моделювання динаміки різноманітних процесів. У такому разі t – час, y – величина, що описує стан об’єкту, y0 – його початковий стан. Нехай t0,t1,...,tN – моменти часу, для яких треба обчислити стан об’єкту. Величина hk = tk+1-tk зветься кроком інтегрування. Для розв’язування задачі Коши застосовуються алгоритми як з постійним, так і з змінним кроком. Далі будемо вважати, що крок є постійним, тоді, припускаючи, що t0=0, будемо мати:  EMBED Equation.3  . Будемо використовувати позначення:  EMBED Equation.3  Найбільш простим методом розв’язування задачі Коші є метод Ейлера. Робоча формула методу Ейлера має такий вигляд:  EMBED Equation.3  . (4.6.2) Більш точний модифікований метод Ейлера передбачає обчислення yk+1 у два етапи: спочатку обчислюється значення похідної Pk для моменту tk :  EMBED Equation.3  , (4.6.3) далі отримується величина yk+1:  EMBED Equation.3  . (4.6.4) Метод Рунге-Кутта четвертого порядку має таку схему. Спочатку обчислюються допоміжні величини:  EMBED Equation.3  (4.6.5) тоді обчислюється наступне значення шуканої функції:  EMBED Equation.3  . (4.6.6) Завдання Застосовуючи метод Ейлера або метод Рунге-Кутта 4-го порядку, знайти розв’язок задача Коші (нелінійного диференційного рівняння першого порядку) на інтервалі [a,b].  EMBED Equation.3  a = 0 , b = 2 , x(a) = 1 Текст програми unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, XPMan, ExtCtrls; type TForm1 = class(TForm) Edit1: TEdit; Label1: TLabel; Button1: TButton; GroupBox1: TGroupBox; Label2: TLabel; Label3: TLabel; Edit2: TEdit; Edit3: TEdit; Edit4: TEdit; Label4: TLabel; Label5: TLabel; Image1: TImage; Bevel1: TBevel; Label6: TLabel; XPManifest1: TXPManifest; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; k:integer; const a:integer = 0; b:integer = 2; y0:integer = 1; implementation {$R *.dfm} function Func(x,t:real):real; begin result:=sqr(cos(5*t))-4*sqr(x); end; function Poxidna(t:real):real; begin result:=-5*sin(10*t); end; function metodEjlera:real; var i:integer; y,h,t:real; begin y:=y0; h:=(b-a)/k; for i:=0 to k do begin t:=i*h; y:=y+h*Func(y,t); end; result:=y; end; function metodEjlera2:real; var i:integer; y,h,t:real; begin y:=y0; h:=(b-a)/k; for i:=0 to k do begin t:=i*h; y:=y+0.5*h*(Func(y,t)+Func(y+h*Poxidna(t),t+h)); end; result:=y; end; function metodRynge_Kytta:real; var i:integer; y,h,t,t2,t3,p1,p2,p3,p4:real; begin y:=y0; h:=(b-a)/k; for i:=0 to k do begin t:=i*h; t2:=(i+1)*h; t3:=(i+2)*h; p1:=Func(y,t); p2:=Func(y+0.5*h*Poxidna(t),t+0.5*h); p3:=Func(y+0.5*h*Poxidna(t2),t+0.5*h); p4:=Func(y+h*Poxidna(t3),t+h); y:=y+(h/6)*(p1+2*p2+2*p3+p4); end; result:=y; end; procedure TForm1.Button1Click(Sender: TObject); begin k:=Round(1/StrToFloat(Edit1.Text)); Edit2.Text:=FloatToStr(metodEjlera); Edit3.Text:=FloatToStr(metodEjlera2); Edit4.Text:=FloatToStr(metodRynge_Kytta); end; end. Протокол роботи програми  Висновок: під час виконання лабораторної роботи я навчився обчислювати розв’язок задачі Коші (нелінійного диференційного рівняння першого порядку) на інтервалі [a,b], застосовуючи метод Ейлера або метод Рунге-Кутта 4-го порядку.
Антиботан аватар за замовчуванням

01.01.1970 03:01-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!