Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Информатика 2 сессия / Численные методы решения задач строительства на ЭВМ

.pdf
Скачиваний:
333
Добавлен:
29.03.2015
Размер:
2.5 Mб
Скачать

Численное интегрирование

Для этого отрезок интегрирования [a, b] разбивают на n равных элементарных отрезков [xi ,xi+1] (i=0, 1, 2, …..,n-1), с шагом h=(b-a)/n. При этом криволинейная трапеция разобьется на n

элементарных криволинейных трапеций с основаниями равным h

(рис.5.1).

y

 

 

y=f(x)

 

 

 

 

 

 

 

 

Si

x

 

 

 

 

a=x0

x1

x i

xi+1

xn=b

Рис.5.1. Геометрическая интерпретация численного интегрирования

Каждая элементарная криволинейная трапеция заменяется фигурой, площадь которой вычисляется довольно просто. Обозначим эту площадь Si . Сумма всех этих площадей называется

интегральной суммой и вычисляется по формуле

n

 

σ n = åSi .

(5.3)

i=1

Тогда приближенная формула вычисления интеграла (5.1) имеет

вид

I = òb

f (x)dx ≈ σn .

(5.4)

a

 

 

Точность вычисления по формуле (5.4) зависит от числа разбиений

n. С увеличением n интегральная сумма σn

приближается к

точному значению интеграла

 

I = lim σn .

(5.5)

n→∞

 

Это хорошо проиллюстрировано на рис.5.2.

143

 

Численное интегрирование

 

σn

 

 

I

точное значение интеграла

n

 

Рис.5.2. Зависимость точности вычисления интеграла

от числа разбиений

Формулу (5.4) можно использовать, если известна степень точности такого приближения. Существуют различные формулы для оценки погрешности выражения (5.4), но, как правило, они достаточно сложны [28]. Будем проводить оценку точности приближения (5.4) методом половинного шага. Для этого циклически повторим следующую последовательность действий:

1.Разбиваем отрезок интегрирования [a, b] на n равных отрезков с шагом h=(b-a)/n.

2.Строим интегральную сумму σn по формуле (5.3).

3.Повторяем эти вычисления (пункты 1, 2) для шага h/2, т.е. для 2n. И строим интегральную сумму. σ2n .

4.Если два соседних приближения близки, т.е.

 

σ n − σ 2 n

 

< ε ,

(5.6)

 

 

то σ2n принимаем за приближенное значение интеграла (5.1) с заданной точностью ε:

I ≈ σ 2 n .

(5.7)

5.Если условие (5.6) не выполняется, то надо вернуться на пункт 3, т.е. еще раз уменьшить шаг вдвое, и так до тех пор, пока условие (5.6) не будет выполнено.

144

Численное интегрирование

Рассмотрим несколько способов численного интегрирования.

5.1. Квадратурные формулы прямоугольников

Отрезок интегрирования [a, b] разбиваем на n равных отрезков и получаем n+1 равноудаленных точек: x0 = a, xn = b,

xi+1 = xi +h, i= (0, 1, ……,n-1), где h шаг разбивки. При этом обозначим уi =f ( xi ).

Площадь каждой элементарной криволинейной трапеции заменим площадью прямоугольника с основанием h и высотой f(ξi), где ξi [xi, xi+1] , i=0, 1, 2,…..,n-1 (рис.5.3).

y

Погрешность

y=f(x)

 

y

 

 

yi+1

x

i

 

 

 

 

x

ξ

xi+1

 

 

i

 

 

 

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

В зависимости от выбора ξi существует несколько формул прямоугольников.

Формула «левых» (входящих) прямоугольников, когда ξi =xi :

n 1

 

I h å y i .

(5.8)

i = 0

 

Формула «правых» (выходящих) прямоугольников,

когда

ξi=xi+1

n

 

I h å y i .

(5.9)

i = 1

145

Численное интегрирование

Формула «средних» прямоугольников, когда ξi =xi +h/2

n

 

 

I » h å f ( x i 1 + h / 2 ) .

(5.10)

i =

1

 

nПример 5.1. С помощью формул левых и правых прямоугольников

9

вычислить ò1 xdx+ 2 , полагая n=4.

Решение. Зная пределы интегрирования а=1, b=9, находим шаг h=(b- a)/n=2;

Тогда точками разбиения служат х0=1, х1=3, х2=5, х3=7, х4=9, а

значения

подынтегральной

функции

f (x) =

1

 

в

этих

точках равны

x +

2

соответственно:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y

0

= f (x

0

) =

1

; y = f (x ) =

 

1

; y

2

= f (x

2

) =

1

; y

3

= f (x

3

) =

1

;

 

 

 

 

 

 

 

 

3

 

 

1

1

5

 

 

 

 

 

 

 

 

 

7

 

 

9

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y4

= f (x4 ) =

 

1

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

11

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Найдем численное значение интеграла, пользуясь формулой левых

прямоугольников:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

æ

1

 

 

1

 

 

1

 

1 ö

 

 

 

 

 

 

 

 

 

 

I л

