Gm2irk - Образовательный портал
  • Главная
  • Лексика
  • Интерполяционная формула лагранжа. Интерполяция функции многочленами лагранжа Для случая равномерного распределения по отрезку узлов интерполяции

Интерполяционная формула лагранжа. Интерполяция функции многочленами лагранжа Для случая равномерного распределения по отрезку узлов интерполяции

Лабораторная работа №2

Приближение функций, заданных таблично

Цель лабораторной работы

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

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

Задание

Для функций, заданных в таблице 1:

· построить интерполяционный многочлен Лагранжа и вычислить по нему значения функции для заданных значений аргумента;

· изучить технологию расчетов интерполяционных многочленов в Excel;

Для функций, заданных в таблице 2:

· Вычислить коэффициенты аппроксимирующих многочленов 1-й и 2-й степени, записать многочлены и построить их графики, на которые нанести также заданные табличные точки (расчеты выполнить в виде таблиц);

· изучить технологию регрессионного анализа с помощью Excel.

Интерполирование функций

Постановка задачи

Для функций, заданных таблицами их значений на конечном интервале, возникает необходимость вычисления значений функций для значений аргументов, отсутствующих в таблице. Тогда строят функцию, которая в заданных точках принимает заданные значения, а в остальных точках интервала приближенно представляет заданную функцию. А затем вычисления значений функции для любых значений аргумента в области определения заданной таблично функции выполняют по построенной функции. Задача интерполирования – построение такой приближенной функции. Чаще всего интерполирующую функцию отыскивают в виде алгебраического многочлена. Геометрически задача интерполирования заключается в построении кривой , проходящей через заданную таблично систему точек.

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

Пусть функция в точках соответственно принимает значения .Требуется построить многочлен степени не выше n, принимающий в точках (узлах интерполирования) значения . Расстояние между узлами интерполирования может быть различным. Решение этой задачи – многочлен Лагранжа.



Интерполяционная формула Лагранжа в общем виде

где – базисные функции, числитель которых содержит все разности , а знаменатель – все разности за исключением .

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

Пример 1.1. Запишем интерполяционный многочлен для функции, заданной тремя точками:

X
Y

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

Для построения интерполяционного многочлена воспользуемся формулой при :

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

Вычисляем

Интерполяционную формулу в Ехсеl можно построить достаточно простым способом. С практической точки зрения главная проблема заключается в вычислении в произвольной точке значений базисных функций.

Пример 1.2. Запишем интерполяционный многочлен для функции, заданной шестью точками:

X0 X1 X2 X3 X4 X5 Y0 Y1 Y2 Y3 Y4 Y5 X
1,1 1,2 1,3 1,4 1,5 1,6 0,88 0,91 0,93 0,95 0,96 0,97 1,54

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

В диапазоне ячеек А6:А11 представлены заданные значения аргументов функции, а в диапазоне ячеек В6:В11 – значения функции для узловых точек аргумента. В ячейку А2 вводится значение аргумента, для которого необходимо вычислить значение интерполяционного полинома. Значение полинома будет выводиться в ячейке В2. Важным моментом является заполнение ячеек в диапазоне С6:С11, где будут отображаться значения базисных функций в точке, указанной в ячейке А2. Именно по этим значениям и значениям ячеек из диапазона А6:А11 определяется значение интерполяционного полинома (ячейка В2).

Диапазон С6:С11 заполняется так: отдельно первая и последняя ячейки диапазона, а все остальные ячейки - распространением одной формулы. В частности, в ячейку С6 вводится формула

ПРОИЗВЕД(А2-А7:А11)/ ПРОИЗВЕД(А6-А7:А11),

согласно которой определяется первая базисная функция. Сразу следует отметить, что и эта формула, и все прочие формулы из диапазона С6:С11, вводятся как формулы для диапазонов, т.е. с помощью нажатия комбинации клавиш Ctrl+Shift+Enter. Причина состоит в том, что аргументами функции ПРОИЗВЕД() указываются результаты арифметическихопераций с диапазонами.

ПРОИЗВЕД($A$2-$A$6:A6;$A$2-A8:$A$11)/ПРОИЗВЕД(A7-$A$6:A6;A7-A8:$A$11).

Абсолютные и относительные ссылки в формуле подобраны так, чтобы при ее копировании в следующие ячейки, ссылки на начальную А6 и конечную А11 ячейки диапазона, равно как и на ячейку А2 со значением переменной, для которой вычисляется базисная функция (и весь полином), оставались неизменными. Это абсолютные ссылки. Вместе с тем, в процессе копирования формулы произведения в ней вычисляются без учета значения аргумента в той строке, где размещена формула. После ввода формулы в ячейку С7 данная формула с помощью маркера заполнения копируется во все ячейки, вплоть до С10 (Рис. 1.2).

