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

Работа 3 Интерполяция дискретных данных

.pdf
Скачиваний:
15
Добавлен:
26.11.2019
Размер:
381.58 Кб
Скачать

3. Интерполяция дискретных данных

3.1 Цель работы

Познакомиться с методами решения задачи интерполяции дискретных данных. Научиться пользоваться операторами интерполяции программы

MathCAD.

3.2Задание

1.В промежутке [0,4] по оси x задано (таблица 3.1) три значения аргумента и соответствующие им значения функции yi f ( x) , где i - номер

варианта задания. По исходным

данным

нужно определить

yi при двух

промежуточных значениях

x 1

и x 3 c точностью до двух знаков после

запятой.

 

 

 

 

2. В промежутке

[0,10]

по оси

x задано (таблица

3.2) шесть

дискретных значений аргумента

и соответствующие им значения функции

yi f ( x) , где i - номер варианта задания.

По исходным данным определить

пять промежуточных значений функции при указанных значениях аргумента с точностью до одного знака после запятой.

Интерполяционный полином построить следующими методами:

Решением системы линейных уравнений.

По формуле Лагранжа.

По формуле Ньютона.

С помощью встроенных функций linterp и interp. Сравнить полученные результаты.

Таблица 3.1

Y

 

 

X

 

 

0

1

2

3

4

 

Y1

0.33

-

1.05

-

3.2

Y2

0.25

-

1.45

-

3.98

Y3

0.44

-

0.86

-

5.17

Y4

0.35

-

0.72

-

9.67

Y5

0.24

-

5.48

-

1.63

Y6

0.07

-

8.98

-

0.34

Y7

9.52

-

3.41

-

8.41

Y8

8.25

-

5.7

-

1.65

Y9

6.45

-

4.12

-

0.61

Y10

7.72

-

5.4

-

2.28

Y11

9.41

-

6.54

-

3.42

Y12

6.38

-

8.52

-

4.76

1

 

 

 

Y13

1.28

 

 

-

0.64

 

 

-

7.38

 

 

 

 

 

 

 

Y14

3.8

 

 

-

9.65

 

 

-

7.13

 

 

 

 

 

 

 

Y15

6.11

 

 

-

4.63

 

 

-

1.85

 

 

 

 

 

 

 

Y16

8.32

 

 

-

5.71

 

 

-

7.94

 

 

 

 

 

 

 

Y17

9.96

 

 

-

2.73

 

 

-

5.47

 

 

 

 

 

 

 

Y18

6.22

 

 

-

8.06

 

 

-

3.78

 

 

 

 

 

 

 

Y19

1.37

 

 

-

8.04

 

 

-

6.52

 

 

 

 

 

 

 

Y20

2.33

 

 

-

0.77

 

 

-

5.28

 

 

 

 

 

 

 

Y21

5.41

 

 

-

6.7

 

 

-

2.86

 

 

 

 

 

 

 

Y22

8.62

 

 

-

3.71

 

 

-

6.54

 

 

 

 

 

 

 

Y23

0.17

 

 

-

2.61

 

 

-

7.25

 

 

 

 

 

 

 

Y24

1.19

 

 

-

0.88

 

 

-

6.05

 

 

 

 

 

 

 

Y25

4.85

 

 

-

2.18

 

 

-

8.02

 

 

 

 

 

 

 

Y26

0.05

 

 

-

7.19

 

 

-

5.74

 

 

 

 

 

 

 

Y27

8.33

 

 

-

9.85

 

 

-

2.98

 

 

 

 

 

 

 

Y28

4.06

 

 

-

6.89

 

 

-

1.37

 

 

 

 

 

 

 

Y29

1.3

 

 

-

2.67

 

 

-

8.75

 

 

 

 

 

 

 

Y30

3.33

 

 

-

9.86

 

 

-

5.75

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 3.2

Y

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

0

 

1

 

2

 

3

4

5

6

7

 

8

 

9

10

 

 

 

 

 

 

 

 

Y1

