ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 06.04.2021
Просмотров: 104
Скачиваний: 1
3.
Аппроксимация функций
3.1.
Постановка задачи
Пусть некоторая величина
y
является функцией аргумента
x
, но яв-
ная связь между
y
и
x
неизвестна (либо известная зависимость
y
=
f
(
x
)
слишком громоздка для численных расчетов). Допустим, что в результа-
те экспериментов получена таблица значений
{
x
i
, y
i
}
, требуется же по-
лучить значения
y
в других точках, отличных от узлов
x
i
. Эта проблема
решается в задаче о приближении (аппроксимации) функции: функцию
f
(
x
)
, явный вид которой неизвестен, требуется приближенно заменить
некоторой функцией
ϕ
(
x
)
(наз. аппроксимирующей), так чтобы откло-
нение от
f
(
x
)
в заданной области было наименьшим. Построенная таким
образом аппроксимация называется точечной (примеры: интерполирова-
ние, среднеквадратичное приближение и т.д.)
Одним из основных типов точечной аппроксимации является интер-
полирование: для заданной функции
f
(
x
)
строится интерполирующая
функция
ϕ
(
x
)
, принимающая в заданных точках
x
i
те же значения
y
i
,
что и функция
f
(
x
)
:
ϕ
(
x
i
) =
y
i
,
i
= 0
,
1
, ... , n
(1)
причем
x
i
6
=
x
k
при
i
6
=
k
,
x
i
– узлы интерполяции.
Интерполирующая функция может строиться сразу для всего рас-
сматриваемого интервала
x
– глобальная интерполяция, или отдельно
для разных частей этого интервала – кусочная (локальная) интерполя-
ция. Если полученная функция
ϕ
(
x
)
применяется для нахождения значе-
ния функции
f
(
x
)
за пределами отрезка, содержащего узлы, то говорят
об экстраполяции.
Рассмотрим использование в качестве функции
ϕ
(
x
)
интерполяцион-
ного многочлена
ϕ
(
x
) =
P
m
(
x
) =
a
0
+
a
1
x
+
a
2
x
2
+
...
+
a
m
x
m
.
(2)
При глобальной интерполяции мы будем использовать все
n
+ 1
уравне-
ний системы (1), что позволяет найти
n
+1
коэффициент, откуда следует,
что максимальная степень интерполяционного многочлена –
m
=
n
:
P
n
(
x
) =
a
0
+
a
1
x
+
a
2
x
2
+
...
+
a
n
x
n
.
(3)
Подставляя (3) в (1) получаем:
a
0
+
a
1
x
0
+
a
2
x
2
0
...
+
a
n
x
n
0
=
y
0
a
0
+
a
1
x
1
+
a
2
x
2
1
...
+
a
n
x
n
1
=
y
1
...
(4)
a
0
+
a
1
x
n
+
a
2
x
2
n
...
+
a
n
x
n
n
=
y
n
(4) – система линейных алгебраических уравнений относительно неиз-
вестных коэффициентов
a
i
. Определитель такой системы отличен от ну-
ля, если среди узлов
x
i
нет совпадающих. Следовательно, в этом случае
система (4) имеет единственное решение. Решив систему (4), построим
интерполяционный многочлен. Такой метод построения носит название
метода неопределенных коэффициентов.
Недостатки метода:
– при большом количестве узлов получается высокая степень
многочлена,
– привязка к узлам интерполяции, которые, если они получены в резуль-
тате измерений, могут содержать случайные погрешности.
Другой способ – подбор наиболее простой аппроксимирующей функ-
ции, график которой проходит максимально близко от узлов.
Мера отклонения функции
ϕ
(
x
)
от заданной функции
f
(
x
)
:
S
=
n
X
i
=0
|
ϕ
(
x
i
)
−
y
i
|
2
.
(5)
Метод наименьших квадратов состоит в подборе аппроксимирующей функ-
ции так, чтобы
S
было наименьшим.
3.2.
Интерполирование
Рис. 1. КЛИ
Кусочно-линейная интерполяция
КЛИ состоит в том, что заданные точки
(
x
i
, y
i
)
соединяются прямолинейными отрезка-
ми, и функция
f
(
x
)
приближается ломанной с
вершинами в узлах. Всего имеется
n
интервалов
(
x
i
−
1
, x
i
)
, для каждого из них интерполяцион-
ным многочленом является уравнение прямой,
проходящей через две точки.
Например, для
i
-го интервала уравнение
прямой, проходящей через точки
(
x
i
−
1
, y
i
−
1
)
и
(
x
i
, y
i
)
имеет вид:
2
y
−
y
i
−
1
y
i
−
y
i
−
1
=
x
−
x
i
−
1
x
i
−
x
i
−
1
.
(6)
Отсюда находим
y
=
a
i
x
+
b
i
,
x
i
−
1
6
x
6
x
i
,
(7)
a
i
=
y
i
−
y
i
−
1
x
i
−
x
i
−
1
,
b
i
=
y
i
−
1
−
a
i
x
i
−
1
.
Многочлен Лагранжа
Будем строить интерполяционный многочлен, единый для всего отрезка
[
x
0
, x
n
]
, в виде линейной комбинации многочленов степени
n
L
(
x
) =
y
0
l
0
(
x
) +
y
1
l
1
(
x
) +
...
+
y
n
l
n
(
x
)
(8)
так, чтобы многочлены
l
i
(
x
)
обращались в нуль во всех узлах интерпо-
ляции, кроме
i
-го, где он должен равняться единице. Этим условиям
при
i
= 0
отвечает многочлен вида:
l
0
(
x
) =
(
x
−
x
1
)(
x
−
x
2
)(
x
−
x
3
)
...
(
x
−
x
n
)
(
x
0
−
x
1
)(
x
0
−
x
2
)(
x
0
−
x
3
)
...
(
x
0
−
x
n
)
.
(9)
Аналогично,
l
1
(
x
) =
(
x
−
x
0
)(
x
−
x
2
)(
x
−
x
3
)
...
(
x
−
x
n
)
(
x
1
−
x
0
)(
x
1
−
x
2
)(
x
1
−
x
3
)
...
(
x
1
−
x
n
)
,
l
2
(
x
) =
(
x
−
x
0
)(
x
−
x
1
)(
x
−
x
3
)
...
(
x
−
x
n
)
(
x
2
−
x
0
)(
x
2
−
x
1
)(
x
2
−
x
3
)
...
(
x
2
−
x
n
)
,
...
(10)
l
i
(
x
) =
(
x
−
x
0
)
...
(
x
−
x
i
−
1
)(
x
−
x
i
+1
)
...
(
x
−
x
n
)
(
x
i
−
x
0
)
...
(
x
i
−
x
i
−
1
)(
x
i
−
x
i
+1
)
...
(
x
i
−
x
n
)
,
...
l
n
(
x
) =
(
x
−
x
0
)(
x
−
x
1
)(
x
−
x
2
)
...
(
x
−
x
n
−
1
)
(
x
n
−
x
0
)(
x
n
−
x
1
)(
x
n
−
x
2
)
...
(
x
n
−
x
n
−
1
)
.
Подставляя (9),(10) в (8) получаем интерполяционный многочлен Лагран-
жа:
L
(
x
) =
n
X
i
=0
y
i
(
x
−
x
0
)
...
(
x
−
x
i
−
1
)(
x
−
x
i
+1
)
...
(
x
−
x
n
)
(
x
i
−
x
0
)
...
(
x
i
−
x
i
−
1
)(
x
i
−
x
i
+1
)
...
(
x
i
−
x
n
)
.
(11)
3
Единственность найденного решения следует из единственности решения
системы (4). Если положить
n
= 1
в (11), то получим рассмотренный
ранее случай линейной интерполяции, при
n
= 2
– случай квадратичной
интерполяции
L
(
x
) =
(
x
−
x
1
)(
x
−
x
2
)
(
x
0
−
x
1
)(
x
0
−
x
2
)
y
0
+
(
x
−
x
0
)(
x
−
x
2
)
(
x
1
−
x
0
)(
x
1
−
x
2
)
y
1
+
+
(
x
−
x
0
)(
x
−
x
1
)
(
x
2
−
x
0
)(
x
2
−
x
1
)
y
2
.
(12)
Многочлен Ньютона
При построении интерполяционного многочлена Лагранжа не накла-
дывалось никакого требования на распределение узлов интерполяции.
Рассмотрим случай равноотстоящих по оси
x
узлов интерполяции. Вве-
дем
h
=
x
i
−
x
i
−
1
– шаг интерполяции,
h
=
const
.
Конечные разности
Разности первого порядка (первые разности):
∆
y
0
=
y
1
−
y
0
=
f
(
x
0
+
h
)
−
f
(
x
0
)
,
∆
y
1
=
y
2
−
y
1
=
f
(
x
0
+ 2
h
)
−
f
(
x
0
+
h
)
,
...
∆
y
n
−
1
=
y
n
−
y
n
−
1
=
f
(
x
0
+
nh
)
−
f
(
x
0
+ (
n
−
1)
h
)
.
Разности второго порядка (вторые разности):
∆
2
y
0
= ∆
y
1
−
∆
y
0
,
∆
2
y
1
= ∆
y
2
−
∆
y
1
,
Разности порядка
k
:
∆
k
y
i
= ∆
k
−
1
y
i
+1
−
∆
k
−
1
y
i
,
i
= 0
,
1
, ..., n
−
1
.
Конечные разности выражаются через значения функции
∆
2
y
0
= ∆
y
1
−
∆
y
0
= (
y
2
−
y
1
)
−
(
y
1
−
y
0
) =
y
2
−
2
y
1
+
y
0
,
∆
3
y
0
= ∆
2
y
1
−
∆
2
y
0
=
...
=
y
3
−
3
y
2
+ 3
y
1
−
y
0
.
В общем случае
∆
k
y
i
=
k
X
j
=0
(
−
1)
j
C
j
k
y
i
+
k
−
j
,
(13)
4
C
j
k
=
k
!
j
!(
k
−
j
)!
.
Интерполяционный многочлен Ньютона будем искать в следующем
виде:
N
(
x
) =
a
0
+
a
1
(
x
−
x
0
) +
a
2
(
x
−
x
0
)(
x
−
x
1
) +
...
+
+
a
n
(
x
−
x
0
)(
x
−
x
1
)
...
(
x
−
x
n
−
1
)
.
(14)
График многочлена должен проходить через заданные узлы, то есть
N
(
x
i
) =
y
i
i
= 0
,
1
, ..., n
. Для нахождения коэффициентов многочлена
получаем систему
N
(
x
0
) =
a
0
=
y
0
,
N
(
x
1
) =
a
0
+
a
1
(
x
1
−
x
0
) =
a
0
+
a
1
h
=
y
1
,
N
(
x
2
) =
a
0
+
a
1
(
x
2
−
x
0
) +
a
2
(
x
2
−
x
0
)(
x
2
−
x
1
) =
=
a
0
+ 2
a
1
h
+ 2
a
2
h
2
=
y
2
,
...
Отсюда находим коэффициенты
a
i
:
a
0
=
y
0
,
a
1
=
y
1
−
a
0
h
=
y
1
−
y
0
h
=
∆
y
0
h
,
a
2
=
y
2
−
a
0
−
2
a
1
h
2
h
2
=
y
2
−
a
0
−
2∆
y
0
2
h
2
=
∆
2
y
0
2
h
2
,
...
a
k
=
∆
k
y
0
k
!
h
k
,
k
= 0
,
1
,
2
, ..., n.
Подставляя в (14), получаем
N
(
x
) =
y
0
+
∆
y
0
h
(
x
−
x
0
) +
∆
2
y
0
2!
h
2
(
x
−
x
0
)(
x
−
x
1
) +
...
+
+
∆
n
y
0
n
!
h
n
(
x
−
x
0
)(
x
−
x
1
)
...
(
x
−
x
n
−
1
)
.
(15)
Если ввести переменную
t
=
x
−
x
0
h
, то
x
=
x
0
+
th,
x
−
x
1
h
=
x
−
x
0
−
h
h
=
t
−
1
,
x
−
x
2
h
=
t
−
2
,
...,
x
−
x
n
−
1
h
=
t
−
n
+ 1
.
5