Програмна реалізація чисельного інтегрування, Delphi, компоненти Delphi
Програмна реалізація чисельного інтегрування
Було в мене одне завдання за "чисельними методами". Ось таке:
Обчислити наближене значення інтеграла за допомогою формули
а) прямокутників; б) трапецій; в) Сімпсона.
Величину кроку вибрати заздалегідь, зробивши вручну оцінку похибки через другу (випадки а, б) або четверту (випадок) похідні.
Потрібно було написати програму, яка обчислює такий інтеграл:
Ви можете змінити формулу у вихіднику та підставляти свої межі інтегрування.
Його точне значення я вважав вручну. У мене вийшло:
Трохи теорії:
Для наближеного обчислення інтегралу
використовуються кінцеві суми виду
називаєтьсяквадратурною формулою, де Аk - числові коефіцієнти, які називаютьвагами (ваговими коефіцієнтами) квадратурної формули, а фіксовані аргументи Xк називають вузлами. Очевидно, певний інтеграл приблизно дорівнює середньому зваженому значень підінтегральної функції, обчислених у певних точках проміжку інтегрування. Побудова квадратурної формули супроводжується оцінкою похибки, що виникає під час заміни інтеграла квадратурною формулою.
Один із способів побудови квадратурної формули наступний. Відрізок [а,в] розбивається кілька рівних чи нерівних інтервалів з побудовою кожної частини самостійного інтерполяційного многочлена тієї чи іншої ступеня. Інтеграл функції відрізка розбиття замінюється інтегралом від інтерполяційного многочлена. Отримані інтеграли сумуються за всіма відрізками розбиття. Розглядаючи інтерполяційні багаточлени нульового ступеня, отримуємо метод прямокутників, першого ступеня метод трапецій, другого ступеня метод Симпсона.
з постійною ваговоюфункцією та кінцевим відрізком інтегрування. Нехай на відрізку [a,b] встановлено функцію f(x) . Введемо сітку, що розбиває відрізок [a,b] на N рівних вузлів:
Виберемо на кожному сегменті серединну точку
Квадратурна формула прямокутників має вигляд:
Якщо функції f(x), f'(x), f''(x) безперервні на відрізку [a,b], то похибка формули прямокутників оцінюється виразом (залишковий член має вигляд):
Квадратурна формула трапецій має вигляд:
Якщо функції f(x), f'(x), f''(x) безперервні на відрізку [a,b], то похибка формули прямокутників оцінюється виразом (залишковий член має вигляд):
Також можна взяти подвійний частковий відрізок, позначивши
В результаті отримаємоінший варіант формули Сімпсона :
Якщо функції f(x), f'(x), f''(x) безперервні на відрізку [a,b], то похибка формули прямокутників оцінюється виразом (залишковий член має вигляд):
Вирішуючи нерівність R
У мене вийшла така програма:
Крок я брав 0,002 (так точніше виходить).
Дляквадратурної формули прямокутників :
Дляквадратурної формули трапецій :
Дляквадратурної формули Сімпсона :
З результатів бачимо: точніше виявляється формула прямокутників.
Вихідники та готову програму можете завантажити тут:завантажити