- •Интерполяция и экстраполяция
- •Составители в.П. Житников, н.М. Шерыхалина, а.Р. Ураков
- •Содержание
- •Лабораторная работа №1 интерполяция функций
- •3. Вводная часть
- •4. Теоретические основы
- •4.1. Постановка задачи
- •4.2. Методы решения задачи
- •5. Методы оценки погрешности интерполяции
- •5.1. Оценка погрешности метода
- •5.2. Оценка погрешностей исходных данных и округления
- •6. Критерий качества оценки погрешности
- •7. Численный эксперимент. Применим этот способ оценки к конкретной задаче интерполяции. Пусть
- •8. Порядок решения задачи на эвм
- •9. Требования к отчету по лабораторной работе
- •10. Вопросы для самопроверки
- •Лабораторная работа №2 применение экстраполяции для ускорения сходимости последовательностей
- •1. Цель работы
- •2. Задачи работы
- •3. Вводная часть
- •4. Теоретические основы
- •4.1. Постановка задачи
- •4.2. Экстраполяция и оценка погрешности при известном порядке аппроксимации.
- •5. Верификация методов оценки погрешности. Повторная экстраполяция
- •5.1. Критерий качества оценки погрешности
- •5.2. Оценка погрешности методов повторной экстраполяции
- •6. Численный эксперимент
- •7. Порядок решения задачи на эвм
- •8. Требования к отчету по лабораторной работе
- •9. Вопросы для самопроверки
- •Лабораторная работа №3 экстраполяция при неизвестном порядке аппроксимации
- •1. Цель работы
- •2. Задачи работы
- •3. Вводная часть
- •4. Теоретические основы
- •4.1. Процесс Эйткена
- •5. Порядок решения задачи на эвм
- •6. Требования к отчету по лабораторной работе
- •7. Вопросы для самопроверки
6. Численный эксперимент
В табл. 2.1 представлены результаты расчетов сумм (2.2) при =1.1 для n=2k. Поскольку сумма этого ряда может быть вычислена независимо через интегралы [6]
,
этот пример взят в качестве тестового. (При =1.1 сумма ряда (2.1) zточн10.5844484649508098).
Для ряда (2.1) справедливо разложение
, (2.25)
где Bk – числа Бернулли.
Отметим, что
коэффициенты ci
при
не убывают при i,
что, тем не менее, не мешает проводить
весьма точные экстраполяции по n
при фиксированных i.
Будем считать известными показатели при n, и используем метод Ромберга для оценки погрешности частичных сумм.
Как видно из таблицы 2.1, погрешность znzточн вычисленных значений весьма велика (~3) даже для достаточно больших n. Оценка погрешности znzn* по формуле (2.6) при всех приведенных в таблице n вполне приемлема, а для n>500 совпадает с самой погрешностью с точностью не ниже 3-х десятичных знаков. Погрешность zn*zточн уточненных значений при увеличении n быстро уменьшается.
Отношение
погрешностей
,
характеризующее размытость оценок, не
превышает 0.3 и уменьшается в два раза
при удвоении n.
Погрешность zn**zточн
дважды экстраполированных значений
существенно меньше, чем погрешности
вычисленных чисел и результатов первой
экстраполяции.
В результате первая экстраполяция при N105 уменьшает погрешность результатов до 10-5, а вторая - до 10-10. Нетрудно подсчитать, что для получения такой точности путем прямого вычисления сумм потребуется более 1050 - 10100 слагаемых. На современном компьютере это заняло бы более 1030 лет.
Табл. 2.1
n |
znzточн |
znzn* |
zn*zточн |
|
zn**zточн |
|
2 |
-9.11 |
-6.49 |
-2.61100 |
2.8710-1 |
- |
- |
4 |
-8.60 |
-7.19 |
-1.40100 |
1.6310-1 |
-3.5010-1 |
2.4810-1 |
8 |
-8.07 |
-7.36 |
-7.0610-1 |
8.7510-2 |
-9.2510-2 |
1.3110-1 |
16 |
-7.55 |
-7.21 |
-3.4110-1 |
4.5210-2 |
-2.2410-2 |
6.5710-2 |
32 |
-7.06 |
-6.89 |
-1.6210-1 |
2.2910-2 |
-5.2910-3 |
3.2610-2 |
64 |
-6.59 |
-6.51 |
-7.6310-2 |
1.1510-2 |
-1.2310-3 |
1.6210-2 |
128 |
-6.15 |
-6.11 |
-3.5710-2 |
5.8110-3 |
-2.8910-4 |
8.0810-3 |
256 |
-5.74 |
-5.72 |
-1.6710-2 |
2.9110-3 |
-6.7410-5 |
4.0310-3 |
512 |
-5.35 |
-5.35 |
-7.8010-3 |
1.4510-3 |
-1.5710-5 |
2.0110-3 |
1024 |
-4.99 |
-4.99 |
-3.6410-3 |
7.2810-4 |
-3.6710-6 |
1.0010-3 |
2048 |
-4.66 |
-4.66 |
-1.7010-3 |
3.6410-4 |
-8.5610-7 |
5.0310-4 |
4096 |
-4.35 |
-4.35 |
-7.9310-4 |
1.8210-4 |
-1.9910-7 |
2.5110-4 |
8192 |
-4.06 |
-4.06 |
-3.7010-4 |
9.1110-5 |
-4.6510-8 |
1.2510-4 |
16384 |
-3.78 |
-3.78 |
-1.7210-4 |
4.5510-5 |
-1.0810-8 |
6.2910-5 |
32768 |
-3.53 |
-3.53 |
-8.0510-5 |
2.2710-5 |
-2.5310-9 |
3.1410-5 |
65536 |
-3.29 |
-3.29 |
-3.7510-5 |
1.1310-5 |
-5.9110-10 |
1.5710-5 |
131072 |
-3.07 |
-3.07 |
-1.7510-5 |
5.6910-6 |
-1.3710-10 |
7.8610-6 |
Результаты расчетов и оценок удобно представить в виде графика (рис. 2.1), где по оси абсцисс отложены десятичные логарифмы n, а по оси ординат – десятичные логарифмы абсолютных величин погрешностей (десятичные логарифмы более удобны с точки зрения наглядности, так как легко определяются порядки погрешностей и чисел n). В таком представлении зависимости близки к линейным.
На рис. 2.1 цифрой
0 обозначена зависимость погрешностей
znz
рассчитанных результатов, цифрами
(1)-(5) обозначены результаты
последовательного вычитания из znz
одного, двух и трех и т.д. слагаемых
согласно (2.25). Тем самым, рис. 2.1 есть
иллюстрация того, как должен работать
идеальный метод экстраполяции.
Ограничение графиков на уровне, соответствующем величине погрешности порядка нескольких единиц 17-го разряда объясняется ограниченной разрядностью чисел в машинном преставлении.
а) |
б) |
Рис. 2.1. Результаты «идеальной экстраполяции» а) – при удвоении числа слагаемых; б) – при увеличении числа слагаемых на единицу.
а) |
б) |
Рис. 2.2. Результаты экстраполяции данных, полученных при удвоении числа слагаемых, с помощью метода Ромберга: а) – сравнение с эталоном; б) – оценки по правилу Рунге.
На рис. 2.2а приведены результаты применения повторной экстраполяции по методу Ромберга (2.11) при Q=2. Цифрой 1 обозначена зависимость погрешностей результатов, экстраполированных один раз, цифрой 2 – два раза и т. д. Величина k1 при оценке равнялось 0.1 и далее при возрастании номера j значение kj увеличивалось на 1. Поскольку согласно (2.25) слагаемое с kj=3.1 отсутствует, прямые 3 и 4 совпадают. Из рисунка видно, что путем повторной экстраполяции получаются хотя и не идеальные, но весьма точные результаты. При этом наклон прямых на рис. 1а и 2а совпадает, однако прямые, полученные экстраполяцией, смещены вниз относительно идеальных. Это объясняется погрешностью экстраполяции, оценка которой дается формулой (2.22).
Примечание. Если точное значение искомой величины неизвестно (а это при практических расчетах так и есть), то в таблицах и графиках для сравнения вместо точного можно использовать наиболее точное, полученное на последнем этапе экстраполированное значение. Более того, графики зависимостей логарифма оценок погрешности по Рунге lgzn**zn* (рис. 2.2б) практически не отличаются от приведенных на рис. 2.2а. Тем не менее, имеет место разница (на один - два десятичных порядка) в величине предельного уровня погрешности округления, связанной с машинным представлением чисел.
Следует отметить, что разность между ординатами точек, соответствующих конкретному числу n, является десятичным логарифмом отношения погрешностей . Поэтому из графика следует, что относительная размытость полученных оценок весьма мала в области, где погрешность округления незначительна.
Если величина погрешности округления сравнима с погрешностью численного метода, то предположение о малости (n) в (2.4) теряет силу. Относительная размытость оценки погрешности в этом случае имеет значение около единицы и условие (2.16) не выполняется. Однако, погрешности аппроксимации, превышающие погрешность округления на один порядок или больше оцениваются весьма точно.
Для изучения возможности получения наибольшего уточнения результатов при малых n представляет интерес рассмотреть последовательность сумм, полученную при увеличении числа слагаемых на единицу. Для экстраполяции при этом необходимо численное решение системы линейных алгебраических уравнений типа (2.13). На рис. 2.3а представлены результаты такой экстраполяции расчетов сумм (2.2) при =1.1. Как видно из рисунка, таким способом возможно получение уточнения до 6 знаков при n=10 и до 9 знаков при n=20-30. При удвоении числа слагаемых при таких n получается только 2-4 верных знака. Однако дальнейшее уточнение при увеличении n на единицу невозможно из-за ошибки округления. В то же время при удвоении n ошибка округления не растет так быстро и позволяет при той же длине мантиссы (порядка 17 десятичных разрядов) уменьшить погрешность до 10-14 - 10-15 при n=1000-10000.
Как промежуточный вариант, возможно строить последовательность при увеличении числа слагаемых на некоторое постоянное число большее единицы. В качестве примера на рис. 2.3б приводятся результаты, полученные при увеличении n на 100. Видно, что таким способом можно получить 12 точных знаков при n1000.
Тем не менее, остается справедливым вывод о том, что удвоение числа слагаемых позволяет получить большую точность, но при больших n. При увеличении n на константу для увеличения точности необходимо увеличение длины мантиссы машинного слова.
а) |
б) |
Рис. 2.3. Результаты экстраполяции данных с помощью метода Ромберга при увеличении числа слагаемых на постоянную величину:
а) – на единицу; б) – на 100.
Таблица Нэвилла
(2.12), применяется для тех случаев, когда
показатели разложения (2.13) kj
увеличиваются пропорционально j,
т.е.
.
В этом случае обозначив t=n-a,
приходим к алгебраическому многочлену
или степенному ряду. Номера n
членов последовательности должны
увеличиваться на константу. Поэтому
рассмотрим следующий пример
(2.26)
Результаты применения экстраполяции с помощью таблицы Нэвилла к этой последовательности показаны на рис. 2.4а. Поскольку последовательность (2.26) представляет алгебраический многочлен относительно n-1, то результаты второй экстраполяции дают теоретически точное значение. Остаточная погрешность вызвана ошибкой округления.
Следует отметить следующую особенность методов экстраполяции, предназначенных для использования членов последовательностей, номера которых увеличиваются на константу. Если не рассматривать один или несколько первых членов последовательности и перенумеровать остальные, то результаты экстраполяции могут сильно измениться (рис. 2.4б).
а) |
б) |
Рис. 2.4. Результаты экстраполяции последовательности (2.26) с помощью таблицы Нэвилла, начинающейся: а) –с 1-го номера; б) – со 2-го номера.
В результате рассмотрения примеров можно сформулировать следующие выводы.
Применение рассмотренных методов экстраполяции обусловлено как видом анализируемых последовательностей, так и порядком номеров членов последовательности, берущихся в рассмотрение.
Повторная экстраполяция позволяет существенно уточнить результаты даже для медленно сходящихся последовательностей, однако этот процесс существенно ограничивается ошибками округления.
Процесс экстраполяции должен контролироваться критерием, выполнение которого позволяет в некотором смысле гарантировать справедливость результатов.