Наконец, в ячейку С11 необходимо ввести формулу

ПРОИЗВЕД(А2-А6:А10)/ ПРОИЗВЕД(А11-А6:А10).

Поскольку формулы из начальной С6 и конечной С11 ячеек диапазона С6:С11 никуда копировать не предполагается, то и ссылки там относительные. Результат можно видеть на рис. 1.3.

После этого осталось только вычислить интерполяционный полином. Для этого достаточно в ячейку В2 ввести формулу

СУММПРОИЗВ(В6:В11;С6:С11)

Эта формула вводится как обычная, то есть нужно нажать клавишу Enter. Результат представлен на рис. 1.4.

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

4.3 Интерполяция функции многочленами Лагранжа

Рассмотрим другой подход к приближению функции многочленами. Пусть функция y = f(x) определена на отрезке и известны значения этой функции в некоторой системе узлов x i Î , i = 0, 1, … , n. Например, эти значения получены в эксперименте при наблюдении некоторой величины в определенных точках или в определенные моменты времени x 0 , x 1 , … , x n . Обозначим эти значения следующим образом: y i = f(x i), i = 0, 1, … , n. Требуется найти такой многочлен P(x) степени m,

P(x) = a 0 + a 1 x + a 2 x 2 + … + a m x m , (4.5)

который бы в узлах x i , i = 0, 1, … , n принимал те же значения, что и исходная функция y = f(x), т. е.

P(x i) = y i , i = 0, 1, … , n. (4.6)

Многочлен (4.5), удовлетворяющий условию (4.6), называется интерполяционным многочленом.

Другими словами, ставится задача построения функции y = P(x), график которой проходит через заданные точки (x i , y i), i = 0, 1, … , n (рис. 4.1).

Объединяя (4.5) и (4.6), получим:

a 0 + a 1 x i + a 2 x + … + a m x = y i ,i = 0, 1, … , n. (4.7)

В искомом многочлене P(x) неизвестными являются m +1 коэффициент a 0 , a 1 , a 2 , …, a m . Поэтому систему (4.7) можно рассматривать как систему из n +1 уравнений с m +1 неизвестными. Известно, что для существования единственного решения такой системы необходимо, чтобы выполнялось условие: m = n. Таким образом, систему (4.7) можно переписать в развернутом виде:

a 0 + a 1 x 0 + a 2 x + … + a n x = y 0

a 0 + a 1 x 1 + a 2 x + … + a n x = y 1

a 0 + a 1 x 2 + a 2 x + … + a n x = y 2 (4.8)

a 0 + a 1 x n + a 2 x + … + a n x = y n


Вопрос о существовании и единственности интерполяционного многочлена решает следующая теорема:

Теорема 4.1. Существует единственный интерполяционный многочлен степени n, удовлетворяющий условиям (4.6).

Имеются различные формы записи интерполяционного многочлена. Широко распространенной формой записи является многочлен Лагранжа

L n (x) = = . (4.9)

В частности, для линейной и квадратичной интерполяции по Лагранжу получим следующие интерполяционные многочлены:

L 1 (x) = y 0+ y 1,

L 2 (x) = y 0 +y 1 + y 2 .

Пример 4.3.

Построим интерполяционный многочлен Лагранжа по следующим данным:

0 2 3 5
1 3 2 5

Степень многочлена Лагранжа для n +1 узла равна n. Для нашего примера многочлен Лагранжа имеет третью степень. В соответствии с (4.9)


L 3 (x) = 1+3 + 2 + 5 = 1 + x – x 2 + x 3 .

Пример 4.4.

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

Для функции y = sinx известны следующие данные.

0 p/6 p/3 p/2
0 ½ 1

Вычислим y(0.25).

Найдем многочлен Лагранжа третьей степени:

L 3 (x) = 0 + +

+ 1.

При x = 0.25 получим y(0.25) = sin 0.25 » 0.249.

Погрешность интерполяции. Пусть интерполяционный многочлен Лагранжа построен для известной функции f(x). Необходимо выяснить, насколько этот многочлен близок к функции в точках отрезка , отличных от узлов. Погрешность интерполяции равна |f(x) – P n (x)|. Оценку погрешности можно получить на основании следующей теоремы.

Теорема 4.2. Пусть функция f(x) дифференцируема n +1 раз на отрезке , содержащем узлы интерполяции x i Î , i = 0, 1, … , n. Тогда для погрешности интерполяции в точке x Î справедлива оценка:

|f(x) – L n (x)|£ |w n+ 1 (x)|, (4.10)

M n+ 1 = |f (n+1) (x)|,

w n+ 1 (x) = (x – x 0)(x – x 1)…. (x – x n).

Для максимальной погрешности интерполяции на всем отрезке справедлива оценка:

