Типовые задачи >  Интерполяция функций >  Примеры


Примеры интерполяции функций

При кажущейся простоте интерполяционных формул их реализация в виде программных блоков довольно громоздка. Приведем примеры простейших вариантов программных блоков, описывающих функции интерполяции рассмотренными методами. В наших примерах x, y – векторы табличных значений аргумента и функции (узлы); xf – значение аргумента, при котором требуется вычислить значение функции.

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

Пример 1: HTML-документ; рабочий лист Mathcad

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

Пример 2: HTML-документ; рабочий лист Mathcad

3. Mathcad имеет встроенную функцию linterp(vx, vy, x), возвращающую значение функции в точке x, вычисленное при линейной интерполяции данных с точками, координаты которых хранятся в векторах vx и vy .

Пример 3: HTML-документ; рабочий лист Mathcad

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

Проиллюстрируем последнее утверждение графиком, на котором точками заданы узлы функции (7 точек синусоиды на интервале [0, 2π]), синим цветом – результат линейной интерполяции, а сиреневым – интерполяция по формуле Лагранжа.

Очевидно, что последний результат наилучший.

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

Пример 4: HTML-документ; рабочий лист Mathcad


Типовые задачи >  Интерполяция функций >  Примеры