Обработка опытных данных с помощью интерполирования

Цель: изучить задачи интерполирования; научиться составлять блок-схемы алгоритмов интерполирования и реализовывать их на ЭВМ.

Общие сведения:

Пусть некоторая функция задана таблично, т.е. для xi заданы значения функции yi=f(xi), i=0,1,…,n. Требуется найти аналитическое выражение некоторой функции Р, которая в точках xi принимала бы значения yi. В такой постановке задача может иметь бесконечное множество решений или не иметь их совсем.

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

Для заданных значений yi=f(xi), i=0,1,…, n можно построить многочлен n- й степени

обработка опытных данных с помощью интерполирования - student2.ru ,

удовлетворяющий двум условиям:

- в точках xi, i=0,1,…,n значения многочлена Рn(xi) совпадают со значениями заданной функции f(xi), т.е. Рn(xi)= f(xi) = yi;

- в любой другой точке xÎ[x0; xn] выполняется приближенное равенство Р(x) » f(x).

Многочлен Рn(x) называется интерполяционным многочленом, а точки x0, x1, …, xn - узлами интерполирования.

1) Линейное интерполирование

В простейшем случае при n =1 интерполяционный многочлен имеет вид линейной функции обработка опытных данных с помощью интерполирования - student2.ru .

Интерполирование многочленом Р1(x) называется линейным интерполированием.

Пусть неизвестная функция f задана в двух точках:

f(x0) = y0 и f(x1) = y1 .

График линейной функции Р1(x) должен проходить через данные точки, поэтому получаем систему уравнений:

обработка опытных данных с помощью интерполирования - student2.ru

Решая ее относительно a0 и a1 получим:

обработка опытных данных с помощью интерполирования - student2.ru .

Интерполяционный многочлен Р1(x) можно записать также в следующем виде:

обработка опытных данных с помощью интерполирования - student2.ru .

Следовательно, функцию f можно представить приближенным равенством.

Формула

обработка опытных данных с помощью интерполирования - student2.ru

называется формулой линейного интерполирования.

2) Параболическое интерполирование

Пусть некоторая функция f задана своими значениями в (n+1) узле интерполирования, т.е. f(xi) = yi, i=0, 1, …, n. В качестве интерполяционного многочлена берут параболу n-го порядка

обработка опытных данных с помощью интерполирования - student2.ru .

3) Интерполирование полиномом

Для приближенного вычисления значений функции f в промежуточных точках xÎ[x0; xn], x ¹ xi (i=0,1,…,n)существует интерполяционная формула Лагранжа:

обработка опытных данных с помощью интерполирования - student2.ru .

При разработке алгоритма формулу Лагранжа представляют в виде:

обработка опытных данных с помощью интерполирования - student2.ru .

Блок-схема алгоритма приведена на рис.12.1.

 
  обработка опытных данных с помощью интерполирования - student2.ru

обработка опытных данных с помощью интерполирования - student2.ru

Приняты следующие условные обозначения. Исходные данные: значение n, табличные значения аргументов xi, функции yi, а также значения аргумента x, при котором необходимо вычислять функцию f(x); S - частичные суммы интерполяционной формулы Лагранжа, в конечном итоге значение функции f в точке x; PW - произведение множителей числителя одного слагаемого формулы Лагранжа; PN - произведение множителей знаменателя одного слагаемого формулы Лагранжа.

Интерполирование функции с помощью пакета MathСad.

1) линейная интерполяция

linterp(x,y,t) – функция, котораяаппроксимируют данные векторов х и у кусочно-линейной зависимостью (х – вектор действительных данных аргумента, элементы которого расположены в порядке возрастания (х1<x2<…<xn); у - вектор действительных данных значений того же размера; t – значение аргумента, при котором вычисляется интерполирующая функция).

Пример линейной интерполяции

обработка опытных данных с помощью интерполирования - student2.ru обработка опытных данных с помощью интерполирования - student2.ru

2) кубическая сплайн-интерполяция

interp(s,x,y,t) – функция, аппроксимирующая данные векторов х и у кубическими сплайнами (s – вектор вторых производных, созданный одной из сопутствующих функций cspline, pcspline и lcspline; х – вектор действительных данных аргумента, элементы которого расположены в порядке возрастания; у - вектор действительных данных значений того же размера; t – значение аргумента, при котором вычисляется интерполирующая функция). cspline(x,y) – вектор значений коэффициентов линейного сплайна; pcspline – вектор значений коэффициентов квадратичного сплайна и lcspline – вектор значений коэффициентов кубического сплайна.

Пример кубической сплайн-интерполяции

обработка опытных данных с помощью интерполирования - student2.ru обработка опытных данных с помощью интерполирования - student2.ru

3) полиномиальная сплайн-интерполяция

interp(s,x,y,t) – функция, аппроксимирующая данные векторов х и у с помощью В-сплайнов; bspline(x,y,u,n) – вектор значений коэффициентов В-сплайна (s – вектор вторых производных, созданный функций bspline; х – вектор действительных данных аргумента, элементы которого расположены в порядке возрастания; у - вектор действительных данных значений того же размера; t – значение аргумента, при котором вычисляется интерполирующая функция; u - вектор значений аргумента, в которых производится сшивка В-сплайнов; n – порядок полиномов сплайновой интерполяции.

Пример интерполяции В-сплайнами

обработка опытных данных с помощью интерполирования - student2.ru обработка опытных данных с помощью интерполирования - student2.ru

Задание:

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

2. Изучить блок-схему алгоритма интерполирования по формуле Лагранжа.

3. Составить блок-схему алгоритма обратного интерполирования по формуле Лагранжа.

4. Составить программу интерполирования функции по формуле Лагранжа для опытных данных (согласовать с преподавателем) и реализовать ее на ПК.

5. Выполнить интерполирование функции различными методами с помощью пакета MathСad.

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

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

2. Опишите постановку задачи интерполирования в общем виде.

3. Что такое интерполяция и экстраполяция? Приведите формулу.

4. Опишите методы интерполирования.

5. Приведите сравнительную характеристику методов интерполирования.

6. Поясните алгоритмы методов интерполирования.

7. Чем оценивается точность функции интерполирования?

8. Поясните программу интерполирования функции по формуле Лагранжа.

9. Как выполнить интерполирование с помощью пакета Mathcad?

Лабораторная работа №13

Наши рекомендации