Автор работы: Пользователь скрыл имя, 18 Июня 2013 в 18:24, лабораторная работа
Мета роботи: Формування навичок практичного застосування чисельних методів розв’язання звичайних диференціальних рівнянь (ЗДР).
Необхідно розробити алгоритм методу вирішення ЗДР та розв’язати рівняння, використовуючи програму. При цьому задати кількість точок n =10, а крок за змінною h = 0,2; а також зменшити крок за змінною до h= 0,1 і побудувати 20 точок розв’язку. Результати двох розв’язків показати у вигляді графіків в одній системі координат. Порівняти і проаналізувати обидва розв’язки.
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
ХАРКІВСЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ РАДІОЕЛЕКТРОНІКИ
Кафедра системотехніки
Звіт до лабораторної роботи №4:
«Чисельні методи розв’язання звичайних диференціальних рівнянь»
Виконав: |
Перевірив: |
ст. гр. АКІТу 12-1 |
доц. Калита Н. І. |
Савельєв Д.Ю. |
2013 р.
4.1 Мета роботи
Формування навичок
4.2 Постановка задачі
Задано рівняння і метод вирішення задачі:
26. |
РК |
Необхідно розробити алгоритм методу вирішення ЗДР та розв’язати рівняння, використовуючи програму. При цьому задати кількість точок n =10, а крок за змінною h = 0,2; а також зменшити крок за змінною до h= 0,1 і побудувати 20 точок розв’язку. Результати двох розв’язків показати у вигляді графіків в одній системі координат. Порівняти і проаналізувати обидва розв’язки.
4.3 Опис методу
Метод дозволяє вирішувати системи звичайних диференціальних рівнянь (ОДУ) першого порядку такого вигляду:
які мають рішення:
де t - незалежна змінна (наприклад, час); X, Y і т.д. - функції (залежні від t змінні). Функції f, g і т.д. - задані. Також передбачаються заданими і початкові умови, тобто значення шуканих функцій у початковий момент.
Метод Рунге-Кутта включає в себе кілька інших таких як: метод Ейлера і метод Ейлера - Коші.
Методи Рунге-Кутта мають
1. Ці методи є одноступінчастими:
2. Вони узгоджуються з рядом
Тейлора аж до членів порядку
hp, де ступінь р різна для
різних методів і називається
порядковим номером або
3. Вони не вимагають обчислення похідних від f (x, y), а вимагають обчислення самої функції.
Методи Рунге-Кутта третього і четвертого порядків можна вивести абсолютно аналогічно тому, як це робилося при виведенні методів першого і другого порядків. Ми не будемо відтворювати викладки, а обмежимося тим, що наведемо формули, що описують метод четвертого порядку, один з найуживаніших методів інтегрування диференціальних рівнянь. Цей класичний метод Рунге-Кутта описується системою наступних п'яти співвідношень:
ym+1=ym+h/6(k1+2 k 2+2 k 3+ k 4) 1.11.
де k 1=f(xm,ym), 1.12.
k 2=f(xm+h/2,ym+h k 1/2), 1.13.
k 3=f(xm+h/2,ym+h k 2/2), 1.14.
k 4=f(xm+h/2,ym+h k 3/2). 1.15.
Помилка обмеження для цього методу дорівнює et = kh5
4.4 Виконання роботи
4.4.1 Для реалізації метода Рунге-Кутта була розроблена та нижче наведена блок-схема:
Схема 4.1 - Реалізація метода Рунге-Кутта
4.4.2 Программа розроблена у середовищі Visual C++:
#include "stdafx.h"
#include <iostream>
#include <math.h>
#include <conio.h>
using namespace std;
double f(double x,double y)
{
return ((3*y)-(y*eхр^(x)*y));
}
void main()
{
double x0,y0,h;
double y[20],x[20],k1,k2,k3,k4;
int n,i;
cout«"vvedite kol shagov n=";
cin»n;
cout«"vvedite x0=";
cin»x0;
cout«"vvedite y0=";
cin»y0;
cout«"vvedite h=";
cin»h;
x[0]=x0;
y[0]=y0;
for(i=1;i<n;i++)
{
k1=f(x[i-1],y[i-1]);
k2=f(x[i-1]+ h/2,y[i-1]+k1*h/2);
k3=f(x[i-1]+ h/2,y[i-1]+k2*h/2);
k4=f(x[i-1]+ h/2,y[i-1]+k3*h/2);
y[i]=y[i-1]+h/6*(k1+2*k2+2*k3+
x[i]=x[i-1]+h;
cout«"y="«y[i]«" ";
cout«"x="«x[i]«" "«endl;
}
getch();
}
Рисунок 4.1 - Результат виконання програми для кроку 0.2.
Рисунок 4.2 - Результат виконання програми для кроку 0.1.
4.4.3 Графіки отриманих значень.
Рисунок 4.3 - Порівняльний графік функції при кількості кроків n = 10 і кроці h = 0,2; при кількості кроків n = 20 і кроці h = 0,1
Висновки:
На даній лабораторній роботі ми набули навички практичного застосування чисельних методів розв’язання звичайних диференціальних рівнянь (ЗДР). Розробили алгоритм методу вирішення ЗДР та розв’язали рівняння, використовуючи програму. Результати двох розв’язків показали у вигляді графіків в одній системі координат. Порівняли і проаналізували обидва розв’язки.
Информация о работе Чисельні методи розв’язання звичайних диференціальних рівнянь