Чисельне інтегрування функції методом Гауса

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати


Зміст

Введення

1. Постановка завдання

2. Математичні та алгоритмічні основи рішення задачі

2.1 Метод прямокутників

2.2 Метод трапецій

2.3 Метод парабол (метод Сімпсона)

2.4 Збільшення точності

2.5 Метод Гаусса

2.6 Метод Гаусса-Кронрод

3. Функціональні моделі розв'язання завдання

4. Програмна реалізація рішення задачі

5. Приклад виконання програми

Висновок

Список використаних джерел та літератури

Введення

Поява і безперервне вдосконалення швидкодіючих електронних обчислювальних машин (ЕОМ) призвело до справді революційному перетворенню науки взагалі і математики особливо. Змінилася технологія наукових досліджень, колосально збільшилися можливості теоретичного вивчення, прогнозу складних процесів, проектування інженерних конструкцій. Рішення великих науково-технічних проблем, прикладами яких можуть служити проблеми оволодіння ядерною енергією та освоєння космосу, стало можливим лише завдяки застосуванню математичного моделювання і нових чисельних методів, призначених для ЕОМ.

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

Чисельні методи дають наближений розв'язок задачі. Це означає, що замість точного рішення та (функції або функціоналу) деякої задачі ми знаходимо рішення в іншої задачі, близьке в деякому сенсі (наприклад, за нормою) до шуканого. Основна ідея всіх методів - дискретизація або апроксимація (заміна, наближення) вихідної задачі іншим завданням, більш зручною для вирішення на ЕОМ, причому рішення апроксимуючої завдання залежить від деяких параметрів, керуючи якими, можна визначити рішення з необхідною точністю. Наприклад, у задачі чисельного інтегрування такими параметрами є вузли і ваги квадратурної формули. Далі, рішення дискретної задачі є елементом конечномерного простору.

Чисельне інтегрування (історична назва: квадратура) - обчислення значення певного інтеграла (як правило, наближене), засноване на тому, що величина інтеграла чисельно дорівнює площі криволінійної трапеції, обмеженої віссю абсцис, графіком інтегровною функції і відрізками прямих, які є межами інтегрування.

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

1. Постановка завдання

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

Апроксимація, або наближення - математичний метод, який полягає у заміні одних математичних об'єктів іншими, в тому чи іншому сенсі близькими до вихідних, але більш простими. Апроксимація дозволяє дослідити числові характеристики та якісні властивості об'єкта, зводячи завдання до вивчення більш простих або більш зручних об'єктів (наприклад, таких, характеристики яких легко обчислюються або властивості яких вже відомі). У теорії чисел вивчаються Діофантові наближення, зокрема наближення ірраціональних чисел раціональними. В геометрії розглядаються апроксимації кривих ламаними. Деякі розділи математики цілком присвячені апроксимації, наприклад, теорія наближення функцій, чисельні методи аналізу.

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

Інтерполяція - в обчислювальній математиці спосіб знаходження проміжних значень величини по наявному дискретному набору відомих значень.

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

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

На практиці найчастіше застосовують інтерполяцію поліномами. Це пов'язано насамперед з тим, що поліноми легко обчислювати, легко аналітично знаходити їх похідні і безліч поліномів щільно в просторі неперервних функцій.

Для вирішення нашої задачі необхідно передбачити введення необхідних даних і реалізацію контрольно прикладу.

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

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

Приклад 1.

Обчислимо інтеграл методом Гаусса.

Рішення.

.

.

.

Відповідь: 3.584.

Приклад 2.

Обчислимо інтеграл методом Гаусса.

Рішення.

.

.

.

Відповідь: - 0.588.

2. Математичні та алгоритмічні основи рішення задачі

Коротко розглянемо основні методи чисельного інтегрування і з'ясуємо, чому найкращий і швидкий метод інтегрування - десятіточечний метод Гаусса.

2.1 Метод прямокутників

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

,

де , або , Відповідно.

2.2 Метод трапецій

Якщо функцію на кожному з часткових відрізків апроксимувати прямою, яка проходить через кінцеві значення, то отримаємо метод трапецій.

Площа трапеції на кожному відрізку:

.

Похибка апроксимації на кожному відрізку:

,

де

.

Повна формула трапецій у разі поділу всього проміжку інтегрування на відрізки однакової довжини h:

, Де

Похибка формули трапецій:

, Де

