Реферат: Інтегрування Нютона-Котеса

ЗМІСТ

Вступ

1. Теоретична частина

1.1Постановка задачі

1.2Методи розв'язування задачі

2. Практична частина

2.1Архітектура програми

2.2Опис програми

2.3Контрольний приклад тааналіз результатів машинного експерименту

Висновки

Список використаноїлітератури

ДОДАТКИ


Вступ

Центральним поняттям програмування є, безперечно,поняття алгоритму. З нього починається робота над програмою і від якостіалгоритму залежить її успішне створення. Тому вміння програмувати в значніймірі означає розробляти хороші алгоритми і застосовувати вже відомі.

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

Для реалізації поставленої задачі вибрано середовищеTurbo Pascal. Алгоритмічна мова Паскаль була створена Н.Віртом на початку 70-хроків. Завдяки зусиллям розробників ця мова програмування стала потужнимінструментом професійних програмістів‚ не втративши простоти і ясності, властивихцій мові від народження.

Розробник системи Turbo Pascal — фірма BorlandInternational виникла в 1984 році і за порівняно короткий час неодноразоводивувала користувачів персональних ЕОМ своїми Turbo системами. Було випущенокілька версій Turbo Pascal: 3.0‚ 4.0‚ 5.0‚ 5.5‚ 6.0‚ 7.0‚ Pascal for Windows,Borland Pascal.

Головні особливості середовища Turbo Pascal:

Ø широкий спектртипів даних‚ можливість обробки рядкових та структурних типів даних;

Ø достатній набіроператорів управління розгалуженнями та циклами;

Ø добре розвинутийапарат підпрограм та зручні конструкції роботи з файлами;

Ø великі можливостіуправління усіма ресурсами ПЕОМ;

Ø різноманітніваріанти стикування з мовою Асемблера;

Ø підтримка ідейоб'єктно-орієнтованого програмування (ООП).

Саме з огляду на ці особливості програмна реалізаціякурсового проекту було здійснено в середовищі Turbo Pascal.

Розробниксистеми програмування Turbo Pascal — фірма Borland International виникла в 1984році і за порівняно короткий час неодноразово дивувала користувачівперсональних ЕОМ своїми Turbo системами. Було випущено на ринок програмнихпродуктів декілька версій Turbo Pascal: 3.0, 4.0, 5.0, 5.5, 6.0, 7.0, Pascalfor Windows, Borland Pascal.

Курсовийпроект складається зі вступу, двох розділів, висновків, списку використаноїлітератури, графічної частини та додатків. Текст пояснювальної записки набранота роздруковано з використанням текстового редактора Word. Графічна частинавиконана з допомогою графічного редактора Visio.


1. Теоретичначастина/>/>1.1      Постановказадачі

Взадачах‚ пов'язаних з аналізом‚ ідентифікацією‚ оцінкою якості‚ моделюваннямрізноманітних пристроїв автоматики‚ керування‚ інформаційно-вимірювальної техніки‚радіоелектроніки‚ часто виникає необхідність обчислення визначених інтегралів.

Якщофункція /> неперервна на відрізку /> і відома її первиннафункція />‚ то визначений інтегралвід цієї функції в межах від a до b може бути обчисленим за формулоюНьютона-Лейбніца

/> (1)

Однаку більшості випадків обчислення інтегралу за формулою (1) є практично неможливимчерез складність аналітичного визначення первісної функції. В поширеній задачі‚коли підінтегральна функція задається таблично (масивом значень)‚ поняттяпервісної втрачає смисл‚ і інтеграл може бути обчисленим лише чисельно.

Задачачисельного інтегрування функції полягає в обчисленні значення визначеногоінтегралу на основі ряду значень підінтегральної функції. Графічно інтегралвизначається площею‚ яка обмежена графіком функції />.

Найчастішена використовуються на практиці і є найбільш відомими наступні методизнаходження визначених інтегралів:

-     методи Ньютона-Котеса‚ Гауса‚ Чебишева‚що базуються на так званих квадратурних формулах‚ які одержуються шляхом замінифункції /> інтерполяційнимимногочленами;

-     методи Монте-Карло‚ що базуються навикористанні статистичних моделей.

1.2      Методирозв'язування задачі

ФормулиНьютона-Котеса. Для виведення формул Ньютона-Котеса інтеграл (1) представляютьу вигляді

/>‚(2)

де/> - вузли інтерполяції‚ /> - коефіцієнти‚ залежні відвиду формули‚ /> - погрішністьквадратурної формули.

Здійснившив (2) заміну підінтегральної функції відповідним інтерполяційним многочленомЛагранжа для /> рівновіддалених вузлів зкроком />‚ можна отримати наступнуформулу для розрахунку коефіцієнтів />придовільній кількості вузлів

/> (3)

де/> - приведена змінна.

Зазвичай‚коефіцієнти /> називають коефіцієнтамиКотеса. При цьому формула (3) набуває такого вигляду

/>.(4)


Втаблиці 1 наводяться значення коефіцієнтів Котеса та оцінки погрішностей длязначень /> від 1 до 8. Оскількикоефіцієнти Котеса при великій кількості ординат є доволі складними‚ то напрактиці для наближеного обчислення визначених інтегралів розбивають проміжокінтегрування на велику кількість дрібних проміжків і до кожного з нихзастосовують квадратурну формулу Ньютона-Котеса з малим числом ординат. Такимчином‚ отримуються формули більш простої структури‚ точність яких може бутидовільно високою.

Таблиця1. Коефіцієнти Котеса.

/>

/>

/>

/>

/>

/>

/>

/>

/>

/>

/>

/>

1 1 1 2 2 1 4 1 6 3 1 3 3 1 8 4 7 32 12 32 7 90 5 19 75 50 50 75 19 288 6 41 216 27 272 27 216 41 840 7 751 3577 1223 2989 2989 3577 3577 751 17280 8 989 5888 -928 10496 -4540 -928 -928 5888 989 28350

Наприклад‚отримані таким чином формули прямокутників‚ трапецій і Сімпсона (парабол) маютьвигляд

/>(5)

/>(6)

/>.(7)


Приобчисленні визначених інтегралів слід враховувати похибку знаходження значень />. Якщо />‚ наприклад‚ будуть заданіз однаковою похибкою />‚ то сумарнапохибка />становитиме

/>.

Якщовикористання формул оцінки похибки пов'язано з труднощами‚ обумовлениминеобхідністю знаходження похідних вищих порядків (четвертого‚ а навіть іп'ятого)‚ то можна використовувати практичний метод екстраполяції Річардсона [1].

Точністьквадратурних формул з фіксованим розташуванням рівновіддалених вузлів обмеженаможливостями використовуваних методів інтерполяції.

ФормулаЧебишева. Формула (2) може бути зведена до вигляду

/>(8)

шляхомзаміни змінної

/>.

Прививоді формули Чебишева використовуються наступні умови: коефіцієнти /> рівні між собою;квадратурна формула (8) є точною для всіх поліномів до степені /> включно.Враховуючи‚що /> і при /> />, отримаємо />. Тоді формула (8) матимевигляд


/>.(9)

Длязнаходження /> необхідно розв'язатисистему нелінійних рівнянь

/>(10)

Системарівнянь (10) має розв'язок при />.Значення абсцис /> в формуліЧебишева наведено в таблиці 2. Обмежена точність і є принциповим недолікомформули Чебишева.

Таблиця2. Значення абсцис /> в формуліЧебишева

/>

/>

/>

/>

/>

/>

2 1; 2

/>0,577330

6

1;6

2;5

3;4

/>0,866247

/>0,422519

/>0,266635

3

1; 3

2

/>0,707107

4

1; 4

2; 3

/>0,794654

/>0,187592

7

1;7

2;6

3;5

4

/>0,883862

/>0,529657

/>0,323912

5

1; 5

2; 4

3

/>0,832498

/>0,3745413

ФормулаГауса. Формула Гауса називається формулою найвищої алгебраїчної точності. Дляформули (8) найвища точність може бути досягнута для поліномів степені />‚які визначаються /> константами /> та />.

Дійсно‚вважаючи‚ що /> може бути апроксимованоюполіномами степені />

/>‚

Отримаємо

/>.

Длязнаходження цих сталих отримуємо систему рівнянь

/>(11)

Цясистема є нелінійною і її розв'язування звичайними методами пов'язано зізначними труднощами. Однак‚ якщо використати систему для поліномів виду

/>‚(12)


де/> - поліном Лежандра‚ то їїможна звести до лінійної системи відносно коефіцієнтів /> із заданими точками />.

ПоліномамиЛежандра називаються поліноми виду

/>.

Першіп'ять поліномів Лежандра мають вигляд

/>

Оскількистепені поліномів у співвідношенні (12) не перевищують />‚ то повинна виконуватисьсистема (11) і формула (8):

/>.

Внаслідоквластивості ортогональності ліва частина останньої рівності дорівнює нулю‚ тоді

/>‚

щозавжди забезпечується при довільних значеннях /> вточках />‚ які відповідають коренямвідповідних поліномів Лежандра.

Підставившиці значення /> в систему (11) івраховуючи перші nрівнянь‚можна легко визначити коефіцієнти />.

Формула(8)‚ де /> — нулі поліному Лежандра />‚ а /> визначаються з системи(11)‚ називається формулою Гауса.

Таблиця3. Елементи формули Гауса.

/>

/>

/>

/>

1 1 2 2 1; 2

/>0,57735027

1 3

1;3

2

/>0,77459667

0,55555556

0,88888889

4

1;4

2;3

/>0,86113631

/>0,33998104

0,34785484

0,65214516

6

1; 6

2; 5

3; 4

/>0,93246951

/>0,66120939

/>0,23861919

0,17134250

0,36076158

0,46791394

7

1; 7

2; 6

3; 5

4

/>0,94910791

/>0,74153119

/>0,40584515

0,12948496

