Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

теория 1к 2с / Приближение функции - практика

.pdf
Скачиваний:
7
Добавлен:
20.06.2023
Размер:
380.78 Кб
Скачать
x0, x1, x2, …, xn

Приближение функции.

Для заданных значениях независимой переменной xi и соответствующих им

значениях зависимой переменной yi (i=0,1,2,…,n) определить аналитическую

зависимость. y=f(x)

Основные этапы при приближение функции.

.

Выбор вида зависимости

Выбор критерия

Выбор узловых точек

Оценка точности

Интерполяция.

Определение аналитической зависимости функции, между x и y в виде некоторой функции f(x), которая в узловых точках принимает заданные значения.

f(xi)=yi, где i=0,1,2,…,n .

Интерполяция используется для замены реальной сложной функции более простой на небольшом интервале области определения функции, а также для вычислений промежуточных значений функции заданной таблично.

Метод с использование многочлена Лагранжа.

Пусть в n+1 узловой точке определены значения y0, y1, y2, …, yn. Требуется построить многочлен L(x) степени не выше n, который принимает в узловых

точках заданные значения, т.е. L(x0)=y0, L(x1)=y1, L(x2)=y2, …, L(xn)=yn.

1

Рассмотрим многочлен вида

 

(x) с

(x x

0

)(x x

)...(x x

i 1

)(x x

i 1

)...(x x

n 1

)(x x

n

)

(1)

i

i

 

1

 

 

 

 

 

 

где i = 0,1,2,3,…….,n, который только в точке xi принимает значение yi , а в остальных

равен нулю.

 

 

(x

 

yi при i j

j 0,1,2, , n

i

j

)

при i j

 

 

0

 

 

 

 

 

 

 

 

из этого условия можно определить ci:

i (xi ) ci (xi x0 )(xi x1)...(xi xi 1)(xi xi 1)...(xi xn 1)(xi xn ) yi

 

 

с

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(x

 

 

x

 

)(x

 

 

x

 

)...(x

 

x

 

)(x

 

x

 

)...(x

 

x

 

 

)(x

 

x

 

)

 

 

 

 

 

 

 

i

0

i

 

1

i

i 1

i

i 1

i

n 1

i

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

и тогда многочлен (1) примет вид:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(x) y

 

 

(x x

0

)(x x

1

)...(x x

i 1

)(x x

i 1

)...(x x

n 1

)(x x

n

)

 

(2)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

i

 

x

 

 

 

 

 

 

x

 

 

 

 

 

 

x

 

 

 

 

 

x

 

 

 

 

 

 

x

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

)(x

 

 

)...(x

 

 

 

 

)(x

 

 

 

)...(x

 

 

 

 

)(x

 

 

)

 

 

 

 

 

 

 

