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

3 семестр / Практики / Практическое занятие 8

.pdf
Скачиваний:
0
Добавлен:
16.05.2024
Размер:
203.63 Кб
Скачать

Практическое занятие №8

Теоретический материал в Лекции . «Приближение функции по методу интерполяции». 1. Оценки погрешности интерполяции 2.Кусочно полиномиальная интерполяция.

3. Сплайны.

Задача 1. Функция задана таблицей. Найти ее значения в точках

x = −0.8

,

 

x = 0.6

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

i

 

1

0.5

0

0.3

0.5

0.8

1

1.2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y

i

 

2

1.6

0.4

0

1

0.6

0.9

1.5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Воспользуемся частными случаями интерполяционных многочленов.

x

=

0.4

,

 

 

 

L (x) = 2 +

1.6 2

(

)

 

 

 

 

 

 

 

 

 

 

 

 

 

Решение.

 

 

 

 

 

x +1

,

L (0.8)

=1.84

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0.5

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Значение в точке

x = 0.4

можно вычислить с помощью локального полинома Ньютона

 

 

 

 

 

 

 

2-ой степени.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0.3

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-5

 

 

 

 

 

 

 

 

 

 

 

 

 

0.5

1

 

 

 

 

 

 

 

310/15

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

16/3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0.8

0.6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

L

(x) = 0 5(x 0.3)

+

310

(x 0.3)(x 0.5)

 

 

 

 

2

 

 

 

 

 

 

 

 

 

15

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

L

(0.4) = −0.5 +

62

(0.1)(0.1) = −0.706(6)

 

 

 

 

2

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

L (0.6) = −5 0.3 +

62

(0.3)(0.1) = −0.88

 

 

 

 

2

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Задача 2. Выполнить априорную оценку приближения функции многочленом второй степени на отрезке [-1,1].

f (x) = 3

x

3

 

 

 

 

 

 

 

 

 

 

 

R ( x) = f (x) P (x)

Mn+1

 

(x)

Решение. Воспользуемся оценкой:

 

n

 

n

(n +1)!

n+1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

R

2

( x) =

 

f (x) L (x)

 

 

M 3

 

(x +1)x(x 1)

 

. Найдем третью производную функции.

 

 

 

 

 

 

 

 

 

 

 

2

 

3!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f (x)

M

3

=

 

 

= 31

3x ln

ln

3

3

 

3

,

 

=

f (x) = 3

x

ln

2

 

 

3.9779069 4

3

,

f (x) = 3

x

ln

3

3

 

 

 

,

R (1 / 2) =

f (1 / 2) L (1 / 2)

4

(3 / 2)(1 / 2)(

1 / 2)

=1 / 4 = 0.25

 

2

2

3!

 

 

 

 

 

 

 

 

Теоретическая погрешность ( как обычно) больше.

Еще задача на использование теоретической оценки погрешности.

Задача 3. Выполнить линейную интерполяцию функции

[100,110]

и оценить погрешность .

 

Решение. Возьмем 2 точки: x0 =100 , f (x0 ) =10 , x1

f(x) = x

=110 ,

на отрезке

f (x ) =

110

1

 

10.488

,

P (x) =10 +

10.488

10

(x

100) =10 + 0.0488 (x 100)

 

 

 

 

 

1

 

 

 

10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

R

( x) =

 

f (x) P (x)

 

 

M

2

 

(x 100)(x 110)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

1

 

 

 

 

2!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

M 2

= max

1

 

 

3

 

[100,110] 4

x

 

 

=

1 4 1000

=

0.00025

. ,

R

(x) = 0.000125

 

(x 100)(x 110)

 

 

 

1

 

 

 

 

Можно найти максимум погрешности. Для этого нужно взять максимальное значение квадратичной функции на отрезке: max (x 100)(x 110) = 5 5 = 25 .

 

 

[100,110]

 

Тогда максимальная гарантированная погрешность функции равна:

R (x) =

f (x) P (x)

0.000125 25 = 0.003125

для любой точки из отрезка

1

1

 

[100,110] .

 

 

 

 

 

 

 

 

 

P (107) =10.3416

 

Например, f (107) =

107 =10.3440804 ,

,

 

 

 

 

 

 

 

 

1

 

 

f ( 107) P (107)

=0.0024804

- укладывается в теоретическую погрешность.

 

1

 

 

 