2.3 Метод парабол (метод Сімпсона)

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

.

Якщо розбити інтервал інтегрування на 2N рівних частин, то маємо

,

де .

2.4 Збільшення точності

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

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

При прагненні кількості розбиттів до нескінченності, оцінка інтеграла прагне до його дійсного значення для будь-якого чисельного методу.

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

2.5 Метод Гаусса

Описані вище методи використовують фіксовані точки відрізка (кінці і середину) і мають низький порядок точності (0 - методи правих і лівих прямокутників, 1 - методи середніх прямокутників і трапецій, 3 - метод парабол (Сімпсона)). Якщо ми можемо вибирати точки, в яких ми обчислюємо значення функції , То можна при тій же кількості обчислень підінтегральної функції отримати методи більш високого порядку точності. Так для двох (як у методі трапецій) обчислень значень підінтегральної функції, можна отримати метод вже не 1-го, а 3-го порядку точності:

.

У загальному випадку, використовуючи точок, можна отримати метод з порядком точності . Значення вузлів методу Гауса по точкам є корінням полінома Лежандра ступеня .

Значення вузлів методу Гауса і їх ваги наводяться в довідниках спеціальних функцій. Найбільш відомий метод Гауса по п'яти точках.

2.6 Метод Гаусса-Кронрод

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

,

де - Вузли методу Гауса по точкам, а параметрів , , підібрані таким чином, щоб порядок точності методу дорівнював .

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

,

де - Наближене значення інтеграла, отримане методом Гауса по точкам.

3. Функціональні моделі розв'язання завдання

Функціональні моделі розв'язання завдання представлені на малюнках 1 і 2.

Використані позначення:

g 10 c 1, g 10 c 2, g 10 c 3, g 10 c 4, g 10 c 5 - константи десятіточечного методу Гауса;

g 10 x 1, g 10 x 2, g 10 x 3, g 10 x 4, g 10 x 5 - константи десятіточечного методу Гауса;

m, n - допоміжні змінні;

s 1, s 2, s 3, s 4, s 5, s - допоміжні змінні;

a, b - межі інтегрування;

f - інтегрована функція;

gc - порахуй інтеграл на інтервалі (a, b);

ga, gb - змінні для підрахунку інтеграла на половині інтервалу;

eps - точність інтегрування;

k - допоміжна змінна.

Рисунок 1 - Функціональна модель вирішення задачі десятіточечного методу Гауса, реалізована методом Gaus _ Calc

Рисунок 2 - Функціональна модель вирішення задачі для функції Gaus

4. Програмна реалізація рішення задачі

;; Інтегрована функція

(Defun F (x)

;; 1 приклад

;; (/ (* 2 (expt x 3)) (expt x 4))

;, 2 приклад

;; (* 3.142 (sin (* 3.142 x)))

;, 3 приклад

(* (/ (Log (+ x 1)) x) (exp (* - 1 x)))

)

;; Десятіточечний метод Гаусса

(Defun Gauss_Calc (abf)

(Setq g10c1 (/ 0.9739065285 6.2012983932))

(Setq g10c2 (/ 0.8650633667 6.2012983932))

(Setq g10c3 (/ 0.6794095683 6.2012983932))

(Setq g10c4 (/ 0.4333953941 6.2012983932))

(Setq g10c5 (/ 0.1488743390 6.2012983932))

(Setq g10x1 (/ 0.0666713443 6.2012983932))

(Setq g10x2 (/ 0.1494513492 6.2012983932))

(Setq g10x3 (/ 0.2190863625 6.2012983932))

(Setq g10x4 (/ 0.2692667193 6.2012983932))

(Setq g10x5 (/ 0.2955242247 6.2012983932))

(Setq m (/ (+ ba) 2))

(Setq n (/ (- ba) 2))

(Setq s1 (* g10c1 (+ (funcall f (+ m (* n g10x1))) (funcall f (- m (* n g10x1 ))))))

(Setq s2 (* g10c2 (+ (funcall f (+ m (* n g10x2))) (funcall f (- m (* n g10x2 ))))))

(Setq s3 (* g10c3 (+ (funcall f (+ m (* n g10x3))) (funcall f (- m (* n g10x3 ))))))

(Setq s4 (* g10c4 (+ (funcall f (+ m (* n g10x4))) (funcall f (- m (* n g10x4 ))))))

(Setq s5 (* g10c5 (+ (funcall f (+ m (* n g10x5))) (funcall f (- m (* n g10x5 ))))))

(Setq s (+ s1 s2 s3 s4 s5))

(* S (- ba))

)

