Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Численные методы (пособие).pdf
Скачиваний:
84
Добавлен:
16.05.2015
Размер:
965.85 Кб
Скачать

30

4.1. Практическая работа № 4. Численное интегрирование

Для студентов специальности «Математическое обеспечение и администрирование информационных систем» отведено 6 часов практических занятий, а для студентов специальности «Программное обеспечение вычислительной техники и

автоматизированных систем» - 2 часа.

План занятий:

1.Актуализация понятий неопределенного, определенного, несобственных и кратных интегралов, сходимости несобственных интегралов, свойств определенных и несобственных интегралов.

2.Повторение квадратурных формул Ньютона-Котеса, Гаусса, оценок погрешностей и порядков точности квадратурных формул.

3.Повторение метода повторного счета (правила Рунге)

4.Повторение первой и второй схем метода Монте-Карло.

5.Повторение алгоритма вычисления приближенных значений первообразной, методов приближенного вычисления несобственных и кратных интегралов.

6.Решение примеров.

7.Консультирование студентов по выполнению домашней

работы.

Рассматриваемые примеры:

1

1.

Для вычисления приближенного значения интеграла

dx

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

I = ò

1+ x

0

 

оценкой погрешности для формулы средних прямоугольников, подобрать число отрезков разбиения n и шаг интегрирования h так, чтобы абсолютная погрешность приближенного значения интеграла не превышала ε =103 .

Решение:

 

 

 

 

 

 

 

 

b

Приближенное значение интеграла I = ò f (x)dx вычисляется по

следующей

 

 

обобщенной формуле

a

 

 

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

n

æ x

 

+ x ö

 

Q(h) = hå f ç

 

i1

 

i

÷. Здесь n – заданное число отрезков разбиения,

 

 

 

 

i=1

è

 

-

2

ø

 

h = (b a) n

 

 

 

 

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

xi = a + hi (i = 0,1, , n ) – узлы

квадратуры.

Запишем оценку погрешности приближенного значения Q(h) :

31

 

I Q(h)

 

M 2 (b a)h2

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

24

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

( x) M 2

Здесь M 2 − положительная постоянная, такая, что f

 

на [a;b]. В нашем случае a = 0, b =1, h =1 n , f ( x) =

1

.

 

 

′′

 

 

 

 

 

 

1+ x

 

 

 

 

Найдем

 

 

постоянную

 

M 2 .

Для

этого

вычислим

 

вторую

производную

 

 

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

функции:

2

 

 

. Эта

 

 

 

f ′′(x) =

 

 

 

(1 + x)3

 

производная,

 

 

очевидно, убывает

на

[a;b] =[0;1] и положительна.

Поэтому

 

f ′′(x)

 

= f ′′(x) =

 

 

2

 

f ′′(0)

= 2 на [a;b] =[0;1]. Таким образом,

 

 

 

 

 

 

 

(1

+ x)

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

M 2 = 2 .

Учитывая это, оценку погрешности можно записать в виде:

I -Q(h)

 

£

1

 

. Ее удобнее выражать через n.

 

 

 

 

24n2

 

 

 

Значение n

 

будем выбирать исходя

из требования:

I - Q(h)

 

£

1

 

£ ε =10−3

,

обеспечивающего для

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

 

 

 

24n

2

 

 

 

 

 

 

 

 

 

 

 

значения интеграла заданную точность. Решим это неравенство

относительно n: n ³

1000 » 6,5 .

Наименьшее

целое значение

n,

 

 

24

 

 

 

удовлетворяющее этому неравенству, равно 7. Итак, n = 7 , h =1 7 .

 

2. Составить алгоритм вычисления приближенного значения

интеграла

b

методом

Симпсона с

погрешностью,

не

I = ò f (x)dx

a

превышающей заданного положительного числа ε . Значение m подбирается методом повторного счета с использованием асимптотической оценки погрешности по правилу Рунге. Записать алгоритм на алгоритмическом языке.

Решение:

Исходными данными для алгоритма являются значения a, b, ε и функция f (x) . Приближенное значение интеграла вычисляется по формуле:

Q(m) = h

æ

m-1

f ( x

 

) + 4

m

f ( x

 

ö

ç f (a) + f (b) + 2

å

2×i

å

2×i-1

)÷ .

3

ç

 

 

 

÷

è

i=1

 

 

 

i=1

 

 

ø

