Вычисление определенных интегралов методом прямоугольников

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

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 28.03.2020
Размер файла 89,4 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

1. Вычисление определенных интегралов методом прямоугольников

При вычислении определенного интеграла методом прямоугольников подынтегральная функция f(x) на интервале интегрирования заменяется полиномом нулевой степени, т.е. константой. Вычисление определенного интеграла по методу прямоугольников сводится к вычислению площади прямоугольника, одна из сторон которого - длина отрезка интегрирования (или шаг разбиения по оси х), другая - высота прямоугольника (вычисляется по значению функции в начале, в конце или в середине интервала интегрирования. В зависимости от этого и метод называется: метод левых, правых или средних прямоугольников). Будем линейно аппроксимировать функцию f(x) на некотором разбиении отрезка [a,b] на n частей.

Формула для приближенного вычисления интеграла будет иметь вид:

где Si = fi*hi - площадь i - го прямоугольника, fi - значение функции в некоторой точке внутри i - го отрезка, hi - ширина этого отрезка. В частном случае, когда все отрезки имеют одинаковую ширину, hi = h =(b-a)/n.

Если высота i - го прямоугольника вычисляется по значению подынтегральной функции в левой границе прямоугольника - этот метод называется методом левых прямоугольников, соответственно при вычислении высоты прямоугольника по значению подынтегральной функции в правой границе прямоугольника называют методом правых прямоугольников.

Метод правых (рис.1) и левых (рис.2) прямоугольников имеет сравнительно высокую погрешность.

Рис. 1 Метод правых прямоугольников.

Рис.2 Метод левых прямоугольников.

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

Более низкую погрешность имеет метод средних прямоугольников (рис.3), в котором высота прямоугольников вычисляется по значению подынтегральной функции в середине отрезка интегрирования. В этом случае Si = f((xi+1 - xi )/2)*(xi+1 - xi ) или, в случае равномерной сетки, Si = f(xi +h/2)*h

Рис. 3 Метод средних прямоугольников.

Описание алгоритма вычисления определенного интеграла методом прямоугольников:

n=значение

а=значение

b=значение

h=(b-а)/n

s=0

s1=0

s2=0

Цикл по х от а до b-h с шагом h

s=s+f(x)*h && метод левых прямоугольников

s1=s1+f(x+h)*h && метод правых прямоугольников

s2=s2+f(x+h/2)*h && метод средних прямоугольников

Конец Цикла

Печать s, s1, s2

Задать Функцию F

Параметры x

Вернуть (выражение подынтегральной функции от x)

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

clear

k=2

k3/3

n=500

a=0

b=2

h=(b-a)/n

s=0

s1=0

s2=0

FOR x=a TO b-h STEP h

s=s+f(x)*h &&метод левых прямоугольников

s1=s1+f(x+h)*h &&метод правых прямоугольников

s2=s2+f(x+h/2)*h &&метод средних прямоугольников

end for

?"s=",s," s1=",s1, "s2=", s2

FUNCTION f

PARAMETERS x

RETURN x^2

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

Sub sub1()

k = 2

Debug.Print k ^ 3 / 3

n = 500

a = 0

b = 2

h = (b - a) / n

s = 0

s1 = 0

s2 = 0

For x = a To b - h Step h

`метод левых прямоугольников

s = s + f(x) * h

`метод правых прямоугольников

s1 = s1 + f(x + h) * h

`метод средних прямоугольников

s2 = s2 + f(x + h / 2) * h

Next

Debug.Print "s=", s, " s1=", s1, "s2=", s2

End Sub

Function f(x)

f = x ^ 2

End Function

2. Вычисление определенных интегралов методом трапеций

Вычисление определенного интеграла по методу трапеций сводится к вычислению площади фигуры, ограниченной осью абсцисс, графиком подынтегральной функции и прямыми x = a и x = b. Будем линейно аппроксимировать функцию f(x) на некотором разбиении отрезка [a,b] на n частей.

Формула для приближенного вычисления интеграла будет иметь вид:

где Si = (fi-1 +fi)*h/2 - площадь i - й трапеции, где h=(b-a)/n.

Если раскрыть скобки в выражениях для Si, то формула для вычисления интеграла примет вид:

Описание алгоритма вычисления определенного интеграла методом трапеций:

n=значение

а=значение

b=значение

h=(b-а)/n

s=0

Цикл по х от а до b-h с шагом h

s=s+(f(x)+f(x+h))*h/2

Конец Цикла

Печать s

Задать Функцию F

Параметры x

Вернуть (выражение подынтегральной функции от x)

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

clear

k=2

?k^3/3

n=500

a=0

b=2

h=(b-a)/n

s=0

FOR x=a TO b-h STEP h

s=s+(f(x)+f(x+h))*(h/2)

endfor

s3

FUNCTION f

PARAMETERS x

RETURN x^2

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

Sub sub1()

k = 2

Debug.Print k ^ 3 / 3

n = 500

a = 0

b = 2

h = (b - a) / n

s = 0

For x = a To b - h Step h

s=s+(f(x)+f(x+h))*(h/2)

Next

Debug.Print "s=", s

End Sub

Function f(x)

f = x ^ 2

End Function

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

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

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

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

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

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-ом интервале значение интеграла с учетом введенных обозначений, можно записать:

Si==at+bt2/2+ct3/3-ct2hi/4 =

=ahi+bhi2/2+chi3/3-chi3/4 = ahi+bhi2/2+chi3(1/3-1/4)= ahi+bhi2/2+chi3/12 =

= fi-1hi+ (hi2/2)(fi-1/2-fi-1)/(hi2/2)+ (hi3/12)(2/hi2)(fi-2fi-1/2+ fi-1)=

= fi-1hi+ hifi-1/2- hi fi-1+(hi/6)(fi-2fi-1/2+ fi-1)=

= fi-1hi+(hi/6) fi-1 - fi-1 hi+hi fi-1/2-(hi/3)fi-1/2+(hi/6) fi=

=(hi/6) fi-1+ (2hi/3)fi-1/2+(hi/6) fi

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

Si= (hi/3)( fi-1/2+2 fi-1/2 +fi/2)

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

Если hi=h для любого i=1,…, N, тогда Si= (hi/3)( fi-1/2+2 fi-1/2 +fi/2) и формулу Симпсона можно упростить

(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 integ()

x = 2

i = x ^ 3 / 3

Debug.Print i

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 "n=" & n & " s=" & s

End Sub

Размещено на Allbest.ru

...

Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.