Warning: include(/var/www/iill7773/data/www/wiselab.ru/wp-content/plugins/wp-super-cache/wp-cache-base.php): failed to open stream: No such file or directory in /home/u7426dd0/domains/wiselab.ru/public_html/wp-content/plugins/wp-super-cache/wp-cache.php on line 65

Warning: include(): Failed opening '/var/www/iill7773/data/www/wiselab.ru/wp-content/plugins/wp-super-cache/wp-cache-base.php' for inclusion (include_path='.:/opt/alt/php55/usr/share/pear:/opt/alt/php55/usr/share/php') in /home/u7426dd0/domains/wiselab.ru/public_html/wp-content/plugins/wp-super-cache/wp-cache.php on line 65

Warning: include_once(/var/www/iill7773/data/www/wiselab.ru/wp-content/plugins/wp-super-cache/ossdl-cdn.php): failed to open stream: No such file or directory in /home/u7426dd0/domains/wiselab.ru/public_html/wp-content/plugins/wp-super-cache/wp-cache.php on line 82

Warning: include_once(): Failed opening '/var/www/iill7773/data/www/wiselab.ru/wp-content/plugins/wp-super-cache/ossdl-cdn.php' for inclusion (include_path='.:/opt/alt/php55/usr/share/pear:/opt/alt/php55/usr/share/php') in /home/u7426dd0/domains/wiselab.ru/public_html/wp-content/plugins/wp-super-cache/wp-cache.php on line 82
Интерполяция и аппроксимация функциональных зависимостей | Учебники

Главная > Maple 15 > Интерполяция и аппроксимация функциональных зависимостей


Интерполяция и аппроксимация функциональных зависимостей

Интерполяция и аппроксимация функциональных зависимостей
Интерполяция, экстраполяция и аппроксимация
Вычисление многих функций, особенно специальных, требует больших затрат времени. Поэтому до сих пор широко применяются таблицы таких функций. Достаточно отметить знаменитые на весь мир таблицы в книге «Справочник по специальным функциям с формулами, графиками и таблицами» под редакцией М. Абрамовица и И. Стиган [59].
Если некоторая зависимость у(х) представлена рядом табличных отсчетов y(x), то интерполяцией принято называть вычисление значений у(х) при заданном х, расположенном в интервале между отсчетами. За пределами общего интервала определения функции [а,b], то есть при х < а и х > b, вычисление у(х) называют экстраполяцией (или иногда предсказанием значений функции). В данном случае речь идет об одномерной интерполяции, но возможны двумерная интерполяция функций двух переменных z(x, у) и даже многомерная интерполяция для функций многих переменных.
Интерполяция и экстраполяция часто выполняются по некоторой скрытой, но подразумеваемой зависимости. Например, если узловые точки функции соединить отрезками прямых, то будем иметь многоинтервальную линейную интерполяцию данных. Если использовать отрезки параболы, то интерполяция будет параболической. Особое значение имеет многоинтервальная сплайн-интерполяция, области применения которой уже сейчас весьма обширны и непрерывно расширяются. Интерполяция рядом Фурье (набором синусоидальных функций) также достаточно хорошо известна; она эффективна при интерполяции периодических функций.
Аппроксимацией в системах компьютерной математики обычно называют получение приближенных значений какого-либо выражения. Однако под аппроксимацией функций подразумевается получение некоторой конкретной функции, вычисленные значения которой с некоторой точностью аналогичны аппроксимируемой зависимости. Обычно предпочитают найти одну зависимость, приближающую заданный ряд узловых точек. Часто для этого используют степенные многочлены — полиномы.
Здесь мы будем рассматривать такие виды аппроксимации, которые дают точные значения функции у(х) в узловых точках в пределах погрешности вычислений по умолчанию. Если аппроксимирующая зависимость выбирается из условия наименьшей среднеквадратической погрешности в узловых точках (метод наименьших квадратов), то мы имеем регрессию или приближение функций по методу наименьших квадратов.
Аппроксимация аналитически заданных функций
Если функция задана аналитически, то наиболее простым способом нахождения ее аппроксимирующей зависимости является применение функции convert. Это поясняют следующие примеры:

На представлен пример полиномиальной аппроксимации хорошо известной статистической функции erfc(x). Для полинома задана максимальная степень 12, но ввиду отсутствия в разложении четных степеней максимальная степень результата оказывается равна 11.
Как видно из приведенного рисунка, в интервале изменениях от -1,5 до 1,5 аппроксимирующее выражение почти повторяет исходную зависимость. Однако затем график аппроксимирующей функции быстро отходит от графика исходной зависимости. При этом он ведет себя иначе даже качественно, никоим образом не показывая асимптотическое поведение, характерное для исходной зависимости.

Полиномиальная интерполяция табличных данных
Если данные некоторой зависимости у(х) заданы векторами X и Y ее дискретных значений, то для получения интерполяционного степенного многочлена достаточно записать многочлен для всех N пар значений yi(xi) при i=1…N (или i =0…N- 1, если индексы отсчетов начинаются с нуля). Полученная при этом система линейных (относительно коэффициентов полинома) уравнений после решения дает коэффициенты аппроксимирующего полинома. Степень полинома на 1 меньше N, а вычисляемые при х значения  у(х) совпадают с табличными (узловыми) в пределах вычислительной погрешности.
На самом деле все это делать не нужно, поскольку Maple 15 имеет реализующую данный алгоритм встроенную функцию interp(X,Y,v) или в инертной форме Interp(X,Y,v).
Переменная v указывает имя переменной интерполяционного полинома. Векторы X и Y должны содержать n + 1 =N координат точек исходной зависимости, где и — степень интерполирующего полинома.
Рисунок 9.5 показывает технику применения полиномиальной аппроксимации на основе функции interp с построением графика исходных точек и аппроксимирующего полинома. Нетрудно заметить, что график полинома проходит точно через исходные точки — они показаны квадратиками.
В этом примере полезно присмотреться к визуализации результатов вычислений и совместному построению графика интерполирующего полинома и исходных точек. В частности, для построения последних использована обычная функция plot, позволяющая выводить на график точки с заданными координатами, причем не только в виде окружностей, но и в виде точек, маленьких крестиков, кружков, квадратов и других фигур. Для выбора типа точек и других параметров графика его надо выделить (установив указатель мыши в поле графика и щелкнув левой кнопкой) и нажать правую кнопку мыши — появится контекстно-зависимое меню с операциями форматирования графика. Это меню показано.
Приведем еще несколько примеров использования функции Interp:

Статьи по теме

Комментарии запрещены.