Здесь h = (b a)2m − шаг интегрирования, xi = a + hi (i = 0,1, ,2m ) –

узлы квадратуры. В обозначении приближенного значения интеграла Q(m) подчеркнута зависимость его от параметра m. Подставляя значения узлов, получим:

Q(m) = h

æ

m-1

f (a + 2ih) + 4

m

ö

ç

å

å

÷

ç f (a) + f (b) + 2

 

 

f (a + (2i -1)h)÷ .

3

è

i=1

 

i=1

ø

32

Значение параметра m подбирается методом повторного счета так, чтобы абсолютная погрешность Q(m) не превышала ε . При этом используется асимптотическая оценка погрешности по правилу Рунге

I Q(2m)

 

 

 

Q( 2m) −Q( m)

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2k −1

 

 

 

 

Здесь k = 4 − порядок точности обобщенной формулы

Симпсона.

Метод повторного счета представляет собой цикл, в котором последовательно вычисляются значения Q(m) при m =1, 2, 4, 8, 16, На каждом шаге этого цикла, начиная со второго, проверяется условие достижения заданной точности:

Q( 2m) −Q( m) ≤ ε .

15

Как только это условие выполнится, цикл свою работу закончит и в качестве искомого приближенного значения интеграла выбирается последнее вычисленное значение Q(2m) .

На каждом шаге цикла используются только два приближенных значения интеграла. Поэтому мы введем две переменные Q1 и Q2 , которые в цикле должны принимать попарно следующие значения: Q1=Q(1) , Q2 =Q(2) ; Q1=Q(2) , Q2 =Q(4) ; Q1= Q(4) , Q2 =Q(8) и так далее. Заметим, что значение Q1 на всех шагах цикла, кроме первого, совпадает со значением Q2 на предыдущем шаге цикла. Поэтому в цикле мы будем вычислять только значение

Q2 =Q(2m) , а значение

 

Q1=Q(m)

мы

будем передавать

с

предыдущего шага цикла: Q1 := Q2 . Условие окончания цикла в этом

случае примет вид:

 

Q2 Q1

 

≤ ε .

Если

используется цикл

с

 

 

15

 

 

 

 

 

 

 

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

Q2

=Q(1) =

h

æ

æ a + b öö

3

ç

f (a) + f (b) + 4 f ç

2

÷÷.

 

 

è

è

øø

Введем в алгоритмический язык цикл с постусловием, аналогичный циклу repeat в языке Паскаль

нц повторять

Команды, повторяемые в цикле кц пока не Условие окончания цикла.

Запишем алгоритм вычисления интеграла с заданной точностью на алгоритмическом языке, используя введенную команду цикла с

33

постусловием:

алг Метод Симпсона с автоматическим выбором шага (арг вещ a,

b, ε , рез вещ Q2 )

нач вещ Q1, h, s1 , s2 ; цел m, i

m :=1 | Задание начального значения параметра m h := (b a)2m ; | Вычисление соответствующего

| значения шага интегрирования

Q2

:=

h

æ

æ a + b öö

; | Вычисление

3

ç

f (a) + f (b) + 4 f ç

2

÷÷

 

 

è

è

øø

 

|начального значения

| Q2 = Q(1)

нц повторять | Начало цикла метода повторного счета

Q1 := Q2 ;

| Передача значения Q2 с предыдущего

 

| шага цикла или начального значения.

m := 2m;

| Изменение значения параметра m.

h := (b a)2m ; | Вычисление соответствующего

| значения шага интегрирования

s1 :=0;

нц для i от 1 до m-1

s1 := s1 + f (a + 2ih) | Вычисление суммы

m−1

| s1 = å f (a + 2ih)

i=1

кц

s2 :=0;

нц для i от 1 до m

s2 := s2 + f (a + (2i − 1)h)

| Вычисление суммы

 

 

 

 

 

 

 

m

 

 

 

 

 

 

 

| s2 = å f (a + (2i −1)h)

кц

i=1

 

Q2 := h ( f (a) + f (b) + 2s1 + 4s2 ) | Вычисление

3

 

 

 

 

 

 

| Q2 =Q(2m)

 

 

 

Q2 Q1

 

 

 

кц пока не

 

 

 

 

 

≤ ε | Конец цикла метода

 

 

15

| повторного счета

кон

3. Записать формулу Гаусса с 3-мя узлами для вычисления

b

интеграла I = ò f ( x)dx и найти оценку абсолютной погрешности

a