Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Интерполяционный многочлен Лагранжа. Пусть функция задана таблицей (1)
Пусть функция задана таблицей (1). Построим интерполяционный многочлен Ln(x), чья степень не превосходит n, и для которого выполнены условия (2). Ln(x) ищем в виде Ln(x)= l0(x)+ l1(x)+ l2(x)+…+ ln(x), где li(x) – многочлен степени n, причем Многочлен li(x) составлен следующим образом: li(x)=ci (x-x0) (x-x1)… (x-xi-1) (x-xi+1)… (x-xn), где ci=const. Таким образом, получим интерполяционный многочлен Лагранжа: . Погрешность вычисляется по формуле: , где . Составим интерполяционный многочлен Лагранжа для трех точек:
Программа вычисления значения интерполяционного многочлена Лагранжа: program lagrang; const k=30; type vektor=array[1..k] of real; var x, y: vektor; n, i, j: byte; l, f, a, m: real; begin write('Вв. кол-во узлов интерполирования - '); readln(n); writeln('Введите парами значения Х и Y'); for i: =1 to n do readln(X[i], y[i]); repeat write('Введите заданное значение аргумента - '); readln(A); F: =0; for i: =1 to n do begin L: =1; for j: =1 to n do if i< > j then L: =L*(A-X[j])/(X[i]-X[j]); L: =L*Y[i]; F: =F+L; end; writeln('При Х=', A: 5: 3, ' F(', A: 5: 3, ') = ', F: 10: 6); writeln('Закончить – 0. Продолжить – 1.'); readln(m) until M=0 end. Блок-схема составления интерполяционного многочлена Лагранжа:
|