= h(y0 + y1 + y2 + y3 ) = 2ç

 

 

+

 

+

 

+

 

÷

»1,6024 .

 

 

 

 

 

3

5

7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

è

 

 

 

 

 

9 ø

 

 

 

 

 

 

 

 

 

 

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

 

 

 

æ 1

 

1

 

1

 

1

ö

 

Iп

= h(y1 + y2

+ y3

+ y4 ) = 2ç

 

+

 

+

 

+

 

 

÷

»1,1053 ,

5

7

9

11

 

 

 

è

 

 

 

ø

 

что достаточно близко совпадает со значением интеграла, вычисленным по формуле Ньютона-Лейбница:

ò9 xdx+ 2 = ln x + 2 19 =1,299 .

1

146

Численное интегрирование

5.2. Квадратурная формула трапеций

y

 

 

Погрешность

y=f(x)

 

 

 

yi

yi+1

x

 

 

x

xi+1

 

i

 

 

Рис.5.4. Схема метода трапеций.

Площадь каждой элементарной криволинейной трапеции заменим площадью линейной трапеции с основаниями f(xi) и f(xi+1)

и высотой h ( i=0, 1, 2,…..,n-1) (рис.5.4).

Формула трапеций имеет вид

 

n1

 

 

I hå( yi + yi+1 ) / 2

(5.11)

 

i=0

 

 

 

 

y0 + yn

n1

 

или

I h(

+ å yi ) .

(5.12)

 

 

2

i=1

 

 

 

 

 

nПример 5.2. С помощью формулы трапеций вычислить тот же

 

интеграл ò9

 

dx

, полагая n=4.

 

 

x + 2

 

 

1

 

 

 

 

 

 

 

 

 

 

 

Решение. Здесь f (x) =

 

1

 

. Шаг h =2. Точки разбиения х0=1, х1=3, х2=5,

 

x + 2

 

 

 

 

 

 

 

 

 

 

 

 

х3=7, х4=9. Тогда по формуле (5.12) получим

9

dx

æ1 3+1 11

 

1

 

1

 

 

1

ö

 

 

= 2ç

 

 

 

+

 

 

+

 

+

 

÷ = 1,3322 , что практически совпадает со

ò x + 2

 

2

5

7

9

è

 

 

 

 

 

ø

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

147

 

 

Численное интегрирование

 

 

 

5.3. Квадратурная формула Симпсона

 

 

Точность

приближенного

интегрирования

 

заметно

возрастает, если

подынтегральную

функцию

y =f(x)

на

отрезке

[xi-1 ,xi+1] длиной l =2h заменить квадратичной функцией (рис.5.5),

проходящей через три точки A(xi-1 ,yi-1), B(xi ,yi),

C(xi+1 ,yi+1).

 

 

y

 

 

 

 

 

 

 

 

 

 

 

 

Погрешность

 

y=f

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

B

(

 

 

 

 

 

 

 

 

 

c

x)

C

 

 

 

 

 

 

 

+

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

b

 

 

 

 

 

 

 

 

 

+

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

a

 

 

 

 

 

 

 

 

 

 

 

=

 

 

 

 

 

 

 

 

 

 

A

y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

xi-1

 

 

 

xi

 

xi+1

 

 

 

 

Рис.5.5. Схема формулы Симпсона

 

 

Формула Симпсона в этом случае имеет вид

I h3 ( yi1 + 4yi + yi+1 ) .

Эта формула обладает повышенной точностью и является точной не только для многочленов второй, но и третьей степени.

Формула Симпсона, в частности, используется в строительной механике стержневых систем [35] при вычислении интегралов Мора, где подынтегральной функцией является произведение эпюр изгибающих моментов (М1Мр) или других внутренних усилий. Результат получается точным, если обе перемножаемые эпюры прямолинейны (их произведение

квадратная парабола) или одна из эпюр - параболическая, а другая линейная (произведение кубическая парабола). Формула Симпсона применима и в тех случаях, когда стержень имеет переменное сечение или криволинейное очертание.

148

Численное интегрирование

nПример 5.3. Перемножить две эпюры Мр и М1, (рис.5.6), используя формулу Симпсона и полагая EJ=Const.

l

M p M1

 

l

 

 

 

 

 

ò

 

dx »

 

(a

a

+ 4c

c + b

b ) ,

 

 

EJ

 

EJ

 

p 1

 

p 1

p 1

0

 

 

 

 

 

 

 

 

