Файл: Эксперименты лаба4,5(2курс).pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 06.04.2021

Просмотров: 104

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

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)


background image

Подставляя (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


background image

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


background image

Единственность найденного решения следует из единственности решения
системы (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


background image

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