Задача 4. Использование более грубой оценки для таблиц с постоянным шагом.

Rn (x) = f (x) Pn (x) 4(Mnn++11) hn+1 , где h- шаг таблицы.

С каким шагом нужно протабулировать функцию

f (x) =

x

на отрезке

[100,110]

,

чтобы значение во внутренней точке отрезка восстанавливалось с точностью

=10

4

 

?

Решение.

R

( x) =

 

f (x) P (x)

 

1

 

 

1

 

M

2

h

2

 

 

 

 

 

4 2

 

 

=

0.00025

h

 

 

2

 

8

 

10

4

 

. Находим шаг:

h

8 / 0.00025 10

2

=178.8854382 10

2

=1.7888...

 

 

Обычно шаг берут таким образом, чтобы

hn =

 

равным

h =1.25

, тогда

n = (110 100) / h

 

 

 

b a =10

. Например, можно шаг взять

/ 1.25 = 8

. Тогда можно построить

 

линейную интерполяцию для точки

x

=107

, например, так:

x

=106.25

,

f (x

) =

106.25 =10.3077641

,

0

 

 

0

 

 

 

f (x ) =

107.5 =10.3682207

. Таким образом:

 

1

 

 

 

 

 

x

=107.5

1

 

P1

P 1

(x) =

106.25 +

107.5 106.25

(x

 

1.25

 

 

 

 

 

 

 

(107) =

106.25 +

107.5

106.25

1.25

 

 

 

 

 

 

106.25)

,

 

(0.75) =10.344038

. Осталось сравнить с

настоящим значением:

f (107) =

107

=10.3440804

. Точность достигнута.

Разделенные разности. (понятие РР см. Лекцию 10).

Задача 5. (ТР 16) Построить многочлен по таблице значений, найти значение функции в промежуточной точке и оценить практическую погрешность.

ПРИМЕР.

1

1

 

 

(2-1)/0.5 =2

 

1.5

2

(-4-2)/(2-1)=-6

 

(0-2 )/0.5 = -4

(10/3 +6)/(3-1)=28/6=14/3

2

0

(1+4)/(3-1.5)=10/3

 

(1-0)/1 =1

 

3

1

 

P3 (x) =1+ 2 (x 1) 6(x 1)(x 1.5) +14 / 3(x 1)(x 1.5)(x 2)

Для оценки погрешности используют следующий способ.

Rn ( x) = f (x) Pn (x) f (x0 , x1,..., xn , x) n+1(x)

Тогда очевидно,

P

(x) P (x) =

n+1

n

f

(x

,

0

 

x

,...x

,

1

n+1

 

x)

(x)

n+1

 

. Если величина

x

n+1

x

мала, а функция достаточно гладкая, то справедливо приближенное равенство:

 

 

f (x0 ,...xn , x) f (x0 ,...xn , xn+1) из которого следует, что

 

 

f (x) Pn (x) Pn+1(x) Pn (x) . Таким образом, величину

 

n

= P

( x) P ( x)

можно

 

n+1

n

использовать для практической оценки погрешности интерполяции.

Например, если вычислять значение функции в точке

x =1.25

:

 

Можно воспользоваться многочленами последовательно, первой, второй и третьей степеней :

P (x) =1+ 2 (x 1)

,

P (x) =1+ 2 (1.25 1) =1.5

1

1

P (x) =1+ 2 (x 1) 6(x 1)(x 1.5)

P (x) =1.875

2

2

P3 (x) = 2.09375

Ответы:

f

(1.25)

=1.5

0.375

,

f (1.25) =1.875 0.219

Для значения

P3 (x) = 2.09375

оценки погрешности нет.

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

Задача 1. Построить линейный сплайн по заданной таблице:

x

i

3

5

8

 

 

 

 

 

 

 

 

 

y

i

4

2

5

 

 

 

 

 

 

 

 

 

Очевидно, что сплайн выглядит так:

 

P

(x) = y

 

+

 

y1 y0

 

(x x ) = 4 +

2 4

(x 3) = 7 x,

