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

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

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

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

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

Вычисление интеграла по методу Симпсона - student2.ru ,

здесь

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

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

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

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

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

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

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

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

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

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

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

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

Pi(x i) = a+b*hi+c*hi*hi/2 = f(x i)= fi (1)

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

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

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

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

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

c=2(fi - fi-1) /hi2 – (2/hi)(2/hi)(fi-1/2- fi-1),

c=2 [fi - fi-1-2 fi-1/2+2 fi-1] /hi2,

c=2 [fi -2 fi-1/2+fi-1] /hi2.

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

Pi(x )= fi-1 + 2(fi-1/2- fi-1)( x -x i-1) /hi + 2 [fi -2 fi-1/2+fi-1] ( x -x i-1) ( x -x i-1/2)/hi2

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

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

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-hi/2

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

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

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

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

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

Подставим в выражение для Вычисление интеграла по методу Симпсона - student2.ru значения коэффициентов a,b и c

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

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

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

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

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

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

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

Если hi=h для любого i=1,…, N, тогда Вычисление интеграла по методу Симпсона - student2.ru и формулу Симпсона можно упростить

Вычисление интеграла по методу Симпсона - student2.ru (4)

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

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

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

Вычисление интеграла по методу Симпсона - student2.ru ,

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

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

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

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

или

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

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

Вычисление интеграла по методу Симпсона - student2.ru (5)

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

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

Вычисление интеграла по методу Симпсона - student2.ru (6)

Рассмотрим Вычисление интеграла по методу Симпсона - student2.ru . Значение данного интеграла легко найти аналитически и оно равно -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. Вычисление интеграла по методу Симпсона - student2.ru

2. Вычисление интеграла по методу Симпсона - student2.ru

3. Вычисление интеграла по методу Симпсона - student2.ru

4. Вычисление интеграла по методу Симпсона - student2.ru

5. Вычисление интеграла по методу Симпсона - student2.ru

6. Вычисление интеграла по методу Симпсона - student2.ru

7. Вычисление интеграла по методу Симпсона - student2.ru

8. Вычисление интеграла по методу Симпсона - student2.ru

9. Вычисление интеграла по методу Симпсона - student2.ru

10. Вычисление интеграла по методу Симпсона - student2.ru

11. Вычисление интеграла по методу Симпсона - student2.ru

12. Вычисление интеграла по методу Симпсона - student2.ru

13. Вычисление интеграла по методу Симпсона - student2.ru

14. Вычисление интеграла по методу Симпсона - student2.ru

15. Вычисление интеграла по методу Симпсона - student2.ru

16. Вычисление интеграла по методу Симпсона - student2.ru

17. Вычисление интеграла по методу Симпсона - student2.ru

18. Вычисление интеграла по методу Симпсона - student2.ru

19. Вычисление интеграла по методу Симпсона - student2.ru

20. Вычисление интеграла по методу Симпсона - student2.ru

21. Вычисление интеграла по методу Симпсона - student2.ru

22. Вычисление интеграла по методу Симпсона - student2.ru

23. Вычисление интеграла по методу Симпсона - student2.ru

24. Вычисление интеграла по методу Симпсона - student2.ru

25. Вычисление интеграла по методу Симпсона - student2.ru

26. Вычисление интеграла по методу Симпсона - student2.ru

27. Вычисление интеграла по методу Симпсона - student2.ru

28. Вычисление интеграла по методу Симпсона - student2.ru

29. Вычисление интеграла по методу Симпсона - student2.ru

30. Вычисление интеграла по методу Симпсона - student2.ru

31. Вычисление интеграла по методу Симпсона - student2.ru

32. Вычисление интеграла по методу Симпсона - student2.ru

33. Вычисление интеграла по методу Симпсона - student2.ru

34. Вычисление интеграла по методу Симпсона - student2.ru

35. Вычисление интеграла по методу Симпсона - student2.ru

36. Вычисление интеграла по методу Симпсона - student2.ru

37. Вычисление интеграла по методу Симпсона - student2.ru

38. Вычисление интеграла по методу Симпсона - student2.ru

39. Вычисление интеграла по методу Симпсона - student2.ru

40. Вычисление интеграла по методу Симпсона - student2.ru

41. Вычисление интеграла по методу Симпсона - student2.ru 42. Вычисление интеграла по методу Симпсона - student2.ru

43. Вычисление интеграла по методу Симпсона - student2.ru

44. Вычисление интеграла по методу Симпсона - student2.ru

45. Вычисление интеграла по методу Симпсона - student2.ru

46. Вычисление интеграла по методу Симпсона - student2.ru

47. Вычисление интеграла по методу Симпсона - student2.ru

48. Вычисление интеграла по методу Симпсона - student2.ru

49. Вычисление интеграла по методу Симпсона - student2.ru

50. Вычисление интеграла по методу Симпсона - student2.ru

51. Вычисление интеграла по методу Симпсона - student2.ru

52. Вычисление интеграла по методу Симпсона - student2.ru

53. Вычисление интеграла по методу Симпсона - student2.ru

54. Вычисление интеграла по методу Симпсона - student2.ru

55. Вычисление интеграла по методу Симпсона - student2.ru

56. Вычисление интеграла по методу Симпсона - student2.ru




Наши рекомендации