;; Рекурсивна ф-ція підрахунку із заданою точністю

;; Gc - раніше посчітаний інтеграл на інтервалі (a, b)

(Defun Gauss (ab eps gc f)

;; Розбиваємо інтервал на дві половини

(Setq k (/ (+ ab) 2))

;; В кожній половині вважаємо інтеграл

(Setq ga (Gauss_Calc a (/ (+ ab) 2) f))

(Setq gb (Gauss_Calc (/ (+ ab) 2) bf))

(If (> (abs (- (+ ga gb) gc)) eps)

(Progn

(Setq ga (Gauss a (/ (+ ab) 2) (/ eps 2) (Gauss_Calc a (/ (+ ab) 2) f) f))

(+ Ga (Gauss (/ (+ ab) 2) b (/ eps 2) (Gauss_Calc (/ (+ ab) 2) bf) f))

)

(+ Ga gb)

)

)

;; Відкриваємо файл для читання

(Setq input-stream (open "d: \ ​​\ predel. Txt": direction: input))

(Setq a (read input-stream))

(Setq b (read input-stream))

(Setq eps (read input-stream))

(Close input-stream)

;; Знаходимо інтеграл

(Setq integral (Gauss ab eps (Gauss_Calc ab (function F)) (function F)))

;; Відкриваємо файл для запису

(Setq output-stream (open "d: \ ​​\ test. Txt": direction: output))

(Format output-stream "Integral = ~ a" integral)

(Close output-stream)

5. Приклад виконання програми

Приклад 1.

Рисунок 3 - Межі інтеграла і точність обчислення для інтегровною функції

Малюнок 4 - Результат обчислення інтеграла функції з заданими межами і точністю обчислення

Приклад 2.

Малюнок 5 - Межі інтеграла і точність обчислення для інтегровною функції

Малюнок 6 - Результат обчислення інтеграла функції з заданими межами і точністю обчислення

Приклад 3.

Малюнок 7 - Межі інтеграла і точність обчислення для інтегровною функції

Рисунок 8 - Результат обчислення інтеграла функції з заданими межами і точністю обчислення

Висновок

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

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

Список використаних джерел та літератури

  1. Бронштейн І.М. Довідник з математики для інженерів і учнів втузів [Текст] / І.М. Бронштейн, К.А. Семендяев. - М.: Наука, 2007. - 708 с.

  2. Кремер Н.Ш. Вища математика для економістів: підручник для студентів вузів. [Текст] / Н.Ш. Кремер, 3-е видання - М.: ЮНИТИ-ДАНА, 2006. C .412.

  3. Каліткін М.М. Чисельні методи. [Електронний ресурс] / М.М. Каліткін. - М.: Питер, 2001. С.504.

  4. Чисельне інтегрування [Електронний ресурс] - Режим доступу: http://ru. Wikipedia. Org / wiki / Чісленное_інтегрірованіе

  5. Семакін І.Г. Основи програмування. [Текст] / І.Г. Семакін, А.П. Шестаков. - М.: Світ, 2006. C.346.

  6. Сіманков В.С. Основи функціонального програмування [Текст] / В.С. Сіманков, Т.Т. Зангієв, І.В. Зайцев. - Краснодар: КубГТУ, 2002. - 160 с.

  7. Степанов П.А. Функціональне програмування мовою Lisp. [Електронний ресурс] / П.А. Степанов, А.В. Бржезовскій. - М.: ГУАП, 2003. С.79.

  8. Хювенен Е. Світ Ліспу [Текст] / Е. Хювенен, Й. Сеппянен. - М.: Світ, 1990. - 460 с.


Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Курсова
44.1кб. | скачати


Схожі роботи:
Чисельне інтегрування методом Гауса
Чисельне інтегрування методом прямокутників
Чисельне інтегрування функції двох змінних
Розвязання рівнянь методом оберненої матриці та методом Гауса
Чисельне рішення системи лінійних рівнянь за допомогою методу виключення Гауса з вибором головного
Обчислення визначника методом Гауса
Розвязок інтеграла методом Чебиша Гауса Сімпсона
Розв язання систем лінійних рівнянь методом Гауса
Пошук рішень системи лінійних рівнянь методом Гауса
© Усі права захищені
написати до нас