Вы находитесь на странице: 1из 12

Санкт-Петербургский политехнический университет Петра Великого

Институт машиностроения, материалов и транспорта


Высшая школа машиностроения

Лабораторная работа № 2
по дисциплине «Вычислительная математика»
“ Интерполяция дискретных данных”

Выполнил
Студент гр. Гуалотунья.М.
3331501/00001 (подпись)
Руководитель
ст. преподаватель Солодилова.Н.А.
(подпись)

Санкт-петербург
2021
Интерполяция дискретных данных
1. Цель работы
Познакомиться с методами решения задачи интерполяции дискретных
данных. Научиться пользоваться операторами интерполяции программы
MathCAD.
2. Задание
1. Для заданной функции y = f (x) построить ее дискретный аналог, разбив
промежуток [a, b] на 3 интервала. Для дискретного аналога найти
интерполяционный полином следующими методами:
• Решением системы линейных алгебраических уравнений.
• По формуле Лагранжа.
• По формуле Ньютона.
Убедиться в идентичности полученных полиномов. Построить совмещенный
график исходной функции, ее дискретного аналога и интерполяционного
полинома. Найти относительную погрешность определения промежуточных
значений заданной функции между узловыми точками с помощью
интерполяционного полинома. Построить график относительной
погрешности.
2. Построить интерполяционный полином с помощью встроенных
функций linterp и interp. Найти относительную погрешность
определения промежуточных значений заданной функции между
узловыми точками с помощью интерполяционных полиномов.
Построить график относительной погрешности.
3. Для формулы Лагранжа и встроенной функции linterp найти требуемое
количество интервалов разбиения заданного промежутка для того,
чтобы относительная погрешность определения промежуточных
значений заданной функции между узловыми точками была менее 2%.

Вариант Функция a b
2 f (x) = 3cos (x − 2) + 0,2x2 1 10

3. Краткие теоретические сведения


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

в узлах интерполяции x0, x1 ,…, xn должен точно совпадать со значениями


функции y0, y1 ,…, yn. Как известно, существует единственный полином степени
не выше n, принимающий в точках x0, x1 ,…, xn заданные значения. Поэтому m
= n, при этом число узлов интерполирования на единицу больше, чем степень
полинома. Степень полинома равна числу интервалов, на которые разделяется
весь промежуток интерполирования. Коэффициенты i a полинома Q (x) n
можно определить различными способами.
Из решения системы линейных алгебраических уравнений:
По формуле Лагранжа, позволяющей определить Qn (x) при полином
произвольных узлах интерполяции

По формуле Ньютона, позволяющей определить полином Qn (x) при


равноотстоящих с шагом h узлах интерполирования:

4. Ход работа
Вариант Функция a b
2 f (x) = 3cos (x − 2) + 0,2x2 1 10

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

Задание шага:

Создание дискретной модели:


Нахождение коэффициентов интерполяционного полинома с помощью
системы линейных алгебраических уравнений:

Получение интерполяционного полинома и его вид:


2 3
P3( t) = A + A  t + A  t + A  t
0 1 2 3

2 3
P3( t) → −4.3482188502256671548 t + 1.0949828953393549477 t + −0.051578322327923318475 t + 5.1257211948186546778

Программа для нахождения интерполяционного полинома по формуле


Лагранжа и результат ее работы:
2 3
L( z) simplify → 1.0949828953393549477 z − 0.051578322327923318475 z − 4.3482188502256671548 z + 5.1257211948186546778

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

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


увидеть вид многочлена:

Нахождение интерполяционного полинома по формуле Ньютона:

Вид интерполяционного полинома, полученного по формуле Ньютона:


2 3
N( t) simplify → 1.0949828953393549477 t − 0.051578322327923318475 t − 4.3482188502256671548 t + 5.1257211948186546778
Видно, что полученные интерполяционные полиномы имеют один и тот же
вид. Далее будем использовать при интерполяции программу, реализующую
формулу Лагранжа.
Нахождение относительной погрешности интерполирования по формуле
Лагранжа и ее график:

Из графика видно, что погрешности интерполирования достаточно велики (до


60%). Максимальные погрешности получаются приблизительно в серединах
интервалов.
Совмещенный график исходной функции, узловых точек и
интерполяционного полинома:

Нахождение относительной погрешности интерполирования встроенной


функцией linterp и ее график:
Из графика видно, что погрешности интерполирования достаточно велики
(до 80%). Максимальные погрешности получаются приблизительно в
серединахинтервалов.
Нахождение относительной погрешности интерполирования встроенной
функцией interp и ее график:
Из графика видно, что погрешности интерполирования встроеннойфункцией
interp кубическим сплайном практически совпадают с погрешностями
интерполирования по формуле Лагранжа:

Для достижения требуемой точности интерполяции изменяем количество


интервалов разбиения заданного промежутка (подбор требуемого числа
промежутком осуществляется опытным путем).
Формула Лагранжа:

Совмещенный график исходной функции, узловых точек и


интерполяционного полинома по формуле Лагранжа:
Функция linterp:

Совмещенный график исходной функции, узловых точек и функции


linterp:
5. Выводы
▪ Интерполяция с помощью полинома Лагранжа устраняет процесс
разделения разностей.
▪ Полиномы Лагранжа легче вычисляются и устраняют необходимость
использования методов рекурсии.
▪ Чем больше значение "n" полученного полинома, тем ближе подходит
функция, но чем больше значение интервалов, тем выше номер
полученного полинома и, следовательно, тем сложнее с ним будет
работать.
Найдем суммы квадратов отклонений d найденных аппроксимирующих
полиномов различных степеней от табличных значений во всех узлах. Для
этого составим программу.

График зависимости суммы квадратов отклонений полиномов во всех узлах от


степени полинома.