Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Интерполяционный полином Лагранжа




 

Интерполяционный полином Лагранжа имеет вид:

 

(4.7)

 

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

 

Составим алгоритм вычисления, записав полином (4.7) в виде

где

Тогда, если рекуррентная формула для вычисления полинома

 

, для при

то вычисление коэффициентов сводится к следующим выражениям

 

; ;…. , для

Если промежуточных значений запоминать не требуется, то алгоритм прост.

 

Вычислим в точке значение функции , заданной таблично

 

Х   5.5   6.5  
Y   76.625   148.875  

 

используя полином Лагранжа.

Дальнейшие вычисления приведем в таблице5.2.

Таблица 5.2. Вспомогательная таблица для интерполирования значений сеточной функции полиномом Лагранжа

 

i xi xi-x0 xi-x1 xi-x2 xi-x3 xi-x4 yi Di
    0,75 -0,5 -1 -1,5 -2   1,5
  5,5 0,5 0,25 -0,5 -1 -1,5 76,625 -0,375
      0,5 -0,25 -0,5 -1   0,25
  6,5 1,5   0,5 -0,75 -0,5 148,875 -0,375
      1,5   0,5 -1,25   1,5

 

где - произведение элементов i–й строки.

- произведение элементов главной диагонали.

Диагональные элементы получаем путем подставления х вместо . Например, для в ячейке xi-x0 получим .

Используя многочлен Лагранжа четвертой степени записанный в форме:

получим .

 

Представим реализацию интерполяции полиномом Лагранжа в пакете MathCad.

 

Составим фрагмент программы

 

p:=0;

for k:=0 to n do

begin b:=1;

for j:=0 to n do

if j <> k

then begin q:=x[k]-x[i]; s:= x-x[i]; b:= b*s/q; p=p+b*y[k] end

end;

 

и его нетрудно обобщить на случай вычисления первой и второй производных:

 

 






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных