Алгоритмічна та програмна реалізація методів Ейлера для розв’язання ЗДР 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Алгоритмічна та програмна реалізація методів Ейлера для розв’язання ЗДР



Алгоритм реалізує розв’язання ЗДР трьома розглянутими модифікаціями метода Ейлера - в залежності від значення .

Значення функції ; що обчислені по кожній із формул, розміщуються у двомірному масиві розмірністю . Кожний із рядків масиву відповідає одному із методів:

1. Метод Ейлера;

2. Виправлений метод Ейлера;

3. Модифікований метод Ейлера.

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

Program EILER;

Var x0, y0, b, F,F1, h,w:real;

n, i, k:integer;

x: array [0..100] of real;

E:array [1..3,0..100] of real;

Label M;

Begin

<введення вихідних даних>

h:=(b-x0)/n;

x[0]:=x0;

for i:= 1 to 3 do E[i,0]:=y0;

for k:=1 to n do

begin

x[k]:=x[k-1]+h;

w:=0;

for i:=1 to 3 do

begin

F:=x[k-1]+E[і,k-1];

If w=0 then goto M;

F1:=(x[k-1]+h/(2*w))+(E[i,k-1]+h*F/(2*w));

M: E[i,k]:=E[i,k-1]+h*((1-w)*F+w*F1);

w:=w+0.5;

end; end;

<виведення результатів>

end.

 

Порядок виконання роботи

1. Вибрати індивідуальне завдання. Номер варіанту у таблиці 10.1. відповідає номеру студента у списку групи;

2. Ознайомитись із теоретичним матеріалом з питань чисельного розв’язання диференційних рівнянь.

3. Записати задане рівняння у формі (10.4);

4. Обчислити точні значення розв’язку заданого ЗДР в точках відрізку при ;

5. Обчислити наближені значення розв’язку заданого диференційного рівняння на відрізку при , застосувавши метод Ейлера, виправлений метод Ейлера і модифікований метод Ейлера.

Визначити похибки.

Результати п. 4 і п. 5 оформити у вигляді таблиці;

6. Скласти докладний алгоритм чисельного розв’язання ЗДР методами Ейлера;

7. Скласти і відлагодити програму на мові Pascal, яка реалізує:

· введення даних;

· обчислення точних значень розв’язку заданого ЗДР у визначених точках;

· наближене розв’язання ЗДР методами Ейлера;

· обчислення похибок наближеного розв’язання;

· виведення результатів у файл;

· подання результатів у вигляді графіків.

Основні фрагменти програми оформити як процедури і функції;

8. Описати розроблений алгоритм і програму (змінні, масиви, процедури і функції, особливості реалізації тощо);

9. З використанням розробленої програми розв’язати (точно і наближено) задане диференційне рівняння при . Порівняти отримані результати з результатами ручних розрахунків (п.п. 4, 5);

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

· точний розв’язок ;

· розв’язок методом Ейлера;

· розв’язок модифікованим методом Ейлера.

Графіки оформити з використанням додаткових ефектів;

11. Сформулювати висновки по роботі.

Результати виконання кожного пункту завдання докладно описати у звіті по роботі.

Використання без змін в розробленій програмі фрагменту, наведеного у п. 10.2., заслуговує на мінімальну оцінку. Для отримання підвищеної оцінки необхідно розробити власний варіант програми.

 

 

Таблиця 10.1. Варіанти завдань до занять №10 та №11

Варіант Диференційне рівняння Початкові умови   b Точний розв’язокрівняння
       
        =
       
    0.7071  
    1.4142 1.5
      0.5
       
       
      0.5
       
    -0.5  
       
       
       
       
  0.1 0.1995  
       
       
    3.7183  
       
    0.5  
      0.9
    -1  
  0.7 -3.4977  
       
       
       
      0.5
  -1 -1  
  Ошибка! Невозможно создать объект из кодов полей редактирования.   0.271  

Заняття № 11

Розробка програми

Чисельного розв’язання ЗДР

методом Рунге-Кутта четвертого порядку

Мета роботи: Закріплення знань із застосування методів Рунге-Кутта для чисельного розв’язання звичайних диференційних рівнянь, розробка відповідного алгоритму та програми на мові Pascal, застосування її для розв’язання заданого диференційного рівняння.

Теоретичні відомості

Загальні положення і постановка задачі розв’язання звичайних диференційних рівнянь (ЗДР) першого порядку чисельними методами описані у попередній роботі.

Метод Рунге-Кутта 4-го порядку є найбільш поширеним методом розв’язання ЗДР і систем рівнянь. Його перевага - висока точність результату. Відповідно до методу, наближені значення функції , яка є розв’язком диференційного рівняння, в точках обчислюються за формулою:

(11.1)

Де

Крок інтегрування обчислюється за формулою (10.5). Його правильний вибір дозволяє підвищити точність результату. Існує грубе оціночне правило: якщо співвідношення

(11.2)

стає великим (більше кількох сотих), то крок інтегрування необхідно зменшити.

Приклад розв’язання диференційного рівняння методом Рунге-Кутта четвертого порядка

Визначити наближене розв’язання диференційного рівняння 1-го порядку на відрізку , яке задовільняє початковим умовам: при .

Ділимо відрізок на частин точками , . Обчислюємо крок

Точним розв’язком рівняння є функція . Її значення в точках розбиття :

 

Точка                      
  0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
1.0 1.1103 1.2428 1.3997 1.5836 1.7974 2.0442 2.3275 2.6511 3.0192 3.4365

Для наближеного розв’язання рівняння (обчислення значень функції в точках розбиття) методом Рунге-Кутта 4-го порядку, застосовуємо формулу (11.1). Для заданого рівняння вона набуває вигляду:

Обчислюємо значення функції:

Аналогічно обчислюємо значення функції в інших точках і результати записуємо в таблицю:

Точка                      
  0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
1.0 1.1103 1.2428 1.3997 1.5836 1.7974 2.0442 2.3275 2.6511 3.0192 3.43653

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

 



Поделиться:


Последнее изменение этой страницы: 2016-08-12; просмотров: 194; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.221.239.148 (0.029 с.)