0,2

 

-

 

2,5

 

-

 

10,2

-

20,3

-

 

55,6

 

-

81,2

 

Y2

0,4

 

-

 

4,1

 

-

 

15,3

-

25,4

-

 

31,2

 

-

40,5

 

Y3

0,5

 

-

 

5,4

 

-

 

20,3

-

50,5

-

 

45,3

 

-

30,2

 

Y4

51,5

-

 

45,5

 

-

 

30,3

-

25,4

-

 

40,5

 

-

50,2

 

Y5

60,6

-

 

40,5

 

-

 

31,3

-

10,5

-

 

6,3

 

-

2,5

 

Y6

41,8

-

 

29,7

 

-

 

38,6

-

47,9

-

 

41,2

 

-

30,8

 

Y7

39,8

-

 

50,5

 

-

 

61,2

-

53,4

-

 

42,3

 

-

32,5

 

Y8

72,8

-

 

55,5

 

-

 

40,2

-

50,5

-

 

60,3

 

-

73,3

 

Y9

50,5

-

 

35,3

 

-

 

82,4

-

55,5

-

 

20,2

 

-

75,3

 

Y10

45,5

-

 

20,4

 

-

 

65,4

-

46,3

-

 

30,2

 

-

58,5

 

Y11

5,2

 

-

 

17,8

 

-

 

44,1

-

26,8

-

 

57,1

 

-

75,5

 

Y12

28,7

-

 

11,1

 

-

 

57,3

-

76,6

-

 

65,3

 

-

33,5

 

Y13

15,1

-

 

6,8

 

-

 

46,7

-

58,2

-

 

33,8

 

-

27,4

 

Y14

45,5

-

 

56,6

 

-

 

30,7

-

17,8

-

 

53,1

 

-

88,8

 

Y15

2,7

 

-

 

24,3

 

-

 

77,1

-

60,3

-

 

32,2

 

-

50,1

 

Y16

8,6

 

-

 

3,9

 

-

 

28,9

-

64,1

-

 

47,7

 

-

31,1

 

Y17

22,2

-

 

38,4

 

-

 

13,6

-

48,7

-

 

72,5

 

-

32,2

 

Y18

36,6

-

 

58,9

 

-

 

24,4

-

18,5

-

 

40,6

 

-

84,5

 

Y19

2,5

 

-

 

6,3

 

-

 

10,5

-

31,3

-

 

40,5

 

-

60,6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

Y20

30,2

-

45,3

-

50,5

-

20,3

-

5,4

-

0,5

Y21

73,3

-

60,3

-

50,5

-

40,2

-

55,5

-

72,8

Y22

33,5

-

65,3

-

76,6

-

57,3

-

11,1

-

28,7

Y23

40,5

-

31,2

-

25,4

-

15,3

-

4,1

-

0,4

Y24

50,1

-

32,2

-

60,3

-

77,1

-

24,3

-

2,7

Y25

32,5

-

42,5

-

53,4

-

61,2

-

50,5

-

39,8

Y26

84,5

-

40,6

-

18,5

-

27,4

-

58,9

-

36,6

Y27

50,2

-

40,5

-

25,4

-

30,3

-

45,5

-

51,5

Y28

27,4

-

33,8

-

58,2

-

46,7

-

6,8

-

15,1

Y29

75,3

-

20,2

-

55,5

-

82,4

-

35,3

-

50,5

Y30

58,5

-

30,2

-

46,3

-

65,4

-

20,4

-

45,5

3.3 Теоретические сведения

При обработке экспериментальных данных, аппроксимации сложных функций возникают задачи выбора непрерывной функции, точно проходящей через заданные точки. При помощи этой функции можно получить дополнительные данные при промежуточных значениях аргумента. Такая операция называется интерполированием. Она является частным случаем аппроксимации. В общем случае при аппроксимации данных не требуется, чтобы значения функции точно совпадали с исходными данными.

