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

Малышев Вычислительная математика EQ3

.pdf
Скачиваний:
101
Добавлен:
08.03.2015
Размер:
671.93 Кб
Скачать

71

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

Пример [3].

Рассмотрим вычисление интеграла из предыдущего примера. Выберем k = 4.

1) I

7

f (0) +

16

f (0, 25) +

2

f (0, 5) +

16

f (0, 75) +

7

f (1) = 0, 7855294;

 

 

 

 

 

90

45

15

45

90

 

2) в этом случае разобьем интервал на четыре участка (n = 4) c h = 0,25, применим для каждого интервала формулу с k = 4, сложим результаты и получим I 0,78539817.

6.5. ИНТЕГРИРОВАНИЕ ПО МЕТОДУ РОМБЕРГА

Из всех формул Ньютона-Котеса метод трапеций является наиболее простым, однако он не даёт достаточной степени точности. Метод Ромберга получил широкое распространение, поскольку сочетает в себе простоту метода трапеций с высокой точностью вычисления [1]. Он состоит в применении экстраполяционного метода Ричардсона для улучшения результатов, полученных с помощью метода трапеций. Для интегрирования по методу Ромберга вспомним метод трапеций:

b

h

m −1

f (x) dx =

[ f (a) + f (b) + 2

f ( x j )] ,

2

a

j =1

 

 

 

где h = (b a)/m и xj = a + jh. Известно, что погрешность усечения уменьшается с увеличением числа шагов m. Один из способов повышения систематического повышения m состоит в использовании прогрессии вида:

m = 2k – 1, k = 1, 2, ... , n,

где n – целое положительное число. Шаг h для такой прогрессии уменьшается как:

hk = b a/2k – 1, k = 1, 2, ..., n.

h1 = b a/21 – 1 = b a/1, отсюда m = 1

h2 = b a/22 – 1= b a/2, m = 2 h3 = b a/23 – 1= b a/4, m = 4

Удобно обозначить Rk,1 приближённое значение интеграла, тогда:

R1,1

= (h1/2)[f(a) + f(b)], (k = 1, m = 1);

R2,1

= (h2/2)[f(a) + f(b) + 2f(a + h2)], (k = 2, m = 2);

R3,1

= (h3/2)[f(a) + f(b) + 2[f(a + h3) + f(a + 2h3) + f(a +3h3)]], (k = 3, m = 3).

72

Можно показать, что эта последовательность записывается в общем виде как:

 

 

 

 

 

k − 2

 

R

=

1

[R

+ h

2f (a + h

(i − 0,5)) ,

 

k ,1

 

2

k −1, 1

k −1

k −1

 

 

 

 

 

i =1

 

для каждого k = 2, 3, ... , n. Это выражение можно использовать для ускорения процесса вычисления каждого Rk,1. В то время как k увеличивается, точность Rk,1 также увеличивается, однако сходимость к точному значению интеграла очень медленная. Для ускорения процесса сходимости используют экстраполяционную формулу Ричардсона:

Rij = [22(j – 1) Ri,j – 1 Ri – 1,j – 1]/(22(j – 1) – 1).

для каждого i = 2, 3, ... , n; j = 1, 2, ... ,i, где экстраполированное значение, отвечающее большему индексу j, соответствует более старшему порядку в формулах Ньютона-Котеса (рис. 6.3).

Результат аппроксимаций может быть записан в виде треугольной матрицы:

R1,1

R2,1 R2,2

R3,1 R3,2 R3,3

R4,1 R4,2 R4,3 R4,4

.. .

Rn,1 Rn,2 ... Rn,n

Диагональные элементы сходятся к точному значению интеграла быстрее, чем Rn,1. Обычно процедура применения итерационной схемы метода Ромберга заключается в последовательном нахождении элементов в строчках до тех пор, пока для некоторого n разность между Rn,n и Rn – 1,n – 1 меньше некоторой наперёд заданной погрешности.

6.6. КВАДРАТУРНЫЕ ФОРМУЛЫ ГАУССА

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

В выражении:

b

n

f ( x) dx = wi f ( xi ) + E ,

a

i =0

73

wi и xi взяты неизвестными, подлежащими определению. Таким образом, полное число неизвестных параметров равно 2(n + 1). Полином степени 2n + 1 для своего однозначного определения требует задания 2n + 2 узлов.

h = b a; i = 1; j = 1

Вычислить R1,1

i = i + 1

 

 

 

 

 

 

да

 

 

 

 

 

 

 

 

 

 

i > n

 

 

 

 

 

Стоп

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

нет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hi = 0,5 hi – 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Использовать фор-

 

 

 

 

мулу трапеции Ri,1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

j = j + 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

да

 

 

 

 

 

 

 

j > 1

 

 

 

 

 

|Ri,i–Ri–1,i–1|<E

 

 

 

 

 

 

 

 

 

нет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Шаг экстраполяции

 

 

Интеграл равен

 

Ri,j

 

 

 

Ri,i

 

 

 

 

Рис. 6.3. Алгоритм интегрирования по формулам Ньютона-Котеса

Будем аппроксимировать интеграл, используя полином степени 2n + 1, и потребуем, чтобы для всех полиномов со степенями, равными или меньшими этого значения, погрешности аппроксимации были равны нулю. Это условие даст 2n + 2 уравнений для 2n + 2 неизвестных. В общем случае конечные уравнения окажутся линейными относительно wi, но нелинейными относительно xi. Если пределы интегрирования составляют [–1, 1], значениями xi станут n + 1 корней полинома Лежандра Pn + 1(x) = 0. После того как найдены xi величины wi могут быть найдены методами решения линейных систем. Рассмотрим случай с n = 1. Требование, чтобы равенство

 

74

1

1

f ( x) dx = wi fi ,

−1

i =0

удовлетворялось для всех полиномов степени 2n + 1 и меньше, означает, что для f(x) = 1, x, x2 и x3 равенство должно строго выполняться. Из этого получаем следующие уравнения:

1

w0 + w1 = dx = 2 ;

−1

1

w0 x0 + w1 x1 = xdx = 0 ;

−1

 

 

1

2

 

w0 x02 + w1 x12 = x2 dx =

;

3

−1

 

 

 

1

 

 

w0 x03 + w1 x13 = x3dx = 0 .

−1

Система четырёх уравнений для четырёх неизвестных может быть решена даже для нелинейных уравнений. Чтобы избежать трудностей, связанных с нелинейностью, возьмём полином Лежандра в виде:

P2(x) = –1 + 3x2.

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

Полином второй степени имеет корни x1 = −3 / 3 и x2 = −3 / 3 . Используя эти значения и два любых уравнения из выше приведённых, получим, что w0 = 1 и w1=1. Тогда интеграл записывается в виде:

1

3

 

3

 

f (x) dx = f (−

) + f (

) .

3

3

−1

 

 

 

 

 

 

Ограничение, связанное с необходимостью выбора промежутка интегрирования от –1 до 1 не настолько затруднительно. Очевидно, что замена переменных z = 2x – (a + b)/(b a) преобразует интеграл к требуемому виду:

b

(b a)

1

f (z(b a) + b + a)

 

I = f (x) dx =

dz .

2

2

a

−1

 

 

 

 

Таким образом, применение метода квадратур Гаусса с n = 2 для вычисления интеграла даёт:

75

I = (b – a)/2 [w1f([(b – a)z1 + b + a]/2) + w2f([(b – a)z2 + b + a]/2)].

Для функции с n = 3 результат окажется следующим:

I = (b a)/2 [w1f([(b a)z1 + b + a]/2) + w2f([(b a)z2 + b + a]/2) + + w3f([(b a)z3 + b + a]/2)].

Задача, таким образом, состоит в нахождении коэффициентов wi и корней полинома Лежандра zi. Эти значения приведены в табл. 6.3.

Таблица 6.3 Значения коэффициентов и корней для формул Гаусса [1]

n

Корни

Коэффициенты

2

0,5773502692

1,0000000000

 

–0,5773502692

1,0000000000

 

 

 

3

0,7745966692

0,5555555556

 

0,0000000000

0,8888888889

 

–0,7745966692

0,5555555556

 

 

 

4

0,8611363116

0,3478548451

 

0,3399810436

0,6521451549

 

–0,3399810436

0,6521451549

 

–0,8611363116

0,3478548451

 

 

 

5

0,9061798459

0,2369268850

 

0,5384693101

0,4786286705

 

0,0000000000

0,5688888889

 

–0,5384693101

0,4786286705

 

–0,9061798459

0,2369268850

 

 

 

6

0,9324695142

0,1713244924

 

0,6612093864

0,3607615730

 

0,2386191861

0,4679139346

 

–0,2386191861

0,4679139346

 

–0,6612093864

0,3607615730

 

–0,9324695142

0,1713244924

 

 

 

7

0,9491079123

0,1294849661

 

0,7415311856

0,2797053914

 

0,4058451414

0,3818300505

 

0,0000000000

0,4179591837

 

–0,4058451414

0,3818300505

 

–0,7415311856

0,2797053914

 

–0,9491079123

0,1294849661

 

 

 

n

Корни

Коэффициенты

8

0,9602898565

0,1012285363

 

0,7966664774

0,2223810345

 

0,5255324099

0,3137066459

 

0,1834346425

0,3626837834

 

–0,1834346425

0,3626837834

 

–0,5255324099

0,3137066459

 

 

–0,7966664774

0,2223810345

 

–0,9602898565

0,1012285363

 

 

 

9

0,9681602395

0,0812743884

 

0,8360311073

0,1806481607

 

0,6133714327

0,2606106964

 

0,3242534234

0,3123470770

 

0,0000000000

0,3302393550

 

–0,3242534234

0,3123470770

 

–0,6133714327

0,2606106964

 

–0,8360311073

0,1806481607

 

–0,9681602395

0,0812743884

 

 

 

10

0,9739065285

0,0666713443

 

0,8650633667

0,1494513492

 

0,6794095683

0,2190863625

 

0,4333953941

0,2692667193

 

0,1488743390

0,2955242247

 

–0,1488743390

0,2955242247

 

–0,4333953941

0,2692667193

 

–0,6794095683

0,2190863625

 

–0,8650633667

0,1494513492

 

–0,9739065285

0,0666713443

 

 

 

76

Выбор подходящего алгоритма для решения данной задачи дифференцирования или интегрирования в большой степени зависит от природы данных, с которыми приходится иметь дело. При выборе алгоритма необходимо также помнить об общих ограничениях, связанных с работой на ПК.

Вслучае численного дифференцирования с экспериментальными данными следует обращаться с большой осторожностью, т. к. присутствие шумов может зачастую привести к результату, имеющему малое отношение к задаче или не имеющему вовсе. Использование интерполяционных формул Лагранжа может помочь в дифференцировании экспериментальных данных до тех пор, пока не пытаться извлечь из них больше, чем они из себя представляют. Например, интерполяционный многочлен второго порядка не даст много информации по поводу девятой производной. Для нахождения производных высоких порядков лучше использовать интерполяционные многочлены высокой степени, чем с постоянством применять многочлены низкой степени. Для дифференцирования с помощью интерполяционных полиномов полезно также помнить, что центральные разности дают результаты лучшие по сравнению с правыми и левыми разностями.

Вслучае численного интегрирования, если интегрируемая функция задана в виде таблицы экспериментальных значений, в общем случае используют не метод Ромберга и метод квадратур Гаусса, а применяют формулы Ньютона-Котеса. Однако для этих формул требуется равноудалённость значений абсцисс друг от друга. Метод Ромберга или метод квадратур Гаусса используют, если вид интегрируемой функции известен. Преимуществом гауссовых квадратур является то, что пользователь заранее знает, сколько вычислений функции надо выполнить, чтобы получить ответ и может менять метод, если точность недостаточна. В методе Ромберга нужно выполнить столько вычислений функции, сколько потребуется для достижения сходимости, однако при этом можно заранее задать желаемую степень точности. Соображения по поводу числа вычисления функции становятся важными в случаях, если эти значения могут быть получены лишь с помощью громоздких вычислений.

ЗАКЛЮЧЕНИЕ

Пособие содержит общие сведения об особенностях математического моделирования и теоретические основы вычислительных методов как его инструмента. Дан широкий обзор методов обработки данных: интер-

77

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

Весь материал снабжен рекомендациями по выбору методов и примерами вычислений.

В пособие не вошли материалы, посвященные решению систем уравнений и дифференциальных уравнений.

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

СПИСОК ЛИТЕРАТУРЫ

1. Шуп Т. Прикладные численные методы в физике и технике: Пер. с англ. С. Ю. Славянова/под ред. С. П. Меркурьева. – М.: Высш. шк., 1990. –

255с.

2.Завьялов Ю. С., Леус В. А., Скороспелов В. А. Сплайны в инженерной геометрии - М.: Машиностроение, 1985. – 224 с.

3.Васильков Ю. В., Васильков Н. Н. Компьютерные технологии вычислений в математическом моделировании – М.: Финансы и статистика,

2002.

4.Стечкин С. Б., Субботин Ю. Н. Сплайны в вычислительной мате-

матике. – М.: Наука, 1976. – 248 с.

5.Малышев Р. А. Автоматизация контроля химического состава, структуры и свойств чугуна на основе создания многофункционального комплекса вычислительных средств. Диссертация на соискание учёной степени кандидата технических наук. Рыбинск: РГАТА, 2001.