(x

i

0

i

1

i

i 1

i

i 1

i

n

1

i

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Многочлен, который в n+1 узловой точке будет принимать заданные значения, можно представить как сумму многочленов вида (2).

 

n

 

L(x) i (x)

 

i 0

n

(x x0 )(x x1 )...(x xi 1 )(x xi 1 )...(x x n 1 )(x x n )

L(x) yi

 

2

 

i 0

(xi x0 )(xi x1 )...(xi xi 1 )(xi xi 1 )...(xi x n 1 )(xi x n )

 

Пример. По заданным точкам

 

 

 

 

 

 

 

i

0

1

2

 

 

 

 

 

 

 

 

xi

-1.000

0.000

1.000

 

 

yi

1.0000

0.0000

1.0000

 

Определить интерполяционный многочлен L(x).

 

 

(x) y

 

(x x

1

)(x x

2

)

1

(x 0)(x 1)

 

1

x

2

 

1

x

0

0

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

x

 

( 1 0)( 1 1)

 

 

 

 

 

(x

 

 

)(x

 

 

)

 

2

 

 

 

2

 

 

 

 

 

0

1

0

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(x) y

(x x0 )(x x 2 )

0

(x 1)(x 1)

0

 

 

 

 

1

1 (x1 x0 )(x1 x 2 )

 

(0 1)(0 1)

 

 

 

(x) y

 

(x x

0

)(x x

1

)

1

(x 1)(x 0)

 

1

x

2

 

1

x

 

 

 

 

 

 

 

 

 

 

 

 

 

2

2

(x

 

x

 

)(x

 

x

 

(1 1)(1 0)

 

 

 

 

 

 

 

 

 

)

 

2

 

 

 

2

 

 

 

 

 

2

0

2

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

L(x)=x2

3

Begin

lagrange(x,y,xz)

x,y,xz

yz=lagrange(x,y,xz)

yz

End

function yr=lagrange(x,y,xz)

nz=length(xz)

n=length(x)

i=1 шаг 1 до nz

yr(i)=0

k=1 шаг 1 до n

pr=1

1 до n

End

yr(i)=yr(i)+pr*y(k)

pr=pr*(xz(i)-x(j))/(x(k)-x(j))

4

Аппроксимация.

Метод наименьших квадратов

Пусть данные некоторого эксперимента представлены в виде таблицы значений независимой переменной x и зависимой переменной y:

i xi yi

0 x 0 y0

1 x1 y1

2 x 2 y2

n x n yn

Требуется отыскать аналитическую зависимость f(x,a0,a1,…,am), являющуюся функцией одной независимой переменной x и параметров a0,a1,a2,…,am, которая наилучшим образом описывала бы эти экспериментальные данные в смысле минимума квадратичного критерия рассогласования R(a0,a1,…,am):

n

R yi f (xi , a 0 , a1, , a m ) 2

i 0

5

Функцию f(x,a0,a1,…,am) определим как полином степени m вида:

_

m

 

 

 

j

 

 

 

 

 

2

a

 

 

m

f (x, a )

 

a

j

x

a

0

a x a

2

x

m

x

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

j 0

 

 

 

 

 

 

 

 

 

 

 

 

 

Надо найти такие значения параметров, при которых квадратичный критерий

рассогласования имел бы минимальное значение

n

2

m

2

 

 

 

 

)

min

R yi (a 0 a1xi a 2 xi

a m xi

i 0

 

 

 

 

Вывод формулы для определения параметров в матричном виде рассмотрим на примере полинома второй степени (m=2).

_

 

 

 

x2

f (x, a) a

0

a x a

2

 

1

 

Тогда критерий R будет являться функцией трёх переменных a0,a1,a2 :

n

2

2

 

)

R R(a 0,a1, a 2 ) yi (a 0 a1xi a 2 xi

i 0

 

 

6

Необходимые условия минимума критерия R имеют вид:

R

 

n

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

2 yi (a

 

 

 

 

 

) ( 1) 0

a

 

0 a1xi a 2 xi

 

 

 

 

i 0

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

R

 

n

 

 

 

 

 

 

2

 

 

) ( xi ) 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

 

2 yi (a 0 a1xi a 2 xi

 

 

 

 

i 0

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

R

 

n

 

 

 

 

 

 

2

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

) 0

a

 