Решение задачи интерполирования не является однозначным. Решение может быть получено при помощи различного вида функций. Можно соединить соседние точки прямыми линиями и использовать их для расчета промежуточных значений. Такая методика называется кусочно-линейной интерполяцией. Если весь промежуток интерполяции разделить на трёхточечные интервалы, то можно выполнить кусочно-квадратичную интерполяцию.

Разрывы непрерывности производных в узловых точках можно устранить при помощи сплайн-интерполяции. Кубическая интерполяция позволяет построить кривую, проходящую через заданные точки, таким образом, чтобы первые и вторые производные были бы непрерывными во всех точках. Такая кривая может быть построена разделением промежутка интерполяции на трехточечные интервалы, внутри которых записываются полиномы третьей степени, проходящие через эти точки. Эти полиномы затем соединяются вместе и образуют общую кривую.

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

Qm ( x ) a0 a1 x a2 x2 am xm

3

в узлах интерполяции x0 , x1 , , xn должен точно совпадать со значениями функции y0 , y1 , , yn . Как известно, существует единственный полином степени не выше n , принимающий в точках x0 , x1 , , xn заданные значения. Поэтому

m n , при этом число узлов интерполирования на единицу больше, чем степень полинома. Степень полинома равна числу интервалов, на которые разделяется весь промежуток интерполирования. Коэффициенты ai полинома

Qn ( x ) можно определить различными способами. 1. Из решения системы линейных уравнений:

a a x a x

2

a xn

y

 

0

1

0

2

0

 

n 0

0

 

a1 x1

 

2

 

n

y1

a0

a2 x1

an x1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a a x

n

a x

2

a xn

y

 

0

1

2

n

 

n n

 

n

Порядок системы равен числу узлов интерполирования, т.е. n 1.

2. По формуле Лагранжа,

позволяющей определить полином Qn ( x ) при

произвольных узлах интерполяции:

 

 

 

 

 

n

 

n

x x

 

 

Qn ( x) yi

j

 

 

 

 

xi x j

 

 

 

 

 

i 0

 

j 0

i j

3.По формуле Ньютона, позволяющей определить полином Qn ( x ) при равноотстоящих с шагом h узлах интерполирования:

Q ( x ) y q y

q( q 1)

2 y

q( q 1) ( q n 1)

n y

,

 

 

 

 

n

0

 

0

2!

 

 

 

0

 

 

 

 

n!

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где q

x xn

, y

y y

,

2 y

 

y y

,…, n y

 

n 1 y n 1 y

.

 

0

0

 

 

h

0

1

0

 

 

1

0

 

1

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В MathCAD имеются операторы автоматической интерполяции дискретных данных: linterp(x,y,t) и interp(s,x,y,t).

Оператор linterp(x,y,t) осуществляет кусочно-линейную интерполяцию векторов исходных данных x и y для точки t.

Оператор interp(s,x,y,t) возвращает интерполированное сплайном значение функции в точке t. Здесь s – вектор вторых производных, созданный одной из сопутствующих функций cspline(x,y), pspline(x,y), lspline(x,y).

Функция lspline(x,y) создает вектор значений коэффициентов линейного сплайна. Функция pspline(x,y) создает вектор значений коэффициентов квадратичного сплайна. Функция cspline(x,y) создает вектор значений коэффициентов кубического сплайна.

Кубическая интерполяция позволяет построить кривую, проходящую через заданные точки, таким образом, чтобы первые и вторые производные были бы непрерывными во всех точках. Такая кривая может быть построена

4

разделением промежутка интерполяции на трехточечные интервалы, внутри которых записываются полиномы третьей степени, проходящие через эти точки. Эти полиномы затем соединяются вместе и образуют общую кривую.

При определении значений функции f(x) в точке x по формулам Лагранжа или Ньютона в качестве начальной точки выгодно брать ближайший к x узел интерполирования. Тогда первое слагаемое в этой формуле будет главным членом, а остальные слагаемые будут носить характер поправки.

