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

Когда Вы имеете дело с выборкой экспериментальных данных, то они, чаще всего, представляются в виде массива, состоящего из пар чисел (xi, yi). Поэтому возникает задача аппроксимации дискретной зависимости y(xj непрерывной функцией f(x). Функция f(x), в зависимости от специфики задачи, может отвечать различным требованиям:

  • f(x) должна проходить через точки (xi, yi), т.е. f (хi)=уi, i=1...n. В этом случае (см. разд. 15.1) говорят об интерполяции данных функцией f (х) во внутренних точках между хi, или экстраполяции за пределами интервала, содержащего все хi;
  • f (х) должна некоторым образом (например в виде определенной аналитической зависимости) приближать y(xi), не обязательно проходя через точки (xi, yi). Такова постановка задачи регрессии (см. разд. 15.2), которую во многих случаях также можно назвать сглаживанием данных;
  • f (х) должна приближать экспериментальную зависимость y(xi), учитывая к тому же, что данные (xi, yi) получены с некоторой погрешностью, выражающей шумовую компоненту измерений. При этом функция f (х), с помощью того или иного алгоритма, уменьшает погрешность, присутствующую в данных (xi, yi). Такого типа задачи называют задачами фильтрации (см. разд. 15.3). Сглаживание — частный случай фильтрации.

Различные виды построения аппроксимирующей зависимости f (х) иллюстрирует рис. 15.1. На нем исходные данные обозначены кружками, интерполяция отрезками прямых линий — пунктиром, линейная регрессия — наклонной прямой линией, а фильтрация — жирной гладкой кривой. Эти зависимости приведены в качестве примера и отражают лишь малую часть возможностей Mathcad по обработке данных. Вообще говоря, в Mathcad имеется целый арсенал встроенных функций, позволяющий осуществлять самую различную регрессию, интерполяцию-экстраполяцию и сглаживание данных.

Рис. 15.1. Разные задачи аппроксимации данных

Как в целях подавления шума, так и для решения других проблем обработки данных, широко применяются различные интегральные преобразования. Они ставят в соответствие всей совокупности данных у(х) некоторую функцию другой координаты (или координат) F(CO). Примерами интегральных преобразований являются преобразование Фурье (см. разд. 15.4.1) и вейвлетное преобразование (см. разд. 15.4.2). Напомним, что некоторые преобразования, например Фурье и Лапласа, можно осуществить в режиме символьных вычислений (см. гл. 5). Каждое из интегральных преобразований эффективно для решения своего круга задач анализа данных.

Для построения интерполяции-экстраполяции в Mathcad имеются несколько встроенных функций, позволяющих "соединить" точки выборки данных (xi, yi) кривой разной степени гладкости. По определению интерполяция означает построение функции д(х), аппроксимирующей зависимость у(х) в промежуточных точках (между xi). Поэтому интерполяцию еще по-другому называют аппроксимацией. В точках xi значения интерполяционной функции должны совпадать с исходными данными, т. е. A(xi) =у(xi).

Везде в этом разделе при рассказе о различных типах интерполяции будем использовать вместо обозначения А(Х) другое имя ее аргумента A(t), чтобы не путать вектор данных х и скалярную переменную t.