Вычисления определенного интеграла с помощью формулы Симпсона на компьютере

МОСКОВСКИЙГОСУДАРСТВЕННЫЙ СТРОИТЕЛЬНЫЙ УНИВЕРСИТЕТ КУРСОВАЯ РАБОТА Программа приближенного вычисления определенногоинтеграла с помощью ф лы Симпсона на компьютере Выполнил студент ф таЭОУС 12Валюгин А. С.Принял Зоткин С. П.Москва20011. ВведениеОпределенный интеграл от функции,имеющей неэлементарную первообразную, можно вычислить с помощью той или иной приближенной формулы. Для решения этой задачи на компьютере, средипрочих, можно воспользоваться формуламипрямоугольников, трапеций или формулой Симпсона.

В данной работе рассматриваетсяименно последняя.Рассмотрим функцию y f x . Будем считать, что на отрезке a, b она положительна и непрерывна.Найдем площадь криволинейной трапеции aABb рис. 1 . рис. 1Для этого разделим отрезок a, b точкой c a b 2 пополам и в точке C c, f c проведем касательную к линии y f x . После этого разделим a, b точками p и q на 3 равные части и проведем черезних прямые x p и x q.Пусть P и Q точки пересечения этих прямых скасательной.

Соединив A с P и B с Q, получим 3 прямолинейные трапеции aAPp, pPQq,qQBb.Тогда площадь трапеции aABb можно приближенно посчитать по следующей формуле I aA pP 2 h pP qQ 2 h qQ bB 2 h, где h b a 3.Откуда получаем I b a 6 aA 2 pP qQ bB заметим, что aA f a ,bB f b , а pP qQ 2 f c ,в итоге получаем малую фор лу Симпсона I b a 6 f a 4 f c f b 1 Малая формула Симпсона дает интегралс хорошей точностью, когда график подинтегральной функции мало изогнут, вслучаях же, когда дана более сложная функция малая формула Симпсона непригодна.Тогда, чтобы посчитать интеграл заданной функции нужно разбить отрезок a, b на n частей и к каждому из отрезковприменить формулу 1 . После указанных выше действий получится большая формула Симпсона, которая имеет вид, I h 3 Yкр 2 Yнеч 4 Yчет 2 где Yкр y1 yn, Yнеч y3 y5 yn 1, Yчет y2 y4 yn 2, а h b a n. Задача.

Пусть нужно проинтегрироватьфункцию f x x sup3 x - 5 sup2 на отрезке 0, 6 рис.2 . На этом отрезке функция непрерывна и принимает только неотрицательныезначения, т. е. знакопостоянна. рис. 2Для выполнения поставленной задачисоставлена нижеописанная программа, приближенно вычисляющая определенный интеграл с помощью формулыСимпсона.

Программа состоит из трех функций main, f и integral. Функция main вызывает функцию integral для вычисления интеграла ираспечатывает на экране результат.Функция f принимает аргумент x типа float и возвращает значение интегрируемойфункции в этой точке. Integral основная функция программы онавыполняет все вычисления, связанные с нахождением определенного интеграла.

Integral принимает четыре параметра пределыинтегрирования типа float, допустимую относительную ошибку типа float и указатель на интегрируемуюфункцию. Вычисления выполняются до тех пор, пока относительная ошибка,вычисляемая по формуле In 2 In In , где In интеграл при числе разбиений n, не будет меньше требуемой.Например, допустимая относительная ошибка e 0.02 это значит, что максимальнаяпогрешность в вычислениях будет не больше, чем In e 0.02 In. Функция реализована с экономией вычислений,т. е. учитывается, что Yкр постоянная, а Yнеч Yнеч Yчет, поэтому эти значениявычисляются единожды.

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

Блок схема позволяет отследить и понять особенности алгоритмапрограммы, спецификации дают представление о назначениикаждой переменной в основной функции integral, листинг - исходный код работающей программы скомментариями, а ручной счет предоставляет возможностьпроанализировать результаты выполнения программы. 2. Блок схема программы.