Категории

Метод Симпсона на компьютере

Метод Симпсона на компьютере

Найдем площадь криволинейной трапеции 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 кр = y 1 + y n , Y неч = y 3 + y 5 + … + y n – 1 , Y чет = y 2 + y 4 + … + y n – 2 , а h = (b – a) / n . Задача. Пусть нужно проинтегрировать функцию f ( x ) = x ³(x - )² на отрезке [0, 6] (рис. 2). На этом отрезке функция непрерывна и принимает только неотрицательные значения, т. е. знакопостоянна. рис. 2 Для выполнения поставленной задачи составлена нижеописанная программа, приближенно вычисляющая определенный интеграл с помощью формулы Симпсона.

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

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

Вычисления выполняются до тех пор, пока относительная ошибка, вычисляемая по формуле | (I n/2 – I n ) / I n | , где I n интеграл при числе разбиений n , не будет меньше требуемой.

Лучшие работы

Подобные работы

Форматы баз данных в автоматизированных библиографических системах

echo "Применение стандарта MARC в библиотеке, которая до этого работала с каталожными карточками, заметно увеличит скорость работы, то есть не будет необходимости стоять 'бог знает сколько времени' у

Комплекс программ построения справочников по формальным языкам

echo "Приказ по институту N ___ от _______ 3. Назначение для разработки. Комплекс программ предназначен для того и должен быть построен таким образом, чтобы осуществлялось максимально удобное построе

Задания по информатике

echo "Обучение в Учреждении ведётся на русском языке. Порядок приёма на ступени дошкольного, начального основного среднего образования обеспечивает реализацию права ребёнка на образование без всяких

Помощь в обучении программированию

echo "Описание классов TMainForm - класс основной формы проекта. Включает в себя такие объекты, как MainToolBar панель инструментов ( TToolBar *) Расположена на форме в правой части и содержит

Метод Симпсона на компьютере

echo "Найдем площадь криволинейной трапеции aABb (рис. 1). "; echo ''; echo " рис. 1 Для этого разделим отрезок [ a , b ] точкой c = ( a + b ) / 2 пополам и в точке C ( c , f ( c ) ) проведем касатель

 
Юридические документы