Вид интерполяционного полинома не зависит от способа его получения (из решения системы линейных уравнений, по формуле Лагранжа или по формуле Ньютона).

Чтобы убедиться в этом рассмотрим первое задание из таблицы 3.1. Построим полином второй степени на промежутке по x от 0 до 4 в трех узлах

интерполирования: x0 0, y0

0,33; x1 2, y1 1,05;

x2 4, y2 3,2 .

Для нахождения коэффициентов интерполяционного полинома составим

систему уравнений:

 

 

 

 

 

 

 

a0

0,33

 

 

 

2a1

4a2

1,05

 

 

a0

 

 

a

4a

16a

3,2

 

 

0

1

2

 

Решение системы уравнений в MathCAD.

Задание матрицы коэффициентов и вектора правой части:

Решение системы уравнений:

Формирование полинома второй степени и его вид:

Q t 0,33 0,0025t 0,17875t 2

5

Построение интерполяционного многочлена с помощью формулы Лагранжа:

Построение интерполяционного многочлена с помощью формулы Ньютона с шагом h 2 :

Разными способами мы получили одно и то же выражение для интерполяционного полинома, проходящего через три заданные точки.

Ниже приведен совмещенный график исходных данных и интерполяционного полинома.

Для интерполяции по формуле Лагранжа можно воспользоваться программой. Ее удобство в том, что по ней можно получить многочлен в явном виде.

6

Например, для рассмотренного примера получим. Исходные данные:

Результат работы программы:

Другой способ реализации формулы Лагранжа:

Эта формула позволяет получить промежуточные значения, но не позволяет увидеть вид многочлена:

3.4 Пример выполнения работы

Рассмотрим выполнение лабораторной работы на примере первого задания из таблицы 3.1. Выполнение расчетов по таблице 3.2 будет проводиться аналогично и в примере не показывается.

Ранее был получен интерполяционный многочлен тремя способами. Найдем требуемые промежуточные значения, а также убедимся, что интерполяционный многочлен проходит через заданные узловые точки.

Интерполяция по программе:

Решение задачи интерполяции с помощью встроенных функций:

7

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

Ниже приведен совмещенный график исходных данных, обычного полинома L(t), кусочно-линейной функции Linterp(t) и сплайн-интерполяции

Interp(t).

Пользуясь различными методами интерполяции, мы получили три разных набора данных, представленных в таблице 3.3.

Таблица 3.3

Результаты интерполяции, полученные различными методами

x

 

y

 

L

linterp

interp

 

0

0,33

0.33

0.33

1

0,51

0,69

0,42

2

1,05

1.05

1.05

3

1,95

2,13

2,04

4

3,2

3,2

3,2

Самостоятельно добавить в таблице столбцы: средних значений y при разных способах интерполяции и разбросов в процентах относительно них.

Различие результатов в точках интерполяции х=1 и х=3 достаточно велико. При х=1 разброс данных составляет 28% от их среднего значения. Среднее значение получается интерполяцией по формуле Лагранжа. При х=3 разброс данных меньше и равен 5%. В этом случае среднее значение обеспечивается интерполяцией при помощи сплайнов.

8

3.5Содержание отчёта

1.Титульная страница с названием работы.

2.Задание.

3.Цель работы и краткие теоретические сведения.

4.Выполненные задания.

5.Выводы по проделанной работе.

3.6Контрольные вопросы

1.В чем состоит постановка задачи интерполирования дискретных

данных?

2.Чем отличается интерполяция от аппроксимации данных?

3.Какие существуют методы интерполяции дискретных данных?

4.В чем заключаются недостатки метода кусочно-линейной интерполяции?

5.Какие методы интерполяции обеспечивают получение непрерывной интерполирующей функции?

6.Какие существуют способы определения интерполяционного полинома?

3.7Литература

1.Копченова Н.В., Марон И.А. Вычислительная математика в примерах и задачах. – М., Наука,1972.

2.Дьяконов В. П. MathCAD 8-12 для студентов. М.: СОЛОН-Пресс.-

2005.

9