Перемножать эпюры по формуле Симпсона следует на участках, где эпюры меняются плавно без скачков и переломов. При наличии же таковых (в местах

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

Рис.5.6. Перемножаемые эпюры

Для увеличения точности отрезок [a, b] разбивается на четное число отрезков n=2m c шагом h=(b-a)/2m, a формула Симпсона для общего случая может быть записана:

 

h

é

m

m1

ù

 

I »

êy0

+ 4åy2k1

+ 2 åy2k + y2mú ,

(5.13)

 

3

ê

k=1

k=1

ú

 

 

 

ë

û

 

где yi=f(xi), i=0,1,2, ……,n.

:Приведем алгоритм для приближенного вычисления интеграла (5.1) по формуле Симпсона:

1.n=2m;

2.h=(b-a)/2m;

3. x0 = a, xi+1 = xi +h (i=0, 1, ……,n-1), xn = b;

4.уi =f ( xi ) (i=0, 1, ……,n);

5.M0 =y0 + yn =f(a)+f(b);

6.M1 = y1 + y3 +.....+ yn1 = åy2k1 ;m

k=1

m1

7. M2 = y2 + y4 +...+ yn2 = åy2k ;

k=1

8.J = h3 (M 0 + 4 M1 + 2 M 2 ) .

149

Численное интегрирование

Для вычисления интеграла с заданной степенью точности ε надо использовать метод половинного шага, изложенный выше.

GЗамечание. Из рис. 5.3, 5.4, 5.5 видно, что вычисления могут сопровождаться значительными погрешностями. Для снижения погрешности следует уменьшить шаг разбивки h , либо использовать более точные методы.

9

nПример 5.4. Вычислить по формуле Симпсона интеграл ò xdx+ 2 ,

полагая n=4, шаг h =2.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Решение. По формуле

(5.13) имеем

 

 

 

 

 

9

dx

=

h

(y

 

 

+ 4y + 2y

 

+ 4y

 

 

+ y

 

).

 

 

 

ò x + 2

 

0

2

3

4

 

 

 

 

3

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Подставляя

в

подынтегральную

функцию

f (x) =

1

значения х0=1,

x + 2

х1=3, х2=5, х3=7, х4=9, получим

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

9

dx

=

2

æ 1

 

+ 4

1

+ 2

1

+ 4

1

+

 

1

ö

= 1,3029 ,

что практически совпадает

 

 

 

ç

 

 

 

 

 

 

 

 

÷

ò x + 2

3

3

 

5

7

9

11

 

è

 

 

 

 

 

 

 

 

ø

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

со значением интеграла, вычисленного ранее по формуле Ньютона Лейбница.

5.4. Реализация методов численного интегрирования средствами приложения Excel

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

J = ò1

x2dx

(5.14)

0

 

 

методом прямоугольников (входящих) и методом трапеций.

Последовательность действий

На отрезке x [a, b] построим разностную сетку

Ωn {x0=a, xi = xi-1 +h , i = 1, 2.,.,n-1, xn=b, h =(b-a)/n}

и создадим таблицу по образцу рис.5.7.

150

Численное интегрирование

Рис.5.7.Схема вычисления интеграла

1) В ячейки В1, В2 и В3 введем значения нижнего и верхнего пределов интегрирования а, b и шаг разбивки h соответственно.

(Изменяя в дальнейшем значения этих ячеек, можно вычислить

значение интеграла с любой точностью ε и для различных пределов интегрирования. Изменение значений этих ячеек должно привести к автоматическому пересчету всей таблицы).

2)В столбце А сформируем номер узла следующим образом: А6=1; в ячейку А7 введем формулу =А6+1 и скопируем ее вниз до конца таблицы.

(Это позволит в дальнейшем приспособить таблицу для любого значения шага h)

3)В столбце В сформируем значения узлов (xi+1=xi+h, i=0,1,2,…) следующим образом: введем в ячейку В6 значение а, т.е. B6=$B$1. В ячейку В7 запишем формулу B7=B6+$B$3 и скопируем ее вниз до значения нижнего предела интегрирования b.

4)В столбце С cформируем значения подинтегральной фкнкции f(x) в узлах сетки. Для этого в ячейку С6 введем формулу С6=В6*В6 и скопируем ее вниз.

5)В столбцах D и E накапливаются результаты суммирования в соответствии с формулами (5.8), (5.11). Для этого обнулим ячейки

151

Численное интегрирование

D6 и E6. В ячейки D7 и E7 запишем формулы численного

интегрирования

D7=D6+C6*$B$3 E7=E6+(C6+C7)*$B$3/2

и скопируем их вниз до конца таблицы.

Приближенное значение интеграла (5.14) получено в ячейках

D16 и E16 по методу прямоугольников и трапеций

соответственно.

В данном случае не составляет труда найти точное значение этого интеграла,

J = ò1 x2dx = 0,3333 ,

0

и сравнить с полученными результатами.

Изменяя значения ячеек В1 (нижний предел интегрирования а), В3 (шаг h), С6 (формула подынтегральной функции f(x)), можно

использовать эту схему для вычисления любого определенного интеграла с необходимой точностью.

n Например. Уменьшим шаг разбивки, т.е. введем в ячейку В3 величину 0,05. Выделим последнюю строку таблицы на рис 5.7 и копируем ее вниз до значения b=1. Мы получим приближенное значение интеграла с шагом h/2=0,05 (количество разбивок при этом увеличилось вдвое).

Аналогичным образом можно изменять и другие параметры.

G Замечание! Вычисления могут сопровождаться значительными погрешностями. Для снижения погрешности следует уменьшить шаг интегрирования (метод половинного шага), либо использовать более точные методы.

152