|f(x) – L n (x)| £ |w n (x)| (4.11)

Пример 4.5.

Оценим погрешность приближения функции f(x) = в точке x = 116 и на всем отрезке , где a = 100, b = 144, с помощью интерполяционного много члена Лагранжа L 2 (x) второй степени, построенного с узлами x 0 = 100, x 2 = 144.

Найдем первую, вторую и третью производные функции f(x):

f "(x)= x – 1/2 , f "(x)= – x –3/2 , f"""(x)= x –5/2 .

M 3 = | f"""(x)| = 100 –5/2 = 10 –5 .

В соответствии с (4.9) получим оценку погрешности в точке x = 116.

Будем искать интерполяционный многочлен в виде

ВАНДЕРМОНД АЛЕКСАНДР ТЕОФИЛЬ (Vandermonde Alexandre Theophill; 1735-1796)- французский математик, чьи основные работы относятся к алгебре. В. заложил основы и дал логическое изложение теории детерминантов (определитель Вандермонда), а также выделил ее из теории линейных уравнений. Он ввел правило разложения детерминантов с помощью миноров второго порядка.

Здесь 1.(х) - многочлены степени л, так называемые ЛАГРАНЖЕ- ВЫ МНОГОЧЛЕНЫ ВЛИЯНИЯ, удовлетворяющие условию

Последнее условие означает, что любой многочлен l t (x) равен нулю при каждом х-у кроме х. у т. е. х 0 у x v ...» х { _ v x i + v ...» х п - корни этого многочлена. Следовательно, лагранжевы многочлены Ifjx) имеют вид

Так как по условию 1.(х.) = 1, то

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

а интерполяционный многочлен (2.5) запишется в виде

ЛАГРАНЖ ЖОЗЕФ ЛУИ (Lagrange Joseph Louis; 1736- 1813) - выдающийся французский математик и механик, наиболее важные труды которого относятся к вариационному исчислению, к аналитической и теоретической механике. В основу статики Л. положил принцип возможных (виртуальных) перемещений. Он ввел обобщенные координаты и придал уравнениям движения механической системы форму, названную его именем. Л. получил ряд важных результатов в области анализа (формула остаточного члена ряда Тейлора, формула конечных приращений, теория условных экстремумов); в теории чисел (теорема Лагранжа); в алгебре (теория непрерывных дробей, приведение квадратичной формы к сумме квадратов); в теории дифференциальных уравнений (отыскание частного решенияу изучение обыкновенного дифференциального уравнения первого порядка, линейного относительно искомой функции и независимой переменной, с переменными коэффициентами, зависящими от производной от искомой функции); в теории интерполирования (интерполяционная формула Лагранжа).

Интерполяционный многочлен в форме (2.6) называется ИНТЕРПОЛЯЦИОННЫМ МНОГОЧЛЕНОМ ЛАГРАНЖА. Перечислим основные достоинства этой формы записи интерполяционного многочлена.

  • Число арифметических операций, необходимых для построения многочлена Лагранжа, пропорционально п 2 и является наименьшим для всех форм записи.
  • Формула (2.6) в явном виде содержит значения функций в узлах интерполяции, что бывает удобно при некоторых вычислениях, в частности, при построении формул численного интегрирования.
  • Формула (2.6) применима как для равноотстоящих, так и для неравноотстоящих узлов.
  • Интерполяционный многочлен Лагранжа особенно удобен, когда значения функций меняются, а узлы интерполяции неизменны, что имеет место во многих экспериментальных исследованиях.

К недостаткам этой формы записи можно отнести то, что с изменением числа узлов приходится все вычисления проводить заново. Это затрудняет проведение апостериорных оценок точности (оценок, получающихся в процессе расчета).

Введем функцию ю л f , = (х - х 0)(х - Xj)...(x - х п) = fl (* “ *;)

Отметим, что ш п + : (х) есть многочлен степени п + 1. Тогда формулу (2.6) можно записать в виде

Приведем формулы линейной и квадратичной интерполяции по Лагранжу:


Многочлен Лагранжа является в формуле (2.8) многочленом 1-й и в формуле (2.9) - многочленом 2-й степени.

Эти формулы наиболее часто используются на практике. Пусть задан (п + 1) узел интерполяции. На этих узлах можно построить один интерполяционный многочлен п -й степени, (п - 1) многочлен первой степени и большой набор многочленов степени меньше п, опирающихся на некоторые из этих узлов. Теоретически максимальную точность обеспечивает многочлен более высокой степени. Однако на практике наиболее часто используют многочлены невысоких степеней во избежание погрешностей при расчетах коэффициентов при больших степенях многочлена.

Пусть на отрезке в некоторой последовательностиузловзадана функциясвоими значениями, где. Задача алгебраического интерполирования состоит в построении многочленастепени, удовлетворяющего условию интерполирования:.

