обчислення інтеграла

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

Нехай I =òf (x) dx. де f (x) - безперервна функція, яку ми для наочності будемо припускати позитивною. Тоді I представить собою площу криволінійної трапеції, обмеженою лініями x = a, x = b, y = 0, y = f (x). Виберемо яке-небудь натуральне число n і розкладемо відрізок [a, b] на n рівних відрізків за допомогою точок x0 = a

обчислення інтеграла

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

Аналогічно площі подальших смужок виразяться числами

Значить, для нашого інтеграла виходить формула

(Де h - довжина одного з n рівних відрізків, xi = a + i * h). Ця наближена формула і називається формулою трапецій. Вона виявляється тим більш точною, ніж більше узяте нами число n. Похибка одного кроку обчислюється за формулою: - (h ^ 3) / 12.

Завдання. Нехай потрібно проінтегрувати функцію f (x) = x³ + 2x²-3x-8 на відрізку [0, 6]. На цьому відрізку функція неперервна.

Для виконання поставленого завдання складена нижчеописане програма, наближено обчислює визначений інтеграл за допомогою методу трапецій. Програма складається з трьох функцій main. f і trap. Функція main дозволяє ввести інтервали інтегрування і задати точність обчислення інтеграла, а також викликає функцію trap для обчислення інтеграла і роздруковує на екрані результат. Функція f приймає аргумент x типу float і повертає значення інтегрованої функції в цій точці. Trap - основна функція програми: вона виконує всі обчислення, пов'язані з перебуванням певного інтеграла. Trap приймає чотири параметри: межі інтегрування типу float (a і b), допустиму відносну помилку типу float і покажчик на інтегруються функцію. Обчислення виконуються до тих пір, поки відносна помилка, яка обчислюється за формулою | S-Sn |, не може бути менше або дорівнює необхідної. Функція реалізована з економією обчислень, т. Е. Враховується, що S0 постійна і S1 = S1 + f (a + (2 * i + 1) * h). тому ці значення обчислюються один раз. Метод трапецій має високу швидкість обчислення, але меншою точністю, ніж метод Сімпсона, тому його застосування зручно там, де не потрібно дуже висока точність.

2. Блок-схема програми:

обчислення інтеграла

printf ( "\ n Задайте межі інтегрування і точність:");

printf ( "\ n Інтеграл від a =% 3.2lf до b =% 3.2lf дорівнює% lf", a, b, s);

double f (double x)

Схожі статті