А.3 Примеры решения задачи интерполяции с использованием формулы Лагранжа

А.3.1 Пример реализации вычислений поинтерполяционной формуле Лагранжа на основе программного блока

 

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

 

Примечания:

(1) Вставка вертикальной черты (новая строка программы) - клавиша «закрывающая квадратная скобка» ], либо кнопка Add Lineна панелиProgramming;

(2) Стрелка служит оператором присваивания в теле программы, вводится клавишей «открывающая скобка» {, либо выбором кнопки со стрелкой на панели Programming.

 

В качестве аргументов функции int_lagr рассматриваются последовательности (массивы) x и y длиной n. Массив x интерпретируется как последовательность аргументов таблично задаваемой функции y(х).

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

Имена аргументов (x, y, xf) функции int_lagr называются формальными параметрами. При каждой конкретной реализации они могут быть заменены на фактические, т.е. на другие имена аналогичных объектов. Например, вместо массива х может быть использован массив с именем τ, вместо массиваy -массив с именем c,а значение точки интерполяции может быть задано константой.

Пусть табличное представление функции задаётся массивами τ и с:

Число элементов в задаваемых массивах n=12.

Результаты выполненных расчетов имеют вид:

а) вычисление функции в узле точно совпадает с табличным значением:

б) вычисление функции между узлами:

Однако интерполяция при большом числе узлов приводит к необходимости работать с многочленами высокой степени (например, 50-й или даже 100-й), что неприемлемо как с точки зрения вычислений, так и из-за склонности таких многочленов к осцилляции (колебаниям) между узлами сетки.

Поэтому на практике часто используют интерполяцию кусочными многочленами (или локальную интерполяцию). При локальной интерполяции между различными узлами выбираются различные многочлены невысокой степени.