Известно, что существует единственный полином степени не выше , принимающий в исходных точках заданные значения. Коэффициентыполиномаможно определить из системы уравнений:

Определитель этой системы есть определитель Вандермонда, и, следовательно, система имеет единственное решение.

Пример. Построить интерполяционный многочлен , совпадающий с функциейв точках.

Решение. Пусть , поэтому имеем

Поэтому при.

Многочлен Лагранжа

Будем искать многочлен в виде линейной комбинации множеств степени :.

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

.

Действительно, . Причислитель выражения равен 0. По аналогии получим:

,

Подставив эти формулы в исходный многочлен, получим:

Эта формула называется интерполяционным многочленом Лагранжа.

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

.

Решение. Составим таблицу

Подставляя эти значения в формулу Лагранжа, получим:

Если функция непрерывно дифференцируема до-го порядка включительно, то остаточный член интерполяционного многочлена в форме Лагранжа имеет вид

где – внутренняя точка минимального отрезка, содержащего узлы интерполированияи точку.

Многочлен Ньютона с конечными разностями

Рассмотрим случай равноотстоящих узлов интерполяции, т. е. – называется шагом.

Введем понятие конечных разностей. Пусть известны значения функции в узлах . Составим разности значений функции:

Эти разности называются разностями первого порядка.

Можно составить разности второго порядка:

Аналогично составляются разности k-го порядка:

Выразим конечные разности непосредственно через значение функции:

Таким образом, для любого k можно записать:

Запишем эту формулу для значений разности в узле :

Используя конечные разности, можно определить

Перейдем к построению интерполяционного многочлена Ньютона. Этот многочлен будем искать в виде

График многочлена должен проходить через заданные узлы, то есть . Используем эти условия для нахождения коэффициентов многочлена:

Найдем отсюда коэффициенты :

Таким образом, для любого -го коэффициента формула примет вид

.

Подставляя эти формулы в выражение многочлена Ньютона, получим его следующий вид:

Полученную формулу можно записать в другом виде. Для этого введем переменную .

В этом случае

С учетом этих соотношений формулу многочлена Ньютона можно записать в виде

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

Полученная формула называется первым интерполяционным многочленом Ньютона для интерполяции вперед. Эту интерполяционную формулу обычно используют для вычисления значений функции в точках левой половины рассматриваемого отрезка. Это объясняется следующим: разности вычисляются через значения функции, причем. Из-за этого при больших значенияхмы не можем вычислить высших порядков.

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

Полученная формула называется вторым интерполяционным многочленом назад.

Пример. Используя интерполяционный полином Ньютона, вычислить , где функциязадана таблицей

Решение. Составляем таблицу конечных разностей.

Для вычисления положим в интерполяционном многочлене Ньютона впередтогдаи

Пример. Задана таблица. Найти .

При вычислении положим

.

При вычислении положим

.

Оценим погрешности формул Ньютона вперед и назад:

Формулы приближенного дифференцирования основаны на первой интерполяционной формуле Ньютона. Интерполяционный многочлен Ньютона имеет вид

Производя перемножение биномов, получим

так как , то

Аналогично можно вычислять производные функции любого порядка.

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

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

где – число конечных разностей в многочлене Ньютона.

Пример. Найти функции, заданной таблично.

Решение.

Вычисляя погрешность, получим:

.

Действительно, .

Таким образом, результаты совпадают до четвертого знака.

Подходящие кривые и поверхности к данным с помощью регрессии, интерполяции и сглаживания

Curve Fitting Toolbox™ предоставляет приложение и функции для подбора кривой кривым и поверхностям к данным. Тулбокс позволяет вам выполнить исследовательский анализ данных, предварительно обработать и постобработать данные, сравнить модели кандидата и удалить выбросы. Можно провести регрессионный анализ, пользующийся библиотекой линейных и нелинейных предоставленных моделей, или задать собственные уравнения. Библиотека обеспечивает оптимизированные параметры решателя и стартовые условия улучшить качество ваших подгонок. Тулбокс также поддерживает непараметрические техники моделирования, такие как сплайны, интерполяция и сглаживание.

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

Начало работы

Изучите основы Curve Fitting Toolbox

Линейная и нелинейная регрессия

Подходящие кривые или поверхности с линейными и нелинейными моделями библиотеки и пользовательскими моделями

Интерполяция

Подходящие кривые интерполяции или поверхности, оцените значения между известными точками данных

Сглаживание

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

Подходящая постобработка

Графический вывод, выбросы, невязки, доверительные интервалы, данные о валидации, интегралы и производные, генерирует код MATLAB ®

Сплайны

Создайте сплайны с или без данных; ppform, B-форма, продукт тензора, рациональный, и сплайны тонкой пластины stform

Лучшие статьи по теме