Вычисление интеграла по методу Симпсона — КиберПедия 

Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...

Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...

Вычисление интеграла по методу Симпсона

2017-12-10 471
Вычисление интеграла по методу Симпсона 0.00 из 5.00 0 оценок
Заказать работу

 
 

Метод Симпсона применяется для вычисления определенных интегралов вида .

Разобьем отрезок [ a, b ] на n точек.

Представим искомый интеграл в виде суммы интегралов:

,

здесь

 

Рассмотрим i -ый отрезок [ xi -1, xi ]

 
 

xi -1/2=(xi + xi -1)/2 – середина i -го отрезка

 

Представим на отрезке [ xi -1, xi ] подынтегральную функцию f (x) в виде полинома третьей степени P i (x). Этот полином должен быть равен значениям подынтегральной функции в точках сетки и в середине отрезка: P i (xi- 1)= f (xi -1)– равенство полинома значению функции на левой границе i -го отрезка,

P i (x i- 1/2) = f (xi -1/2), P i (x i) = f (xi).

 

Такой полином можно записать, например, следующим образом:

P i (x)= a +b(x-xi -1)+c(x-xi -1)(x-xi -1/2),

здесь a, b, c – неизвестные коэффициенты, подлежащие определению.

 

Введем обозначение для ширины i -го отрезка: h i = xi - xi -1,

тогда (x-xi -1/2)= h i /2, а (xi -1/2 -x i -1)= h i /2.

 

Запишем значения полинома на левой, правой границах и в середине i -го отрезка

 

P i (x i) = a +b*h i+ c*h i *h i /2 = f (x i)= fi (1)

 

P i (x i- 1) = a = f (x i -1)= fi -1 (2)

 

P i (x i- 1/2)= f (x i -1/2)= a +b*h i /2 = fi -1/2 (3)

 

Из соотношения (2) следует a = fi -1,

из выражения (3) легко увидеть, что b= h i (fi -1/2 - fi)/2,

из выражения (1) получаем c=2 (fi - a -b h i)/h i 2, подставим в выражение для коэффициента c выражения для коэффициентов a и b, в результате получим:

c=2(fi - fi -1) /h i 2 (2/h i)(2/h i)(fi -1/2- fi -1 ),

c=2 [ fi - fi -1-2 fi -1/2+2 fi -1] /h i 2,

c=2 [ fi -2 fi -1/2+ fi -1] /h i 2.

 

Подставим найденные коэффициенты a, b, c в выражение для полинома:

 

P i (x)= fi -1 + 2(fi -1/2- fi -1)(x -x i -1) /h i + 2 [ fi -2 fi -1/2+ fi -1] (x -x i -1) (x -x i -1/2)/h i 2

 

Перейдем от переменной x к переменной t= x -x i -1

Тогда dt = d x, а при x = x i -1; t=0, при x = x i; t=h i при

x = x i -1/2= x -(xi -x i -1)/2= x - xi /2 -x i -1/2= x - x i -1 +x i -1/2- xi /2=t-h i /2

 

Тогда на i -ом интервале значение интеграла с учетом введенных обозначений, можно записать:

Подставим в выражение для значения коэффициентов a,b и c

 

Таким образом,

 

S i – представляет собой значение интеграла на i -ом отрезке. Для получения интеграла на отрезке от a до b, необходимо сложить все S i

 

Если h i =h для любого i =1,…, N, тогда и формулу Симпсона можно упростить

 

(4)

Формулу (4) можно упростить, для этого раскроем скобки в выражении под знаком суммирования

Выделим из первой суммы значение функции в точке x = a

,

 

а из последней суммы – значение функции в точке x = b

 

В результате получаем рабочую формулу Симпсона для равномерной сетки.

 

 

или

 

 

Учтем, что , , получим окончательное выражение для формулы Симпсона

 

(5)

В первой сумме формулы (5) вычисляют сумму значений функции во всех внутренних узлах отрезка [a, b], вторая сумма вычисляет сумму значений функции в средних точках i -ых отрезков.

 

Если середины отрезков включить в сетку наряду с узлами, тогда новый шаг h0 = h/2 = (b-a)/(2*n), а формула (5) может быть записана в виде:

 

(6)

 

