Главная Учебники - Разные Лекции (разные) - часть 51
|
Содержание
Введение 1. Формула Лагранжа 2. Интерполирование по схеме Эйткена 3. Интерполяционные формулы Ньютона для равноотстоящих узлов 4. Формула Ньютона с разделенными разностями 5. Интерполяция сплайнами Заключение Список литературы Введение
Цель работы: изучение и сравнительный анализ методов интерполяции функций; реализация этих методов в виде машинных программ на языке высокого уровня и практическое решение задач интерполяции на ЭВМ. При разработке математического обеспечения САПР часто приходится иметь дело с функциями f
(x
), заданными в виде таблиц, когда известны некоторое конечное множество значений аргумента и соответствующие им значения функции. Аналитическое выражение функции f
(x
) при этом неизвестно, что не позволяет определять ее значения в промежуточных точках аргумента, отсутствующих в таблице. В таком случае решается задача интерполирования, которая формулируется следующим образом. На отрезке [a
, b
] заданы n
+ 1 точки x
0
, x
1
, ..., xn
, которые называются узлами интерполяции, и значения некоторой функции f
(x
) в этих точках f
(x
0
) =
y
0
,f
(x
1
) =
y
1
, ..., f
(x
n
) =
y
n
. Требуется построить интерполирующую функцию F
(x
), принимающую в узлах интерполяции те же значения, что и f
(x
), т.е. такую, что F
(x
0
) =
y
0
,F
(x
1
) =
y
1
, ...,F
(x
n
) =
yn
. Геометрически это означает, что нужно найти кривую y = F
(x
) некоторого определенного типа, проходящую через заданную систему точек Mi
(xi
, yi
) дляi
= В такой общей постановке задача интерполирования может иметь бесчисленное множество решений. Чтобы получить единственную функцию F
(x
), необходимо предположить, что эта функция не произвольная, а удовлетворяет некоторым дополнительным условиям. В простейшем случае предполагается, что зависимость y
= f
(x
) на каждом интервале (xi
, xi
+1
) является линейной. Тогда для каждого участка (xi
, xi
+1
) в качестве интерполяционной формулы y
=F
(x
) используется уравнение прямой, проходящей через точки Mi
(xi
, y
i
) и Mi
+1
(xi
+1
, y
i
+1
), которое имеет вид Припрограммировании процедур линейной интерполяции следует учитывать, что процесс решения задачи интерполирования с использованием формулы (1) включают два этапа: выбор интервала (xi
, xi
+1
), которому принадлежит значение аргумента х
; собственно вычисление значения y
=F
(x
) по формуле (1). На практике в качестве интерполирующей функции F
(x
) обычно используется алгебраический многочлен Pn
(x
) =
a
0
+
a
1
x
+
a
2
x
2
+ ... +an
xn
степени не выше n
, такой, что Pn
(x
0
) = y
0
,Pn
(x
1
) = y
1
,...,Pn
(xn
) = yn
. Наиболее известными методами построения интерполяционного многочлена Pn
(x
)являются метод Лагранжа, итерационные и разностные методы. 1. Формула Лагранжа
Интерполяционная формула Лагранжа обеспечивает построение алгебраического многочлена Pn
(x
) для произвольно заданных узлов интерполирования. Для n
+ 1 различных значений аргумента x
0
, x
1
, ..., xn
и соответствующих значений функции f
(x
0
) =
y
0
,f
(x
1
) =
y
1
, ..., f
(x
n
) =
y
n
интерполяционная формула Лагранжа имеет вид где х
- значение аргумента функции, расположенного в интервале [x
0
, xn
]. Необходимо отметить, что формула Лагранжа, в отличие от других интерполяционных формул, содержит явно yi
(i = Пример 1.
Построить интерполяционный многочлен Лагранжа для функции, заданной следующей таблицей. Заменив переменные xi
, yi
(i = Интерполирование по формуле Лагранжа связано с большим объемом вычислений, значительная часть которых повторяется при получении нескольких значений Pn
(x
) для одной функции f
(x
).
В том случае, когда формула Лагранжа используется для многократного получения значений одной функции при различных значениях аргумента, можно значительно уменьшить объем вычислений. Для этого формула Лагранжа представляется в виде Произведение элементовi
-й строки обозначается через Ki
. Отсюда лагранжевы коэффициенты вычисляются по формуле где Пn
+1
(x
) =
(x - x
0
)(x - x
1
)…(x - xn
) - произведение элементов главной диагонали таблицы (эти элементы подчеркнуты). Тогда формула Лагранжапринимает вид: Использование формулы (2) позволяет сократить значительную часть вычислений по определению лагранжевых коэффициентов Li
(n
)
(x
)при различных значениях аргумента. Для этого произведение элементов i
-й строки таблицы разностей представляется как Ki
= (x
– xi
)Di
, где Di
- произведение всех элементов строки, кроме расположенного на главной диагонали. Величина Di
(i= 2. Интерполирование по схеме Эйткена
Итерационные методы интерполирования основаны на повторном применении некоторой простой интерполяционной схемы. Наиболее известным из итерационных методов является метод Эйткена, в основе которого лежит многократное применение линейной интерполяции. В соответствии со схемой Эйткена линейная интерполяция по точкам Mi
(xi
, yi
) и Mi
+1
(xi
+1
, yi
+1
) сводится к вычислению определителя второго порядка При интерполировании по трем и более точкам последовательно вычисляются многочлены В общем случае интерполяционныймногочлен n
-й степени, принимающий в точках xi
значения yi
(i = (3) Основным достоинством схемы Эйткена является возможность постепенного увеличения числа используемых значений xi
до тех пор, пока последовательные значения P
0,1,2,…,n
(x
) и P
1,2,…,n
-1
(x
) не совпадут в пределах заданной точности. Иначе говоря, вычисления прекращаются при выполнении условия |P
0,1,2,…,
n
(x
) - P
1,2,…,
n
-1
(x
)| < e (k
£n
). При использовании ЭВМ вычисления по формуле (3) реализуются в виде рекурсивной подпрограммы - функции РХ(I, J) с формальными параметрами I, J, определяющими индексы крайних узлов интерполирования, которые используются для получения значения соответствующего многочлена Pi
,i
+1,…, j
(x
). Для хранения вычисленных значений P
(x
)используется двумерный массив M размером N*N элементов, где N -
максимальное число узлов интерполирования. Каждому возможному значению P
(x
) соответствует один из элементов M(I, J), расположенный выше главной диагонали (I < J) и определяемый сочетанием индексов крайних узлов интерполирования. Например, значению многочлена P
1,2
(x
) соответствует элемент M(1,2), значению P
2,3,4
(x
) - элемент M(2, 4) и т.д. Симметричные элементы M(J, I), расположенные ниже главной диагонали (J > I), показывают, вычислены ли соответствующие значения P
(x
) на данный момент, и определяются как Схема рекурсивной процедуры PX приведена на рис. 1, где Х- массив значений узлов интерполирования, Y- массив значений функциивузлах интерполирования, Z- значение аргумента. Параметры X, Y, Z, M должны быть описаны как общие для главной программы и подпрограммы PX. 3. Интерполяционные формулы Ньютона для равноотстоящих узлов Узлы интерполирования x
0
, x
1
, ..., xn
называются равноотстоящими, если Существуют две формулы Ньютона для случая равноотстоящих узлов интерполирования, которые называются соответственно первой и второй интерполяционными формулами Ньютона и имеют вид: В этих формулах Di
yj
- конечные разности, где i
- порядок разности, j
- ее порядковый номер, а параметры t
и q
определяются следующим образом: t
=
(x
-
x
0
) /
h
; q
=
(x
-
xn
) /
h
. Конечные разности первого порядка вычисляются как Dyj
= yj
+1
– yj
, где j
= Получаемые конечные разности удобно представлять в табличной форме записи, например, в виде табл. 1, которая называется горизонтальной таблицей конечных разностей. Пepвая формула Ньютона применяется для интерполирования вперед и экстраполирования назад, т.е. в начале таблицы разностей, где строки заполнены и имеется достаточное число конечных разностей. При использовании этой формулы для интерполирования значение аргумента x
должно лежать в интервале [x
0
, x
1
]. При этом за x
0
может приниматься любойузел интерполяции xk
с индексом Вторая формула Ньютона применяется для интерполирования назад и экстраполирования вперед, т.е. в конце таблицы конечных разностей. При этом значение аргумента x
должно находиться в интервале [xn
-1
, xn
], причем за xn
может приниматься любой узел интерполирования Одно из важнейших свойств конечных разностей заключается в следующем. Если конечные разности i
–го порядка (i < n
) постоянны, то функция представляет собой полином i
–й степени. Следовательно, формула Ньютона должна быть не выше i
-й степени. При использовании ЭВМ вычисление конечных разностей завершается при выполнении условий где L
- число значащих цифр после запятой в представлении значений функции. Необходимо отметить, что формулы Ньютона являются видоизменениямиформулы Лагранжа. Однако в формуле Лагранжа нельзя пренебречь ни одним из слагаемых, так как все они равноправны и представляют многочлены n
-й степени. В формулы Ньютона в качестве слагаемых входят многочлены повышающихся степеней, коэффициентами при которых служат конечные разности, разделенные на факториалы. Конечные разности, как правило, быстро уменьшаются, что позволяет в формулах Ньютона пренебречь слагаемыми, коэффициенты при которых становятся малыми. Это обеспечивает вычисление промежуточных значений функции достаточно точно спомощью простых интерполяционных формул. 4. Формула Ньютона с разделенными разностями
Первая и вторая формулы Ньютона предполагают, что узлы интерполирования являются равноотстоящими. Однако, в общем случае функция f
(x
) может быть задана таблицей, в которой узлы находятся на произвольном расстоянии друг от друга При таких условиях первая и вторая интерполяционные формулы Ньютона неприменимы. В данном случае, для решения задачи интерполяции применяются не конечные, а разделенные разности. Разделенная разность первого порядка определяется: Для вычисления разделенных разностей высших порядков используется формула: Разделенные разности удобно представлять диагональной таблицей, вид которой для n
= 4 соответствует табл. 2. Таблица 2 где Представленная формула позволяет повышать точность вычислений постепенно, добавляя разделенные разности более высоких порядков. Следует отметить, что при этом все полученные результаты сохраняются, т.е. не вычисляются заново, а только наращиваются. Это следует из соотношения Оценка погрешности интерполирования выполняется по формуле 5. Интерполяция сплайнами
Пусть задана таблица значений функции f
(xi
) = yi
( на каждом интервале интерполирования [xi
-1
, xi
], Таким образом, необходимо определить 4n
коэффициентов aij
( 1. Условия непрерывности функции: 2. Условия непрерывности 1-х и 2-х производных функции: 3. Граничные условия: Часто используются граничные условия вида Задача определения кубического сплайна существенно упрощается при использовании многочлена Эрмита. Кубический многочлен Эрмита на интервале [xi-
1
, xi
] определяется с помощью значений функции yi
-1
, yi
и ее производных y
¢i
-1
, y
¢i
. Так как значения производных в общем случае могут быть неизвестны, обозначим их как y
¢i
-1
= Si
-1
; y
¢i
= Si
. При построении сплайна переменные S
i
называются наклонами сплайна в соответствующих точках xi
. Запишем многочлен Эрмита для интервала [xi-
1
, xi
], где hi
= xi
- xi-
1
: При таком выборе кубического многочлена автоматически выполняются условия непрерывности функции и ее первых производных: Чтобы определить сплайн, нужно задать условия непрерывности второй производной: Для записи этих условий в развернутом виде определим кубический многочлен Эрмита на интервале [xi
, xi
+1
], где hi
+1
= xi
+1
- xi
: Определим вторые производные многочленов Qi
(x
) и Qi
+1
(x
) в точке x
= xi
: Отсюда условие непрерывности вторых производных имеет вид: Это условие порождает систему линейных уравнений относительно наклонов сплайна Si
, которая содержит n
- 1 уравнение и n
+ 1 переменную. Чтобы определить два недостающих уравнения используются граничные условия. Например, для естественного кубического сплайна: Указанные граничные условия могут быть получены из уравнения (5) для i
= 0 и из уравнения (4) для i
= n
соответственно. В развернутом виде: Решение системы линейных уравнений, образованной условиями (6) и (7), позволяет вычислить наклоны сплайна Si
(i
= Заключение
В вычислительной математике существенную роль играет интерполяция функций, т.е. построение по заданной функции другой (как правило, более простой), значения которой совпадают со значениями заданной функции в некотором числе точек. Причем интерполяция имеет как практическое, так и теоретическое значение. На практике часто возникает задача о восстановлении непрерывной функции по ее табличным значениям, например полученным в ходе некоторого эксперимента. Для вычисления многих функций оказывается эффективно приблизить их полиномами или дробно-рациональными функциями. Теория интерполирования используется при построении и исследовании квадратурных формул для численного интегрирования, для получения методов решения дифференциальных и интегральных уравнений. Список литературы
1. В.В. Иванов. Методы вычислений на ЭВМ. Справочное пособие. Изд-во "Наукова думка". Киев. 1986. 2. Н.С. Бахвалов, Н.П. Жидков, Г.М. Кобельков. Численные методы. Изд-во "Лаборатория базовых знаний". 2003. 3. И.С. Березин, Н.П. Жидков. Методы вычислений. Изд. ФизМатЛит. Москва. 1962. 4. К. Де Бор. Практическое руководство по сплайнам. Изд-во "Радио и связь". Москва. 1985.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||