Контрольная работа: Дослідження однокрокових методів розвязання звичайних диференційних рівнянь

switch()

В основі програми лежить загальний алгоритм розв’язку диференційних рівнянь однокроковими методами.

Алгоритм:

1.за початковим значенням x,y знаходимо наступну точку кривої y=f(x) при кроці h=0.1;

2.знаходимо нові значення x,y;

3.перевряємо чи х належить проміжку, на якому шукаються розв’язки: якщо х належить цьому проміжку, то алгоритм повторюється з пункту 1, де замість початкових значень x,y; використовуються нові(обчислені в пункті 2); якщо ні, то алгоритм припиняє свою роботу ;

4.аналогічно шукаються розв’язки цього ж рівняння , але при кроці h=0.05;

5.Знаходження похибки зводиться до:

· знаходження C за формулою

с=(y1-y2))/(St(h1,p+1)-St(h2,p+1))

де y1,y2-значення в одній тій самій точці розв’язку,

але обчисленні з різним кроком;

St – функція піднесення до степеня, де р+1 степінь, а h1(h2) числа, що підносяться до степеня.

· знаходження глобальної похибки, шляхом додаванняпохибок знайдених на кожному кроці обчислень;

Для данного завдання, формули знаходження наступних значень за попердніми мають вигляд:

· прямий метод Ейлера:

yn:=yn+h*(yn+0.7*xn+1.2);

· зворотній метод Ейлера:

yn:=yn+h*(0.7*xn+1.2)/(1-h);

· метод Рунге-Кутта

yn=yn+((k0+2*k1+2*k2+k3)/6);

2.1 Блок-схеми алгоритмів розв'язку даного диференційного рівняння



k0 =h ×f(x0 ,yi ); k1 =h ×f(x0 +h/2;yi +k0 /2);

k2 =h ×f(x0 +h/2;yi +k1 /2);k3 =h ×f(x0 +h;yi +k2 )

yi+1 =(yi +k0 +2k1 +2k2 +k3)/6
yi =yi+1 ; x0 =x0 +h
Розрахунок локальної похибки
ͳ
Так

3 Вхідні та вихідні дані

Вхідними даними програми є: крок обчислення і задане диференціальне рівняння.

Вихідними даними програми є: графіки, таблиця з рішеннями диференціального рівняння і похибки обчислень.


4. Аналіз результатів моделювання

Розроблена програма дозволяє розв'язувати дане диференційне рівняння трьома методами. З результатів обчислень ми можемо перевірити функціональність програми і точність кожного з методів.

Прямий метод Ейлера:

Крок 0.1 Крок 0.05 Похибка
1.000000 1.000000 0.000000
1.220000 1.227250 0.009667
1.469000 1.484968 0.030958
1.749900 1.776278 0.066128
2.065890 2.104621 0.117769
2.420479 2.473795 0.188856
2.817527 2.887984 0.282799
3.261280 3.351802 0.403495
3.756408 3.870337 0.555401
4.308049 4.449197 0.743598

Даний метод не є точним на що вказує глобальна похибка 0.743598.

К-во Просмотров: 177
Бесплатно скачать Контрольная работа: Дослідження однокрокових методів розвязання звичайних диференційних рівнянь