Рассмотрим . Значение данного интеграла легко найти аналитически и оно равно -0,75. Метод Симпсона для подынтегральной функции в виде полинома степени 3 и ниже дает точное значение.

 

Алгоритм вычисления этого интеграла методом Симпсона (формула (5)).

a=0

b=1

n=5

h=(b-a)/n

 

f0=f1(a)

fn=f1(b)

 

s1=0

x1=a+h

цикл по i от 1 до n-1

s1=s1+f1(x1)

x1=x1+h

конец цикла

x2=a+h/2

 

s2=0

цикл по I от 1 до n

s2=s2+f1(x2)

x2=x2+h

конец цикла

 

s=h*(f0+2*s1+4*s2+fn)/6

 

Печать s

 

функция f1

параметры x

возврат x^3+3*x^2 + x*4 - 4

 

Пример программы вычисления интеграла методом Симпсона на языке VFP (по формуле (6)):

 

CLEAR

SET DECIMALS TO 10

 

? "I=",simpson(0,2,20)

x=2

? "I=",x^3/3

 

PROCEDURE simpson

PARAMETERS a,b,n

 

h=(b-a)/n

S_четные=0

S_нечетные=0

for x=a+h TO b-h STEP 2*h

S_нечетны = S_нечетные + 4*f(x)

NEXT

 

for x=a+2*h TO b-h STEP 2*h

S_четные = S_четные + 2*f(x)

NEXT

 

S=f(a)*h/3+(S_четные+S_нечетные)*h/3+f(b)*h/3

RETURN s

 

 

FUNCTION f

PARAMETERS x

RETURN x^2

 

Пример решения на языке VBA:

 

'процедура проверки правильности вычисления значения интеграла по его первообразной

Sub s_test(x)

i = x ^ 3 / 3

End Sub

 

Function f(x)

f = x ^ 2

End Function

 

Sub simpson()

a = 0

b = 2

n = 30

x = 2

h = (b - a) / n

 

s_четные = 0

s_нечетные = 0

 

For x = a + h To b - h Step 2 * h

s_нечетные = s_нечетные + 4 * f(x)

Next

Debug.Print "s_нечетные = " & s_нечетные

 

For x = a + 2 * h To b - h Step 2 * h

s_четные = s_четные + 2 * f(x)

Next

Debug.Print "s_четные=" & s_четные

 

s = h / 3 * (f(a) + (s_четные + s_нечетные) + f(b))

Debug.Print "Метод Симпсона: s= " & s

Debug.Print "Значение первообразной: s_test= ” & s_test(b-a)

 

End Sub

Результат работы программы на VBA:

s_нечетные = 79,9111111111111

s_четные=36,0888888888889

Метод Симпсона: s= 2,66666666666667

Значение первообразной: s_test= 2,66666666666667

 

Контрольные вопросы

 

1. Что такое определенный интеграл?

2. Привести алгоритм метода прямоугольников.

3. На интервале [a,b] функция f(x) монотонно возрастает. I1 – значение интеграла функции f(x) на отрезке [a,b], вычисленное по методу левых прямоугольников, I0 – значение интеграла функции f(x) на отрезке [a,b], вычисленное по методу средних прямоугольников. Будут ли отличаться значения интеграла, вычисленные этими методами? Если значения различны, то какое из них больше? Чем определяется разница?

4. Оценить погрешность для вычисления интеграла методом правых прямоугольников для монотонно убывающей функции.

5. Привести алгоритм метода трапеций.

6. Привести алгоритм метода Симпсона.

7. Как определить погрешность вычисления интеграла итерационными методами?

8. Какой из методов имеет наименьшую погрешность вычисления определенного интеграла?

9. Получить формулу метода Симпсона.

 

Задания

Вычислить следующие интегралы методами: прямоугольников, трапеций, Симпсона с точностью 0,001 и оценить погрешность результатов вычислений этими методами.



1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

11.

12.

13.

14.

15.

16.

17.

18.

19.

20.

21.

22.

23.

24.

25.

26.

27.

28.

29.

30.

31.

32.

33.

34.

35.

36.

37.

38.

39.

40.

41. 42.

43.

44.

45.

46.

47.

48.

49.

50.

51.

52.

53.

54.

55.

56.


 

 




Поделиться с друзьями:

Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...

Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...

Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...

История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.083 с.