2 yi (a 0 a1xi a 2 xi

 

 

) ( xi

2

 

i 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

или

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

n

 

 

 

n

2

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

a 0

 

xi

a1

 

xi

a

2

yi

 

i 0

 

i 0

 

 

i 0

 

 

 

 

 

i 0

 

 

n

 

 

 

n

2

 

 

n

3

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

xi

a 0

xi

a1

xi

a 2

yi xi

i 0

 

 

i 0

 

 

i 0

 

 

 

 

 

i 0

 

 

n

2

 

 

n

3

 

 

n

4

 

 

 

 

n

2

xi

a 0

 

xi

a1

 

xi

a

 

2 yi xi

i 0

 

 

i 0

 

 

i 0

 

 

 

 

 

i 0

 

7

Полученную линейную относительно искомых параметров a0,a1,a2, систему уравнений

запишем в матричном виде:

 

n

 

 

 

n

 

 

n

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

1

xi

 

 

 

 

 

 

 

 

yi

 

 

 

 

 

 

 

 

xi

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i 0

 

 

i 0

 

i 0

 

 

 

_

a

0

_

 

i 0

 

 

 

 

_

_

 

 

n

 

 

 

n

 

 

n

 

 

n

 

 

 

 

 

 

 

 

 

2

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

N a b

где

N

 

x

 

 

x

 

x

a

a

b

 

y

x

 

 

i

i

i

 

 

1

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

i 0

 

 

 

i 0

 

 

i 0

 

 

 

 

a

 

 

i 0

 

 

 

 

 

 

 

 

 

n

 

2

n

 

3

n

 

4

 

 

 

 

2

 

 

n

 

 

2

 

 

 

 

 

x

x

x

 

 

 

 

 

y

x

 

 

 

 

 

i

i

i

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

i 0

i 0

 

 

 

 

 

 

 

i

 

 

 

 

 

i 0

 

 

 

 

 

 

 

 

 

 

 

 

i 0

 

_

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Для удобства формирования матрицы коэффициентов

N

и столбца свободных членов

b

 

 

 

 

введем матрицу

Ф

элементы которой определяются

 

через значения независимой переменной xi, i=0,1,2,…,n

 

 

1

1

 

1

 

1

 

T

 

 

 

N Ф Ф

 

 

 

 

 

 

1

x0

x1

xn

 

 

 

 

x2

x2

 

x2

 

 

 

 

 

 

 

 

 

0

1

 

n

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

x

0

x

2

 

 

 

 

0

 

 

x

x

2

_

 

 

 

 

1

1

b

 

 

 

 

 

 

x

 

x

2

 

 

 

 

 

n

n

 

 

 

 

 

 

 

 

x0

 

2

 

 

1

x0

 

 

 

 

x1

 

2

 

 

1

x1

 

Ф

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

x

2

 

 

1

n

n

 

 

 

 

 

 

T _

1

1

 

 

 

 

 

Ф

y x

0

x

 

 

 

 

1

 

 

 

x

2

x2

 

 

 

 

0

1

 

тогда

1

 

y0

y

 

 

 

 

 

 

 

1

 

x

2n

 

 

 

 

x

n

 

 

 

 

 

 

 

 

 

 

yn

 

 

 

 

8

 

 

При аппроксимации полиномами высших порядков матрица

Ф

будет иметь вид:

 

 

1

x

 

2

 

x

m

 

 

 

0

x

0

 

 

 

 

 

0

 

 

 

 

 

1

x1

2

 

 

m

элемент

 

 

 

Ф

 

x1

x1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

x n

2

 

 

m

 

 

 

 

x n

x n

 

 

В общем случае

 

 

количество строк в матрицы

Ф

равно

 

 

количеству точек, а количество столбцов

Ф

равно количеству параметров, где строка состоит из значений частных производных от функции f(x,a0,a1,…,am) по соответствующему параметру.

 

 

 

x

j

,

ij

i

 

 

 

 

f (x

 

 

 

0,

 

 

 

 

a

0

 

 

 

 

 

 

 

 

 

f (x

 

 

 

 

1,

 

a

 

 

 

0

 

 

 

 

f (xn,

 

 

 

a

 

 

 

0

Пример. Определить параметры зависимости вида

i 0,1,2,..., n,

j

 

 

 

 

 

a )

f (x

0,

a )

 

 

 

 

 

a

 

 

 

 

 

 

1

 

 

 

 

 

 

 

a )

f (x

1,

a )

 

 

 

 

 

a

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

a )

f (x

n,

a )

 

 

 

 

 

a

 

 

 

 

 

 

1

 

 

_

f (x, a) a0 a1x

0,1,2,..., m

 

 

 

f (x

0,

a )

 

 

a

 

 

m

 

 

 

f (x

a )

 

1,

 

a

 

 

m

 

 

 

 

 

 

f (x

n,

a )

 

 

a

 

 

m

 

          

используя метод наименьших квадратов, по следующим экспериментальным данным:

i

0

1

2

3

 

 

 

 

 

 

 

xi

-1

0

1

2

9

yi

2

1

2

4

 

 

1

1

 

 

 

 

Ф 1

0

 

 

1

1

 

 

2

 

 

1

 

 

T

 

1

1

1

1

 

Ф

 

 

 

 

 

 

 

 

 

 

0

1

 

 

1

2

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

1

1

1

1

 

1

N

 

 

 

 

 

 

 

 

0

1

1

 

1

2

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

4a

0

 

2a1

 

9

 

 

 

6a1

 

 

2a0

8

1

 

 

 

 

 

 

0

 

4

2

 

 

 

 

1

 

2

6

2

 

 

 

 

 

 

 

 

 

1.9

 

a

 

 

 

 

 

0.7

 

 

1

1

1

b

 

 

 

 

 

 

 

0

1

 

1

f (x) 1.9 0.7 x

 

 

2

 

 

1

 

1

9

 

 

 

 

2

 

 

 

 

2

8

 

 

 

 

 

 

 

 

 

 

4

 

 

R 2.3

10