Олемской И.В. МЕТОДИЧЕСКИЕ УКАЗАНИЯ ПО

advertisement
Олемской И.В.
МЕТОДИЧЕСКИЕ УКАЗАНИЯ
ПО ВЫЧИСЛИТЕЛЬНОМУ ПРАКТИКУМУ.
(ВЫЧИСЛЕНИЕ ОПРЕДЕЛЕННОГО ИНТЕГРАЛА)
1
Постановка задачи.
Рассматривается задача о вычислении однократного интеграла
Z b
J(F ) =
F (x) dx.
(1)
a
с использованием конечного числа значений интегрируемой функции. Интервал интегрирования [a, b]
– любой конечный (или бесконечный) отрезок числовой оси. Подынтегральная функция F (x) - любая
интегрируемая в смысле Римана функция.
Такой интеграл является пределом суммы вида:
Z b
n
X
J(F ) =
F (x) dx = lim
F (ξi ) 4 xi = lim Sn ,
(2)
rn →0
a
i=1
rn →0
Pn
где rn = maxi=1,...,n 4xi , 4xi = xi − xi−1 , Sn = i=1 F (ξi ) 4 xi ; a = x0 < x1 < x2 < . . . < xn = b.
Взяв достаточно малые частичные отрезки [xi−1 , xi ] и вычислив достаточно много значений F (ξi ),
ξi ∈ [xi−1 , xi ], можно найти значение интеграла с любой заданной точностью. Каждая интегральная
сумма определяется способом деления [a, b] на части 4xi и выбором в каждой из них промежуточных
точек ξi .
При построении правила вычисления (1), одинакового для всех функций F (x), можно взять все
a
4xi одинаковыми, положив 4xi = b −
n = h и за ξi ∈ 4xi выбирать середины частичных отрезков
1
a + (i − 2 )h . Полученное правило интегрирования:
Z b
n
n
X
X
1
J(F ) =
F (x) dx ≈
(3)
F (ξi ) 4 xi = h
F (a + (i − )h)
2
a
i=1
i=1
позволяет вычислять интеграл (1) сколь угодно точно при всякой функции F (x), но оно является медленно сходящимся даже для случая аналитической функции F (x) и требует для достижения хорошей
точности вычисления интеграла большого числа значений F (x). Правило (3) становится неприменимым,
если интеграл является несобственным.
Правила численного интегрирования, рассчитанные на более узкие классы функций, могут иметь
лучшую точность, если заранее принять во внимание свойства функций этих классов и использовать
их при конструировании. Каждое правило основано на замене интегрируемой функции на какую-либо
элементарную функцию: алгебраический многочлен, рациональную функцию, тригонометрический многочлен и др..
Такая замена дает хорошую точность, если заменяемая функция F (x) обладет высоким порядком
гладкости. При наличии у F (x) каких-нибудь особенностей, мы заинтересованы в выделении их. Выделение делается обычно при помощи разложения F (x) на два сомножителя F (x) = p(x) · f (x), причем
p(x) имеет особенности того же типа, что и F (x), и называется весовой функцией. Важно, чтобы
функция p(x) имела аналитически вычисляемые k -ые моменты весовой функции p(x) :
Z b
µk =
p(x)xk dx, k = 0, 1, . . . .
(4)
a
Второй сомножитель – f (x) - гладкая функция. Такое разложение приводит (1) к виду:
Z b
J(F ) =
p(x)f (x) dx.
(5)
a
Считая вес p(x) фиксированным, а f (x) – любой гладкой функцией, строим правила интегрирования
следующего вида:
Z b
n
X
Ak f (xk ) = Sn , xk ∈ [a, b],
(6)
J(F ) =
p(x)f (x) dx ≈
a
k=1
расчитанные на функции, имеющие одинаковые, заранее известные особенности. Здесь f (x) ∈ Φ(a, b) –
некоторый класс функций f (x) , определенных на [a, b] ; p(x) – весовая функция: некоторая фиксированная неотрицательная на [a, b] функция, для которой
Z b
p(x) dx > 0,
(7)
a
2
и для ∀f (x) ∈ R существует
Z
b
p(x)|f (x)| dx.
(8)
a
Определение 1
Формулу (6) называют формулой
механических квадратур или просто квадраPn
турной формулой, а Sn = k=1 Ak f (xk ) - квадратурной суммой ; Ak – квадратурными коэффициентами формулы (6); xk – узлами квадратурной формулы
(6) .
Узлы квадратурной формулы (6) (кратности единица) упорядочены по возрастанию
a = x0 < x1 < . . . < xn = b .
Определение 2
Величина
Z
Rn (f ) =
b
p(x)f (x) dx −
a
n
X
Ak f (xk ) = J(f ) − Sn (f )
(9)
k=1
называется методической погрешностью (остаточным членом) квадратурной
формулы (6).
Определение 3
Квадратурная формула (6) имеет алгебраическую степень точности m , если она верна для любых многочленов степени m и не верна для многочленов
степени m + 1 .
Это равносильно тому, что равенство
Z
b
p(x)xi dx =
a
n
X
Ak xik ,
(10)
k=1
выполняется для i = 0, 1, . . . , m и не выполняется для i = m + 1. Или что то же самое, Rn (xi ) =
0, i = 0, 1, . . . , m; Rn (xm+1 ) 6= 0. n, xk , Ak , k = 1, . . . , n; – являются параметрами квадратурной
формулы (6), и их следует выбирать так, чтобы квадратурная формула имела максимально возможную
алгебраическую степень точности.
Необходимо отметить, что в некоторых задачах не все параметры являются произвольными. Например, если F (x) задана таблично, то мы ограничены в выборе узлов xk . Иногда для упрощения счета
можно потребовать равенства A1 = A2 = . . . = An = A = const , в этом случае в нашем распоряжении
n + 1 параметр : A и xk , k = 1, . . . , n. Rn (f ) зависит от свойств функции f и от выбора квадратурной формулы, т. е. от узлов и коэффициентов. При исследовании погрешности основными являются две
задачи: оценка погрешности для функций с известными (распространенными) свойствами и выяснение
условий сходимости – условий, при которых Rn (f ) → 0 при n → ∞ .
Таким образом, для построения квадратурной формулы при фиксированном, но произвольном n
необходимо указать способ выбора узлов xk , k = 1, . . . , n, и коэффициентов Ak , k = 1, . . . , n, квадратурной формулы и указать способ оценивания методической погрешности Rn (f ) для данной функции
f (·) или некоторого множества Φ(a, b) функции f (·).
Замечание 1. При вычислении f (xk ) приходится почти всегда иметь дело с приближенными значениями функции f¯(xk ) , верными на некоторое число значащих цифр: |f (xk ) − f¯(xk )| < ε, k = 1, . . . , n.
Квадратурная сумма будет вычислена с погрешностью
|sn − s̄n | < ε
n
X
|Ak |,
(11)
k=1
Pn
Если сумма
k=1 |Ak | велика, то это естественно вызывает большую погрешность в приближенном
значении
интеграла.
Именно поэтому при построении квадратурных формул стремятся к тому , чтобы
Pn
|A
|
имела
бы
возможно
меньшее значение.
k
k=1
3
Z
b
a
Если p(x) ≥ 0, x ∈ [a, b] и квадратурная формула верна для f ≡ 1 ,что равносильно равенству
n
X
Pn
p(x) dx =
Ak , то
k=1 |Ak | будет иметь наименьшее значение , когда Ak > 0. Именно это обстоk=1
ятельство придает квадратурным формулам с положительными коэффициентами особое значение.
Определение 4
Последовательность квадратурных формул — квадратурный процесс.
Такая последовательность определяется двумя треугольными матрицами.
Матрицей узлов:
¯
¯
¯
¯
¯ x(1)
¯ A(1)
¯ 1
¯
¯ 1
¯
¯ (2)
¯ (2)
(2)
(2)
¯ x1
¯
¯ A1
x2
A2
¯
¯
¯
X = ¯ ···
¯ и коэффициентов: A = ¯ · · ·
··· ···
···
¯ (n)
¯ (n)
(n)
(n) ¯¯
(n)
¯ x
¯
x
·
·
·
x
A
A
n
2
2
¯
¯ 1
¯ 1
¯ ···
¯ ···
··· ··· ··· ¯
···
···
···
···
Квадратурная формула соответствующая n -ой строке этих матриц, имеет вид:
Z b
n
X
(n)
(n)
p(x)f (x) dx =
Ak f (xk ) + Rn (f ) = Sn (f ) + Rn (f ).
a
¯
¯
¯
¯
¯
¯
¯
(n) ¯
An ¯¯
··· ¯
(12)
(13)
k=1
Определение 5
Будем говорить, что квадратурный процесс, определенный матрицами X и
A , сходится для функции f , если
lim Sn (f ) = lim
n→∞
2
n→∞
n
X
Z
(n)
(n)
Ak f (xk )
k=1
=
b
p(x)f (x) dx.
(14)
a
Интерполяционные квадратурные формулы
Определение 6
Квадратурная формула
Z
b
p(x)f (x) dx ≈
a
n
X
Ak f (xk )
(15)
k=1
называется интерполяционной, если ее коэффициенты удовлетворяют равенству
Z
Ak =
b
p(x)
a
ω(x)
dx,
(x − xk )ω 0 (xk )
ω(x) = (x − x1 )(x − x2 ) · . . . · (x − xn ).
(16)
Методическая погрешность интерполяционного правила (15), (16), если f (x) имеет непрерывную производную порядка n на (a, b), имеет вид:
Z
1 b
Rn (f ) =
p(x)ω(x)f (n) (ξ) dx, ξ ∈ (a, b).
n! a
Для функции f (x), имеющей непрерывные f (x) ∈ C (n) (a, b) и ограниченные по модулю |f (n) (x)| ≤ Mn
производные порядка n, верна оценка
Z
Mn b
|p(x)ω(x)| dx.
(17)
|Rn (f )| ≤
n! a
Всякое квадратурное правило (15), алгебраическая степень точности которого не меньше n − 1, является
интерполяционным.
4
Интерполяционные квадратурные формулы характеризуются тем, что при всяком расположении узлов
xi алгебраическая степень точности их не меньше n − 1.
Алгоритм построения интерполяционных квадратурных формул
1. Задать узлы квадратурной формулы (6) xi ,
i = 1, 2, . . . , n.
2. Вычислить моменты весовой функции p(x) :
Z b
µi =
p(x)xi dx;
i = 0, 1, . . . , n − 1;
(18)
a
3. pешить систему линейных алгебpаических систем:
n
X
Ai xsi = µs ;
s = 0, 1, . . . , n − 1.
(19)
i=1
Пpимеp построения интерполяционной квадратурной формулы. Постpоить двухточечную
( n = 2 ) интерполяционную квадpатуpную фоpмулу для вычисления интегpала:
Z b
n
X
f (x)
√
dx ≈
Ai f (xi ), b > a.
(20)
x−a
a
i=1
1
. Делаx−a
ем замену переменной t = x−a и сводим исходную задачу к построению интерполяционной квадратурной
формулы для вычисления интеграла
Z b−a
n
X
f (t)
√ dt ≈
Ai f (ti ).
(21)
t
0
i=1
Z b−a i
Z b−a
t
1
√ dt; i = 0, 1, 2. µ0 =
√ dt =
Далее вычисляем моменты весовой функции µi =
t
t
0
Z b−a
Z b−a 20
1
3
5
t
2
t
2
√ dt = (b − a) 2 ; µ2 =
√ dt = (b − a) 2 .
= 2(b − a) 2 ; µ1 =
3
5
t
t
0
0
При заданных узлах ( t1 , t2 ∈ [0, b − a] ) двухточечная интерполяционная квадратурная формула имеет
алгебраическую степень точности не меньше единицы. А это значит,что должны выполняться равенства
Z b−a
1
√ dt − (A1 + A2 ) = 0; → A1 + A2 = µ0 ;
R2 (1) =
t
0
Z b−a
t
√ dt − (A1 t1 + A2 t2 ) = 0; → A1 t1 + A2 t2 = µ1 .
(22)
R2 (t) =
t
0
В качестве весовой функции при условии достаточно гладкой функции f (x) возьмем p(x) = √
Разрешая линейную систему (22) относительно A1 , A2 , получим значение коэффициентов интерполяционной квадратурной формулы:
µ0 t2 − µ1
µ1 − µ0 t1
A1 =
;
A2 =
.
(23)
t2 − t1
t2 − t1
Проверим, является ли единица алгебраической степенью точности для построенной квадратурной формулы
Z b−a
µ1 − µ0 t1
f (t)
µ t − µ1
√ dt = 0 2
f (t1 ) +
f (t2 ) + R2 (f ).
(24)
t
−
t
t2 − t1
t
2
1
0
Для этого вычислим
Z
b−a
t2
µ t − µ1 2 µ1 − µ0 t1 2
√ dt − 0 2
t −
t =
t2 − t1 1
t2 − t1 2
t
0
= µ2 − µ1 (t1 + t2 ) + µ0 t1 t2 .
R2 (t2 ) =
Если R2 (t2 ) 6= 0, для выбранных t1 и t2 , то это и доказывает тот факт, что алгебраическая степень
точности квадратурной формулы (24) не больше единицы.
Особое место в теории интерполяционных квадратурных формул занимают интерполяционные
квадратурные формулы с равноотстоящими узлами - квадратурные формулы типа Ньютона-Котеса.
5
3
Квадратурные формулы типа Гаусса.
Следующий тип квадратурных формул (6) характеризуется тем, что коэффициенты Ak и узлы xk
выбираются таким образом, чтобы квадратурная формула (6) была точна для всех алгебраических многочленов степени 2n − 1 (точна для степеней x от нулевой до 2n − 1 ):
Z b
n
X
Ak xm
m = 0, 1, . . . , 2n − 1.
(25)
p(x)xm dx =
k ,
a
k=1
Определение 7
Функции f (x), ϕ(x) - ортогональны на [a, b] с весом p(x), если
Z
b
p(x)f (x)ϕ(x) dx = 0.
(26)
a
Ниже приведем основное утверждение, позволяющее конструктивно решить задачу о построении квадратурных формул (6) наивысшей алгебраической степени точности(формул типа Гаусса).
Теорема
Для того, чтобы квадратурная формула (6) была точной для алгебраических
многочленов степени 2n − 1, необходимо и достаточно выполнение условий:
• формула (6) должна быть интерполяционной;
• узлы xi формулы (6) должны быть такими, чтобы узловой многочлен
ω() = (x − x1 )(x − x2 ) . . . (x − xn ) = xn + an−1 xn−1 + an−2 xn−2 + . . . + a0
был ортогонален с весом p(x) ко всякому многочлену Q(x) степени
меньше n.
При этом
• корни многочлена ω(x) все лежат внутри [a, b] и различны между собой;
• коэффициенты квадратурной формулы Ak > 0,
k = 1, n,
• квадратурная формула типа Гаусса не может быть верной для всех многочленов степени 2n;
• если f (x) ∈ C (2n) (a, b) , то существует точка η ∈ (a, b) такая, что для методической погрешности
квадратурной формулы наивысшей алгебраической степени точности верно равенство:
Z b
1
Rn (f ) =
p(x)ω 2 (x)f (2n) (η) dx.
(2n)! a
Для функции f (x) ∈ C (2n) (a, b) и имеющей ограниченные по модулю |f (2n) (x)| ≤ M2n производные порядка 2n, верна оценка
Z
M2n b
|Rn (f )| ≤
|p(x)ω 2 (x)| dx.
(27)
(2n)! a
Алгоpитм постpоения квадpатуpных фоpмул типа Гаусса.
1. Вычислить моменты весовой функции p(x) :
Z b
µi =
p(x)xi dx;
i = 0, 1, . . . , 2n − 1;
(28)
a
2. pешить систему линейных алгебpаических уравнений:
n−1
X
ai µi+s = −µn+s ;
s = 0, 1, . . . , n − 1;
i=0
6
(29)
3. найти коpни xi , i = 1, 2, . . . , n узлового многочлена
ω(x) = xn + an−1 xn−1 + an−2 xn−2 + · · · + a1 x + a0 = 0,
(30)
являющиеся узлами квадpатуpной фоpмулы (6);
4. вычислить коэффициенты Ai , i = 1, 2, . . . , n, квадpатуpной фоpмулы (6), найдя pешение системы
алгебpаических уpавнений:
n−1
X
Ai xsi = µs ;
s = 0, 1, . . . , n − 1.
(31)
i=0
Пpимеp реализации алгоритма построения квадратурных формул типа Гаусса. Постpоить
двухточечную (n=2) квадpатуpную фоpмулу метода Гаусса вычисления интегpала вида:
Z
0
d
1
X
f (x)
√ dx ≈
Ai f (xi ).
x
i=0
1
В качестве весовой функции возьмем p(x) = √ и вычислим ее моменты µi =
x
1
2 3
2 5
2 7
2
2
2
2
µ0 = 2d ; µ1 = d ; µ2 = d ; µ3 = d .
3
5
7
Затем формируем систему линейных алгебраических уравнений
(32)
Z
0
d
xi
√ dx;
x
i = 0, 1, 2, 3.
a0 µ0 + a1 µ1 = −µ2 ,
a0 µ1 + a1 µ2 = −µ3 ,
для определения коэффициентов a1 , a0 узлового многочлена ω(x) = x2 + a1 x + a0 = (x − x0 )(x − x1 ).
µ0 µ3 − µ1 µ2
µ22 − µ1 µ3
Находим ее решение: a1 =
,
a
=
.
0
µ21 − µ0 µ2
µ21 − µ0 µ2
Далее, разрешая уравнение ω(x) = 0, находим корни x0 , x1 узлового многочлена, являющиеся узлами квадратурной формулы. Коэффициенты же квадратурной формулы являются решением системы
алгебраических уравнений
A0 + A1 = µ0 ,
A0 x0 + A1 x1 = µ1 .
4
Составные квадратурные формулы
Основная идея метода заключается в том, что для повышения точности интегрирования отрезок [a, b]
делят на несколько частей, применяют избранную квадратурную формулу к каждой отдельной части и
результаты складывают.
Для большинства квадратурных формул методическая погрешность Rn (f ) зависит от величины
отрезка интегрирования и может быть представлена в виде:
Rn (f ) = (b − a)s C(a, b),
(33)
где C(a, b) есть медленно меняющаяся функция от a, b и s. Эта зависимость показывает, что если
уменьшить отрезок интегрирования в k раз, то Rn (f ) уменьшится в k s раз.
Для вычисления интеграла по отрезку [a, b] разделим его на k равных частей и вычислим при помощи выбранной квадратурной формулы интегралы по всем частичным отрезкам. На каждом частичном
отрезке методическая погрешность будет в k s раз меньше, чем при применении квадратурной формулы
непосредственно ко всему интервалу [a, b]. При сложении всех таких интегралов получится результат,
погрешность которого будет в k s−1 раз меньше, чем погрешность (33), когда квадратурная формула
применяется для вычисления интеграла по всему отрезку [a, b].
Разобъем исходный интервал интегрирования на частичные отрезки:
[a, b] : a = z0 < z1 < z2 < . . . < zk = b.
7
В самом общем случае zi+1 − zi = Hi > 0 и Hi предполагаются различными.
Теперь применим на каждом из частичных отрезков [zi , zi+1 ] квадратурное правило ( в общем случае
свое ) для вычисления интеграла:
Z zi+1
ni
X
(34)
J (i) (f ) =
p(x)f (x) dx =
Aij f (xij ) + Rni (f ) = Sni i (f ) + Rni (f ), i = 0, k − 1.
zi
j=1
Просуммируем по i левые и правые части (34) :
Z
b
J(f ) =
p(x)f (x) dx =
a
≈
ni
k−1
XX
k−1
X
J (i) =
i=0
Aij f (xij ) =
i=0 j=1
k−1
X Z zi+1
i=0
k−1
X
p(x)f (x) dx ≈
zi
Sni i (f ) = SN (f ),
N=
i=0
RN = J(f ) − SN (f ) =
k−1
X
Rni (f ),
k−1
X
ni ;
(35)
i=0
Rni (f ) = J i (f ) − Sni i (f ).
(36)
i=0
В качестве квадратурных формул (34) могут быть использованы квадратурные формулы всех рассмотренных типов (интерполяционные, типа Ньютона-Котеса, типа Гаусса и др.). В смешанном составе в
составной квадратурной формуле используется несколько типов, в однородном - только квадратурные
формулы одного типа.
То же самое можно сказать и о числе узлов квадратурной формулы, используемом на каждом из
частичных отрезков. Оно может зависеть от номера отрезка.
Пример построения составной квадратурной формулы «вариант Ньютона-Котеса» .
Разобъем интервал интегрирования [a, b] на k = 2m частичных отрезков, zi = a + iH, i = 0, k,
b−a
H=
и будем применять квадратурное правило на сдвоенном частичном отрезке [a + (2j − 2)H, a +
k
(2j)H], j = 1, m. В качестве квадратурного правила, реализуемого на каждом из сдвоенных частичных
отрезков, будем использовать малую интерполяционную трехточечную квадратурную формулу с равноотстоящими узлами:
Z z2j
f (x)
(j)
J (f ) =
dx ≈ Aj1 f (z2j−2 ) + Aj2 f (z2j−1 ) + Aj3 f (z2j ), j = 1, m.
(37)
α
z2j−2 (x − a)
Причем на каждом из сдвоенных частичных отрезках пересчитываем моменты весовой функции
Z z2j
xs
j
µs =
dx,
α < 1, s = 0, 2.
α
z2j−2 (x − a)
Z
z2j
Z
z2j−2
z2j
Z
z2j−2
z2j
µj0 =
µj1 =
µj2 =
z2j−2
£
¤
1
1
dx =
(z2j − a)1−α − (z2j−2 − a)1−α ,
α
(x − a)
(1 − α)
£
¤
x
1
dx =
(z2j − a)2−α − (z2j−2 − a)2−α + aµj0 ,
α
(x − a)
(2 − α)
£
¤
x2
1
dx =
(z2j − a)3−α − (z2j−2 − a)3−α + 2aµj1 − a2 µj0
(x − a)α
(3 − α)
и определяем коэффициенты квадратурной формулы Aj1 , Aj2 , Aj3 :
Aj1 =
µj2 − µj1 (z2j−1 + z2j ) + µj0 z2j−1 z2j
,
(z2j−1 − z2j−2 )(z2j − z2j−2 )
Aj2 =
−µj2 + µj1 (z2j−2 + z2j ) − µj0 z2j−2 z2j
,
(z2j−1 − z2j−2 )(z2j − z2j−1 )
Aj3 =
µj2 − µj1 (z2j−2 + z2j−1 ) + µj0 z2j−21 z2j−1
.
(z2j − z2j−1 )(z2j − z2j−2 )
8
Просуммировав по всем сдвоенным частичным отрезкам [a, a + 2H],
составную квадратурную формулу (вариант Ньютона-Котеса)
Z
b
a
[a + 2H, a + 4H], . . . , выпишем
f (x)
dx ≈ A11 f (z0 ) + A12 f (z1 ) + A13 f (z2 ) + A21 f (z2 ) + A22 f (z3 ) + A23 f (z4 ) + . . .
(x − a)α
m
m
. . . + Am−1
f (z2m−4 ) + Am−1
f (z2m−3 ) + Am−1
f (z2m−2 ) + Am
1 f (z2m−2 ) + A2 f (z2m−1 ) + A3 f (z2m ) =
1
2
3
= A11 f (z0 ) + Am
3 f (zk ) +
m
X
Aj2 f (z2j−1 ) +
m−1
X
j=1
5
(Aj3 + Aj+1
1 )f (z2j ).
(38)
j=1
Практические способы оценки погрешности составных квадратурных формул
Для представления погрешности составной квадратурной формулы (36) (в частности (38)) для широкого
класса функций f (·) можно написать:
Rk (f ) = Cm H m + o(H m ).
(39)
где m - натуральное число, Cm = Cm (f ) - некоторая константа, зависящая лишь от f (·) и типа фор4
)
мулы, но не зависящая от H, o(H
H 4 → 0, H → 0. Формула (39) дает асимптотическое представление
(разложение) погрешности (36) по параметру H - шагу равномерного разбиения интервала интегрирования. Она справедлива, в частности, когда малые квадратурные формулы (34) имеют алгебраическую
степень точности m − 1, а функция f (·) - непрерывную (интегрируемую) на [a, b] производную f m (·).
Практическая оценка константы Cm проводится следующим образом. Фиксируем два значения шага
разбиения – H1 = H и H2 = H/L, L > 1, и проводим расчеты на двух равномерных сетках с шагом
H1 и H2 соответственно по исследуемой квадратурной формуле. Предполагаем, что для ее методической
погрешности верно аcимптотическое разложение (39), т.е.
(H1 )
Rk
(H1 )
(f ) = J(f ) − Sk
= Cm H1m + O(H1m ) = Cm H m + o(H m )
(40)
и
µ
(H )
Rk 2 (f )
= J(f ) −
(H )
Sk 2
=
Cm H2m
+
o(H2m )
= Cm
H
L
¶m
µ
+o
Исключая из (40), (41) неизвестное значение интеграла J, найдем
µ
µ ¶m ¶
H
(H )
(H )
+ o(H m )
Sk 2 − Sk 1 = Cm H m −
L
H
L
¶m
.
(41)
(42)
а отсюда
(H )
Cm =
(H )
Sk 2 − Sk 1
o(H m )
+
.
H m (1 − L−m )
Hm
(43)
Подставляя это выражение для Cm в равенства (40), (41) и отбрасывая бесконечно малые o(H m ),
(H )
(H )
найдем приближенные представления погрешностей Rk 1 , Rk 2 составной квадратурной формулы на
двух равномерных сетках :
(H1 )
Rk
(H2 )
Rk
(H2 )
(H1 )
≈
Sk
(H2 )
≈
Sk
(f ) = J(f ) − Sk
(f ) = J(f ) − Sk
(H1 )
− Sk
1 − L−m
(H2 )
(44)
(H1 )
− Sk
m
L −1
.
(45)
Этот способ оценивания методической погрешности называется правилом Рунге. Так при L = 2, т.е.
(H )
шаг дробления уменьшается в два раза, погрешность составной квадратурной формулы Rk 2 (f ) с шагом
(H )
H2 меньше погрешности Rk 1 (f ) составной квадратурной формулы с шагом H1 почти в 2m раз.
9
Используя правило Рунге, можно решить вопрос о нахождении оптимального шага разбиения Ho
интервала интегрирования, обеспечивающего (в первом приближении) вычисление интеграла с заданной
точностью ε.
¯
¯
¯ (H2 )
(H ) ¯
Sk
− Sk 1 ¯
¯
(H )
ε = |Rk o (f )| ≈ |Cm Hom | =
H m,
(46)
H m (1 − L−m ) o
а отсюда и получаем порядок оптимального шага разбиения

−m
 m1
ε(1 − L ) 
¯
Ho ≈ H  ¯¯
(H )
(H ) ¯
¯S k 2 − S k 1 ¯
.
(47)
Можно повысить точность оценки погрешности, если рассматривать асимптотическое представление ее в
виде
Rk (f ) = J − SkH (f ) = Cm H m + Cm+1 H m+1 + . . . + Cm+r H m+r + o(H m+r ) =
r
X
=
Cm+i H m+i + o(H m+r ).
(48)
i=0
Полагая в (48) H = H1 , H2 , . . . , Hr+2 получим систему линейных алгебраических уравнений относительно
J, Cm , . . . , Cm+r . Решив ее, получим оценку (48) более точную, чем (39).
Этот подход к оценке методичеcкой погрешности называется методом Ричардсона.
Метод расчета на нескольких сетках применяется для повышения порядка точности даже в том случае,
когда неизвестен порядок главного члена погрешности.
Процесс Эйткена. Проводим вычисления на трех сетках: H1 , H2 = H1 /l, H3 = H2 /l = H1 /l2 , 0 <
l < 1. Тогда коэффициент при главном члене погрешности может быть вычислен
(H1 )
Cm =
Sk
(H )
Sk 2
(H2 )
− Sk
−
(H )
Sk 3
≈
H1m − H2m
= lm ,
H2m − H3m
(49)
а отсюда
m≈
ln Cm
.
ln l
(50)
Необходимо помнить, что все это справедливо лишь при достаточно малом H и при
соответствующей гладкости f (·).
Цель задания Убедиться в необходимости использования квадратурных формул для вычисления
«неберущихся» определенных интегралов. (решить поставленную задачу с использованием (3)).
Ознакомиться с двумя наиболее распространенными классами квадратурных формул (вариант «НьютонаКотеса», вариант «Гаусса» ) и с вычислением интегралов от разрывных функций.
Научиться управлять численным процессом с целью обеспечения заданной точности.
Содержание задания
Убедитесь в необходимости использования квадратурных формул для вычисления «неберущихся»
определенных интегралов (решить поставленную задачу с использованием (3)).
Для заданного набора значений параметров вычислить интеграл с заданной точностью по построенным
квадратурным формулам
Z
a
b
n−1
X
f (x)
dx
≈
Ai f (xi ).
α
β
(x − a) (b − x)
i=0
(51)
a+b
, x3 = b интерпо2
−α
−β
ляционную квадратурную формулу с весовой функцией p(x) = (x − a) (b − x) и конечными пределами
a и b максимально возможной алгебраической степени точности. Оценить методическую погрешность (17).
На базе построенной интерполяционной квадратурной формулы (малой) построить составную и, увеличивая число разбиенний на частичные отрезки k и оценивая ее остаточный член по Ричардсону, добиться
заданной точности ( ² = 10−6 ).
Вариант «Ньютона-Котеса». Построить (малую) трехточечную x1 = a, x2 =
10
Вариант «Гаусса». Построить (малую) трехточечную квадратурную формулу типа Гаусса с весовой
функцией p(x) = (x − a)−α (b − x)−β и конечными пределами a и b. Оценить методическую погрешность
(27). На базе построенной квадратурной формулы типа Гаусса (малой) построить составную и, увеличивая
число разбиенний на частичные отрезки k и оценивая ее остаточный член по Ричардсону, добится заданной
точности ( ² = 10−6 ).
Варианты задания
1
; β = 0; f (x) = 2 cos (2.5x)ex/3 + 4 sin (3.5x)e−3x + x;
3
1
2)a = 1.7; b = 3.2; α = 0; β = ; f (x) = 3 cos (0.5x)ex/4 + 5 sin (2.5x)e−x/3 + 2x;
4
1
3)a = 0.1; b = 2.3; α = ; β = 0; f (x) = 2.5 cos (2x)e(2x)/3 + 4 sin (3.5x)e−3x + 3x;
5
1
4)a = 1; b = 3; α = 0; β = ; f (x) = 3 cos (3.5x)e(4x)/3 + 2 sin (3.5x)e−(2x)/3 + 4x;
6
2
5)a = 2.5; b = 4.3; α = ; β = 0; f (x) = cos (1.5x)e(2x)/3 + 3 sin (5.5x)e−2x + 2;
7
5
6)a = 1.3; b = 2.2; α = 0; β = ; f (x) = 4 cos (0.5x)e−(5x)/4 + 2 sin (4.5x)ex/8 + 2;
6
2
7)a = 2.1; b = 3.3; α = ; β = 0; f (x) = 4.5 cos (7x)e−(2x)/3 + 1.4 sin (1.5x)e−x/3 + 3;
5
3
8)a = 1.8; b = 2.3; α = 0; β = ; f (x) = 3.7 cos (1.5x)e−(4x)/3 + 2.4 sin (4.5x)e(2x)/3 + 4;
5
2
9)a = 2.5; b = 3.3; α = ; β = 0; f (x) = 3 cos (1.5x)ex/4 + 4 sin (3.5x)e−3x + 4x;
3
1
10)a = 0.7; b = 3.2; α = 0; β = ; f (x) = 1.3 cos (3.5x)e(2x)/3 + 6 sin (4.5x)e−x/8 + 5x;
4
2
11)a = 1.1; b = 2.5; α = ; β = 0; f (x) = 0.5 cos (2x)e(2x)/5 + 2.4 sin (1.5x)e−6x + 6x;
5
4
12)a = 1.8; b = 2.9; α = 0; β = ; f (x) = 4 cos (2.5x)e(4x)/7 + 2.5 sin (5.5x)e−(3x)/5 + 4.3x;
7
1
13)a = 1.5; b = 2.3; α = ; β = 0; f (x) = 2 cos (3.5x)e(5x)/3 + 3 sin (1.5x)e−4x + 3;
5
2
14)a = 2.3; b = 2.9; α = 0; β = ; f (x) = 3 cos (2.5x)e(7x)/4 + 5 sin (0.5x)e(3x)/8 + 4;
5
4
15)a = 1.1; b = 2.3; α = ; β = 0; f (x) = 3.5 cos (0.7x)e−(5x)/3 + 2.4 sin (5.5x)e−(3x)/4 + 5;
5
3
16)a = 2.8; b = 4.3; α = 0; β = ; f (x) = 2.7 cos (3.5x)e−(7x)/3 + 4.4 sin (2.5x)e(5x)/3 + 2;
7
2
17)a = 3.5; b = 3.7; α = ; β = 0; f (x) = 6 cos (1.5x)e(5x)/3 + 2 sin (0.5x)e−1.3x + 5.4x;
3
3
18)a = 2.7; b = 3.2; α = 0; β = ; f (x) = 4 cos (2.5x)e(5x)/4 + 2.5 sin (1.5x)e−(2x)/7 + 5x;
4
2
19)a = 1.1; b = 2.3; α = ; β = 0; f (x) = 0.5 cos (3x)e(2x)/5 + 4 sin (3.5x)e−3x + 3x;
5
5
20)a = 1.5; b = 3; α = 0; β = ; f (x) = 1.5 cos (3.7x)e(4x)/7 + 3 sin (2.5x)e(3x)/4 + 3x;
6
2
21)a = 2.5; b = 4.3; α = ; β = 0; f (x) = 3 cos (2.5x)e(4x)/3 + 4 sin (5.5x)e−3.5x + 3;
7
3
22)a = 0.5; b = 2.2; α = 0; β = ; f (x) = 5 cos (0.3x)e−(7x)/4 + 7 sin (0.5x)e(2x)/3 + 4;
5
3
23)a = 0.2; b = 3.1; α = ; β = 0; f (x) = 2.5 cos (5.7x)e−(4x)/3 + 2.4 sin (2.5x)e−(3x)/3 + 7;
5
4
24)a = 0.8; b = 1.3; α = 0; β = ; f (x) = 5.7 cos (2.5x)e−(4x)/7 + 4.4 sin (4.3x)e(2x)/7 + 5.
7
1)a = 1.5; b = 3.3; α =
11
Download