x [3

 

0

 

 

 

 

 

1,1

 

 

 

 

x1 x0

 

 

0

 

5 3

 

 

S1

 

 

 

 

 

 

 

 

 

 

 

 

(x) =

 

 

 

 

 

y2 y1

 

 

5 2

 

 

 

 

P

(x) = y

+

(x x ) = 2 +

 

(x 5) = −3 + x,

x [5

 

 

 

 

1,2

 

 

1

 

 

x2 x1

 

 

1

8 5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Дефект сплайна равен 1.

 

 

 

 

 

 

 

 

Задача 2. (РЗ 17) Построить квадратичный сплайн для той же функции.

 

Будем искать сплайн в общем виде (по определению)

 

 

 

P

 

(x) = a

+ a x + a x2 ,

x [3

 

 

 

 

 

 

2,1

 

0

1

2

 

 

 

 

 

 

S2

(x) =

 

 

 

+ b1x + b2 x2 ,

 

 

 

 

 

 

 

P2,2 (x) = b0

x [5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Заметим, что в задаче 6 неизвестных: a0 , a1, a2 ,b0 ,b1,b2

Потребуем выполнения следующих условий:

1.

S

(x ) =

 

2

i

 

P

 

(x ) =

 

2,1

0

P

 

(x ) =

 

2,1

1

 

P

 

(x ) =

 

2,2

1

P

 

(x ) =

 

2,2

2

yi , y0 y1 y1 y2

i = 0..n

- условие интерполяции дает 4 уравнения :

 

 

a

+ a 3 + a 9 = 4

0

1

 

2

a

+ a 5 + a 25 = 2

0

1

 

2

b + b 5 + b 25 = 2

0

1

 

2

b +b 8

+b 64 = 5

0

1

 

2

2. Производная сплайна должна быть непрерывна. Так как внутренняя точка всего одна, то получаем еще одно условие:

P

(x ) = P

(x )

2,1

1

2,2

1

a + 2a x

 

x=5

= b + 2b x

 

x=5

 

 

1

2

 

1

2

 

a +10a

= b +10b

1

2

1

2

Итого, имеем 5 уравнений и 6 неизвестных. Поставим дополнительное условие.

S2 (3) = 0

тогда,

a + 2a

x

x=3

1

2

 

=

0

,

a + 6a

= 0

1

2

 

Тогда систему уравнений запишем в следующем виде:

a

+ a 3 + a 9

= 4

 

 

 

 

0

1

2

 

 

 

 

 

a

+ a 5 + a 25 = 2

 

 

 

 

0

1

2

 

 

 

 

 

 

 

 

b + b 5

+ b 25 = 2

 

 

 

0

1

 

2

 

 

 

 

b +b 8

+b 64 = 5

 

 

 

0

1

 

2

 

 

a +

10a

b 10b

= 0

 

1

 

2

 

1

2

 

 

a + 6a

= 0

 

 

 

 

 

1

2

 

 

 

 

 

Можно записать систему уравнений в матричной форме

Ac = d

, где

A

- матрица системы

 

 

 

 

 

a0

 

 

 

 

 

 

 

 

a

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

a

2

 

 

 

 

 

 

 

c =

 

 

 

 

уравнений, вектор

 

 

, вектор

 

b0

 

 

 

 

 

 

b

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

b

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

1

3

9

0

 

0

 

 

0

 

 

1

5

25

0

 

0

 

 

0

 

 

 

 

 

 

 

0

0

0

1

 

5

 

 

25

 

A =

0

0

0

1

 

8

 

 

64

 

 

 

 

 

.

 

0

1

10

0

1

 

10

 

 

 

 

 

 

 

 

 

 

 

 

 

0

1

6

0

 

0

 

 

0

 

 

 

 

 

 

 

4

 

 

 

2

 

 

 

 

 

 

 

 

2

 

 

d =

5

 

, матрица

 

 

 

 

 

0

 

 

 

 

 

 

 

 

0

 

 

 

 

 

Решение системы:

A имеет вид:

 

0.5

 

 

3

 

 

 

 

0.5

 

c =

37

 

 

 

 

12

 

 

 

 

 

1

 

 

 

Ответ:

График:

P

(x) = −0.5 + 3x 0.5x

2

,

x [3

 

2,1

 

 

 

 

 

 

S2 (x) =

P

(x) = 37 12x + x

2

,

 

 

x [5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2,2

 

 

 

 

 

 

,

Дефект сплайна равен 1.

 

5

 

4

P( t)

3

2

 

 

 

 

 

1

 

 

 

 

 

3

4

5

6

7

8

 

 

 

t

 

 

Домашнее задание: Выполнение РЗ 15 , 16 и 17.

Соседние файлы в папке Практики