Контрольная работа: Дослідження однокрокових методів розвязання звичайних диференційних рівнянь
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 Блок-схеми алгоритмів розв'язку даного диференційного рівняння
|

|



|



|

|


|







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.