Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






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






Лагранж предложил следующую форму записи интерполяционного полинома:

(15)

В случае n=1 интерполяционная формула Лагранжа дает уравнение прямой, проходящей через две заданные точки:

(16)

Старшая степень аргумента x в полиноме Лагранжа равна n, так как каждое произведение в формуле содержит n сомножителей x – x j. В узлах x=x iвыполняются условия P n (x i )=f(x i ), потому что в сумме (15) остается по одному слагаемому f i, остальные обращаются в нуль за счет нулевых сомножителей в произведениях.

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

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

Ниже приведена программа для вычисления интерполяционного полинома Лагранжа. В строках 20-40 программы вводятся парные значения аргумента x и функции y для (N+1) узлов. В строке 50 задается значение аргумента x, для которого в строках 60-120 производится вычисление полинома Лагранжа.

Для контроля и отладки программы она использована для вычисления приближенного значения функции ошибок erf(x). При запуске программы введены 6 парных табличных значений функции. Затем для аргумента x=1.175 рассчитан полином Лагранжа, определяющий приближенное значение функции ошибок, erf( 1.175 ) @ P n ( 1.175 ) = 0.90342. Табличное значение функции равно erf( 1.175 ) = 0.90343.

Программа интерполяции полиномом Лагранжа:

10 PRINT " Интерполяция полиномом Лагранжа для N+1 узлов"

20 INPUT " Введите N="; N: DIM A(N), B(N)

30 PRINT " Введите значения X(I) и Y(I), I=0, 1, 2...N."

40 FOR I=0 TO N: PRINT " X" I; ", Y" I;: INPUT A(I), B(I): NEXT I

50 PRINT: INPUT " Введите X="; X: S=0

60 IF X=A(0) THEN PRINT " Y(X)=" B(0): GOTO 50

70 FOR J=1 TO N: C=1: FOR I=1 TO N

80 D=A(J)-A(I): IF I=J THEN D=X-A(J)

90 IF D=0 THEN PRINT " Y(X)=" B(I): GOTO 50

100 C=C*(X-A(I))/D: NEXT I

110 S=S+C*B(J): NEXT J

120 PRINT " Y(X)=" S: GOTO 50

130 END

Расчет на ЭВМ:

Интерполяция полиномом Лагранжа для N+1 узлов.

Введите N=? 5

Введите значения X(I) и Y(I), I=0, 1, 2...N.

X 0, Y 0? 1.00, 0.84270

X 1, Y 1? 1.05, 0.86244

X 2, Y 2? 1.10, 0.88021

X 3, Y 3? 1.15, 0.89612

X 4, Y 4? 1.20, 0.91031

X 5, Y 5? 1.25, 0.92290

Введите X=? 1.175

Y(X)= 0.90342

Введите X=?






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.