ВУЗ:
Составители:
30
Задание 5.1
Вычислить значение интеграла (5.5) для
n
в диапазоне от 0 до 30 с помощью рекуррентной
формулы и с помощью адаптивной 3-узловой составной квадратуры Гаусса с абсолютной
точностью 10
-8
(предыдущее задание). Найти
n
, начиная с которого ошибка вычислений с
помощью рекуррентной формулы сравнима с самим значением интеграла.
Разберем подробно причины неустойчивости метода с рекуррентной формулой.
Уже на этапе введения
0
I
в компьютер вносится погрешность порядка
вычислительной
ε
. Обозначим
*
0
I
значение, записанное в компьютер и будем
отличать его от
0
I
.
ε
+=
0
*
0
II
(5.9)
Посмотрим, что происходит с начальной погрешностью при работе
рекуррентной формулы (5.7), допустив для простоты, что все арифметические
операции выполняются с бесконечной точностью:
( )
εε
⋅−=+⋅−= 111
10
*
1
III
( )
εε
⋅⋅+=⋅−⋅−= 21121
21
*
2
III
( )
εε
⋅⋅⋅−=⋅⋅+⋅−= 3212131
32
*
3
III
.
.
.
( )
ε
⋅−+= !1
*
nII
n
nn
(5.10)
Таким образом, погрешность нарастает как
!n
, что гарантированно «испортит»
решение для любого стандартного типа данных с плавающей точкой при
30=n
. В
решении Задания 13 можно видеть смену знака ошибки при увеличении
n
, как и
прогнозируется формулой (5.10).
Устойчивость может играть важную роль в численных методах, которые
содержат большое число однотипных вычислений.
Задание 5.1
Вычислить значение интеграла (5.5) для n в диапазоне от 0 до 30 с помощью рекуррентной
формулы и с помощью адаптивной 3-узловой составной квадратуры Гаусса с абсолютной
точностью 10-8 (предыдущее задание). Найти n , начиная с которого ошибка вычислений с
помощью рекуррентной формулы сравнима с самим значением интеграла.
Разберем подробно причины неустойчивости метода с рекуррентной формулой.
Уже на этапе введения I0 в компьютер вносится погрешность порядка
вычислительной ε . Обозначим I 0* значение, записанное в компьютер и будем
отличать его от I 0 .
I 0* = I 0 + ε (5.9)
Посмотрим, что происходит с начальной погрешностью при работе
рекуррентной формулы (5.7), допустив для простоты, что все арифметические
операции выполняются с бесконечной точностью:
I1* = 1 − 1 ⋅ (I 0 + ε ) = I1 − 1 ⋅ ε
I 2* = 1 − 2 ⋅ (I1 − 1 ⋅ ε ) = I 2 + 1 ⋅ 2 ⋅ ε
I 3* = 1 − 3 ⋅ (I 2 + 1 ⋅ 2 ⋅ ε ) = I 3 − 1 ⋅ 2 ⋅ 3 ⋅ ε
.
.
.
I n* = I n + (− 1) n!⋅ε
n
(5.10)
Таким образом, погрешность нарастает как n! , что гарантированно «испортит»
решение для любого стандартного типа данных с плавающей точкой при n = 30 . В
решении Задания 13 можно видеть смену знака ошибки при увеличении n , как и
прогнозируется формулой (5.10).
Устойчивость может играть важную роль в численных методах, которые
содержат большое число однотипных вычислений.
30
Страницы
- « первая
- ‹ предыдущая
- …
- 28
- 29
- 30
- 31
- 32
- …
- следующая ›
- последняя »
