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

Tеория

Таблична фунция

({{(Subscript[x, i]), (Subscript[x, 0]), (Subscript[x, 1]), ..., (Subscript[x, n])}, {(Subscript[y, i]) = f((Subscript[x, i])), (Subscript[y, 0]), (Subscript[y, 1]), ..., (Subscript[y, n])}})

Геометрична интерпретация

Интерполационни условия

(Subscript[L, n])(xi) = (Subscript[y, i]), i = 0,1,...,n

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

Обща формула

Интерполационен полином на Лагранж от втора степен

втора степен - n=2, т.е. използваме 3 точки

({{(Subscript[x, i]), (Subscript[x, 0]), (Subscript[x, 1]), (Subscript[x, 2])}, {(Subscript[y, i]) = f((Subscript[x, i])), (Subscript[y, 0]), (Subscript[y, 1]), (Subscript[y, 2])}})

(Subscript[L, 2])(x) = (Subscript[y, 0]) (((x-(Subscript[x, 1]))(x-(Subscript[x, 2])))/(((Subscript[x, 0])-(Subscript[x, 1]))((Subscript[x, 0])-(Subscript[x, 2])))) + (Subscript[y, 1]) (((x-(Subscript[x, 0]))(x-(Subscript[x, 2])))/(((Subscript[x, 1])-(Subscript[x, 0]))((Subscript[x, 1])-(Subscript[x, 2]))))+ (Subscript[y, 2]) (((x-(Subscript[x, 0]))(x-(Subscript[x, 1])))/(((Subscript[x, 2])-(Subscript[x, 0]))((Subscript[x, 2])-(Subscript[x, 1]))))

Теоретична оценка на грешката при интерполиране

Обща формула

Теоретична грешка при интерполиране с полином на Лагранж от втора степен

(Subscript[R, 2])(x) ≤ ((Subscript[M, 3])/(3!))|(x - (Subscript[x, 0]))(x - (Subscript[x, 1]))(x - (Subscript[x, 2]))|, където
(Subscript[M, 3]) = max |f'''(x)|

Задача

1. Да се построи таблицата:
(Subscript[x, i]) = 2 + i (0.1),  i = (OverBar[-9, 8])
(Subscript[y, i]) = f((Subscript[x, i])), f(x) = ((e^x)/(x^2)) + 13 sin(x)

2. Да се изберат 3 подходящи точки,  по които да се построи интерполационен полином на Лагранж за интерполиране в точката s = 2.68.

3. Да се построи интерполационен полином на Лагранж по избраните точки.

4. Да се пресметне приближената стойност на функцията в:
	(а) точката s;
	(б) точка далече от разглеждания интервал

5. Направете теоретична оценка на грешката: 
	(а) при апроксимацията в точката s;
	(б) за далечната точка.

1. Генериране на данни (съставяне на таблицата)

1. Да се построи таблицата:
(Subscript[x, i]) = 2 + i (0.1),  i = (OverBar[-9, 8])
(Subscript[y, i]) = f((Subscript[x, i])), f(x) = ((e^x)/(x^2)) + 13 sin(x)

xt = Table[2+i*(0.1),{i,-9,8}]

пояснение за неперово число

E//N

N[E,100]

f[x_]:=((E^x)/(x^2))+13 Sin[x]
f[xt]

съставяме таблицата:

({{(Subscript[x, i]), 1.1, 1.2, ..., 2.6, 2.7, 2.8}, {(Subscript[y, i]), 14.06847751877092`, 14.422144869474321`, ..., 8.69319505779171`, 7.597053905985307`, 6.452377427932002`}})

Length[xt]

2. Избор на подходящи точки

съставяме таблицата:

({{(Subscript[x, i]), 2.6, 2.7, 2.8}, {(Subscript[y, i]), 8.69319505779171`, 7.597053905985307`, 6.452377427932002`}})

3. Построяване на интерполационния полином

Конструиране на полинома

L2[x_]:=8.6932*(((x-2.7)(x-2.8))/((2.6-2.7)(2.6-2.8)))+7.59705*(((x-2.6)(x-2.8))/((2.7-2.6)(2.7-2.8)))+6.45238*(((x-2.6)(x-2.7))/((2.8-2.6)(2.8-2.7)))

L2[x]

Expand[L2[x]]

Геометрично представяне

Plot[{f[x],L2[x]},{x,2.6,2.8},PlotLegends->"Expressions"]

Plot[{f[x],L2[x]},{x,1,4},PlotLegends->"Expressions"]

Plot[{f[x],L2[x]},{x,1,10},PlotLegends->"Expressions"]

Проверка на интерполационните условия

за сравнение:
({{(Subscript[x, i]), 2.6, 2.7, 2.8}, {(Subscript[y, i]), 8.69319505779171`, 7.597053905985307`, 6.452377427932002`}})

L2[2.6]
L2[2.7]
L2[2.8]

4. Пресмятане на приближена стойност на функцията

f(2.68) ≈ (Subscript[L, 2])(2.68)

L2[2.68]

ИНТЕРполация:

Print[" За точката s = 2.68: Приближената стойност на функцията = ", L2[2.68], " Точната стойност на функцията = ", f[2.68], " Истинската грешка на приближението е = ", Abs[L2[2.68] - f[2.68]]]

ЕКСТРАполация:

Print[" За точката s = 5: Приближената стойност на функцията = ", L2[5.], " Точната стойност на функцията = ", f[5.], " Истинската грешка на приближението е = ", Abs[L2[5.] - f[5.]]]

5. Теоретична оценка на грешката

в случай на интерполация

намираме на максимума (Subscript[M, 3])

Plot[Abs[f'''[x]],{x,2.6,2.8}]

M3 = Abs[f'''[2.8]]

R2[x_]:=(M3/(3!))Abs[(x-2.6)(x-2.7)(x-2.8)]
R2[2.68]

за сравнение:

в случай на екстраполация (за точката x  = 5)

намиране на максимума (Subscript[M, 3])

Plot[Abs[f'''[x]],{x,2.6,5}]

M3=14

R2[x_]:=(M3/(3!))Abs[(x-2.6)(x-2.7)(x-2.8)]
R2[5.]

за сравнение: