Главная Случайная страница


Категории:

ДомЗдоровьеЗоологияИнформатикаИскусствоИскусствоКомпьютерыКулинарияМаркетингМатематикаМедицинаМенеджментОбразованиеПедагогикаПитомцыПрограммированиеПроизводствоПромышленностьПсихологияРазноеРелигияСоциологияСпортСтатистикаТранспортФизикаФилософияФинансыХимияХоббиЭкологияЭкономикаЭлектроника






Лабораторна робота №12. Чисельне інтегрування звичайних диференційних рівнянь методом прогнозу та корекції

1. Мета роботи

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

 

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

2.1. Багатоступінчаті методи. Метод прогнозу та корекції

Відмінною рисою методів Рунге-Кута є те, що при обчислюванні наступної точки (xi+1,yi+1) використовується інформація тільки про точки (xi,yi). У методах другого порядку і вище доводиться обчислювати значення функції в одній чи кількох проміжних точках. Це не завжди раціонально, оскільки, якщо процес інтегрування вже просунувся на декілька кроків, то маємо ту додаткову інформацію (про попередні точки рішення), для використання якої не потрібно обчислювати значення функцій.

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

З назви метода зрозуміло, що спочатку "забачається" значення y(0)i+1, а потім використовується той чи інший метод для "коректування" отриманого значення. Звичайно, після цього можна використовувати ту ж саму формулу для повторного коректування значення yi+1. Цей ітераційний процес можна повторювати скільки завгодно разів, але з точки зору ефективності доцільно зменшувати число ітерацій, вибираючи відповідний крок інтегрування.

Для прогнозу значення yi+1 можна використовувати різні формули. Формула другого порядку точності має вигляд:

y(0)i+1 =yi–1+2 × h × f(xi,yi) , (4.16)

де верхній індекс (0) означає первісне наближення до yi+1, тобто передбачене значення.

З (4.16) видно, що за її допомогою неможливо обчислити yi. Тому для обчислення yi використовується метод Рунге-Кута. Всі послідуючі точки будуть обчислятися з використанням інформації про попередні точки рішення без додаткових обчислень значення функції. Це дозволяє класифікувати методи прогнозу та корекції як багатоступінчаті методи рішення диференційних рівнянь.

Алгоритм рішення рівняння методом прогнозу та корекції наступний. По (4.16) обчислюється значення y(0)i+1, що передбачається. Геометрично прогноз зводиться до того, що знаходиться кут нахилу дотичної в точці (xi,yi) (пряма L1 на рис. 4.5). Після цього через точку (xi–1,yi–1) проводиться пряма L’1, паралельна L1. Передбачене значення yi+1 буде розташоване там, де пряма L’1 перетне ординату x=xi+1.

Тепер потребується деякий метод корекції передбаченого значення. Виходячи з того, що величина y(0)i+1 відома, можна обчислити нахил дотичної в точці (xi+1, yi+1). Ця дотична відображена на мал. 4.6 і позначена L’1. Пряма L’1 на рис. 4.6 становить собою те ж саме, що й на рис. 4.5, і усереднюючи тангенси кутів нахилу ліній L'1 і L2, отримаємо лінію . Через точку (xi,yi) проводимо пряму L, паралельну . Точка перетинання цієї лінії з ординатою x=xi+1 дає нове наближення до yi+1.

Рис. 4.5. Графічна ілюстрація методу прогнозу та корекції. Стадія прогнозу

 

Рис. 4.6. Графічна ілюстрація методу прогнозу та корекції. Стадія корекції

 

Назвемо це наближення скоректованим значенням y(1)i+1. Обчислити це скоректоване значення можливо по формулі:

y(1)i+1=yi+h/2×[f(xi,yi)+f(xi+1,y(0)i+1)].(4.17)

Можна знайти нове, можливо, ще найкраще наближення до yi+1, використовуючи знайдене значення yi+1 і корегуючи знов. В загальному випадку, k-те наближення до yi+1 обчислюється по формулі:

y(k)i+1=yi+h/2× [(f(xi,yi)+f(xi+1,y(k–1)i+1)], (4.18)

для k=1, 2, 3, ... .

Ітераційний процес завершується, коли

|y(k+1)i+1 – y(k)i+1| < e (4.19)

Обираючи шаг для метода прогнозу та корекції необхідно користуватися таким емпіричним правилом: мінімальний об'єм обчислень досягається при числі ітерацій, що дорівнює 2. Іншими словами, крок інтегрування потрібно вибирати так, щоб умова (4.19) виконувалась після двох ітерацій. При більшому числі ітерацій крок h необхідно зменшувати, в іншому випадку він може бути збільшений.

Блок-схема методу прогнозу і корекції приведена на рис. 4.7.

 

ПРИКЛАД: Використовуючи метод прогнозу та корекції, знайти з точністю e=0,001 значення y2 та y3 рішення y=y(x) диференційного рівняння (4.8) з первісною умовою y0=0. Візьмемо крок h=1.

РІШЕННЯ: Приймаючи до уваги те, що для використання формули (4.16) необхідна інформація про дві точки, то значення y1 візьмемо з попереднього прикладу, обчисленого за допомогою метода Ейлера-Коши, y1=0,0486. Тепер по формулі (4.16) обчислимо передбачене значення в точці y(0)2

y(0)2 = y0+2 × h × f(x1,y1)=0+2 × 1 × 0,0473=0,0972.

Корекцію оптимального значення виконаємо по формулі (4.18). Перше наближення:

y(1)2 =y1+h/2× [f(x1,y1)+f(x2,y(0)2)]=0,0486 + 1/2× (0,0473+0,0446)=0,0944.

Друге наближення:

y(2)2 =y1+h/2× [f(x1,y1)+f(x2,y(1)2)]=0,0486+1/2× (0,0473+0,0446)=0,0946.

Перевірка виконання умови (4.19)

|y(2)2 – y(1)2 | < e

В зв'язку з тим, що умова виконується, то приймаємо y2=0,0946. Далі по (4.16) обчислюємо передбачене значення в точці y3.

y(0)3 = y1 + 2×h×f(x2,y2)=0,0486 +2 × 1 × 0,0446=0,1378.

Корекцію отриманого значення виконаємо по формулі (4.18). Перше наближення:

y(1)3 = y2 + h/2×[f(x2,y2) + f(x3,y(0)3)]= 0,0946 + 1/2× (0,0446 +0,0421)=0,1380.

Друге наближення:

y(2)3 = y2 + h/2× [f(x2,y2)+f(x3,y(1)3)]= 0,0946 +1/2× (0,0446 + 0,0421)=0,1380.

Перевірка виконання умови (4.19)

|y(2)3 - y(1)3 | < e

В зв'язку з тим, що умова виконується, то приймаємо y3=0,1380.

 

Метод прогнозу та корекції являється більш точним, ніж раніше розглянуті методи другого порядку точності.

 

Рис. 4.7. Блок-схема методу прогнозу і корекції

 

Последнее изменение этой страницы: 2016-07-23

lectmania.ru. Все права принадлежат авторам данных материалов. В случае нарушения авторского права напишите нам сюда...