0,27970540

0,38183006

0,41795918

8

1; 8

2; 7

3; 6

4; 5

/>0,96028986

/>0,79666648

/>0,52553142

/>0,18343464

0,10122854

0,22238104

0,31370664

0,36268378

Втаблиці 3 подано значення /> та /> для формули Гауса длярізних /> від 1 до 8.

Стандартніпрограми‚ які використовують формули Гауса з різним числом вузлів як формули‚що забезпечують найкращу точність‚ входять до складу багатьох пакетів програмдля наукових та інженерних розрахунків.


2. Практична частина2.1 Архітектура програми

Дляреалізації поставленої задачі розроблено програму INTEGRALY.PAS(лістінг програми представлено в додатку 4).

Програмаскладається з головного блоку, шести процедур:

-  VVID_INTERVAL;

-  INIT_GAUS;

-  INIT_CHEB;

-  CALCULATION;

-  VYVID_REZ;

-  INFORM.

Запускпрограми здійснити двома способами:

n зголовного меню інтегрованого середовища Turbo Pascal шляхом вибору опції Run(попередньо програма повинна бути завантажена в ОП — F10, File, Open,INTEGRALY.PAS);

n зсередовища операційної оболонки Norton Commander шляхом запуску INTEGRALY.EXE(попередньо програма повинна буди відкомпільована з опцією Destination ToMemory).

Програмавиводить на дисплей головного меню, котре пропонує користувачеві вибір однієї зопцій:

— ВВІД

— ОБЧИСЛЕННЯ

-     РЕЗУЛЬТАТИ

-     ІНФОРМАЦІЯ

— ВИХІД.

Привиборі певної опції активізується відповідна процедура. Завершення роботипрограми і повернення в середовище системи програмування Turbo Pascalздійснюється при натисканні клавіші Esc, що відповідає вибору опції «ВИХІД».Програма знаходить розв’язки систем лінійних рівнянь з двома та трьоманевідомими, виводить обчислені визначники та знайдені розв’язки на дисплей, абоінформує користувача про відсутність розв’язків.

Опишемопроцедури програми INTEGRALYS.PAS.

ПроцедураVVID_INTERVAL.Призначення — ввід лівої та правої меж інтегрування (інтервалу інтегрування).Процедура викликається з головного меню програми при виборі пункту «ВВІД»шляхом натискання функціональної клавіші F2.

Післявводу меж інтегрування процедура припиняє роботу і повертає керування впрограму. Процес виконання процедури представлено екранною копією (див. додаток1).

ПроцедураINIT_GAUS.Призначення — визначення (ініціація) значень елементів /> квадратурної формулиГауса. Виклик процедури здійснюється процедурою CALCULATION.

ПроцедураINIT_CHEB.Призначення — визначення (ініціація) значень елементів /> квадратурної формулиЧебишева. Виклик процедури здійснюється процедурою CALCULATION.

ПроцедураCALCULATION. Призначення — обчислення визначеного інтеграла з допомогою квадратурних формул‚ розглянутих впопередньому розділі. Процедура викликається з головного меню програми привиборі пункту «ОБЧИСЛЕННЯ» (функціональна клавіша F3). Обчисленірізними методами значення визначеного інтеграла зберігаються в масиві змінних.Після обчислення інтегралів процедура передає керування головному блоковіпрограми.

Блоксхема процедури представлена в додатку 3.

ПроцедураVYVID_REZ. Призначення — форматований вивід результатів обчислення визначеного інтеграла на дисплей.Процедура викликається з головного меню програми при виборі пункту «РЕЗУЛЬТАТИ»(функціональна клавіша F4). Результат роботи процедури представлено не екраннійкопії (див. додаток 5). Для отримання друкованого результату потрібно натиснутиклавішу PrtScr (при роботі в режимі MS DOS) або комбінацію клавіш Shift+PrtScr(при роботі з ОС Windows 3.xx, Windows 9x).

ПроцедураINFORM. Призначення — ввідкороткої інформації про методи чисельного інтегрування та квадратурні формули.Процедура викликається з головного меню програми при виборі пункту "ІНФОРМАЦІЯ"шляхом натискання функціональної клавіші F1.

Післявводу текстової інформації на екран дисплею процедура організовує паузу вроботі і повертає керування в програму при натисканні довільної клавіші.Результат виконання процедури представлено екранною копією (див. додаток 1).

Головнийблок програми реалізовано у вигляді вертикального меню з використаннямфункціональних клавіш. Вибір опції меню здійснюється за допомогою натисканнявідповідної функціональної клавіші‚ вихід з меню (а тим самим і з програми)здійснюється при натисканні клавіші Esc.Блок-схема головного блоку програми подано в додатку 2.

2.2Опис програми

Програмаскладена‚ відкомпільована і відлагоджена в середовищі Turbo Pascal 6.0.

Напочатку програми, відповідно до вимог технології програмування, знаходитьсявступний коментар до програми, а решта операторів програми мають такепризначення:

еще рефераты
Еще работы по информатике, программированию