Интерполяционный многочлен Лагранжа
Введите точки (x, y) и получите единственный многочлен наименьшей степени, проходящий через все них. Калькулятор считает в точных дробях, показывает многочлен в развёрнутом виде и в форме Лагранжа и вычисляет его значение в выбранной точке x.
Работает в браузере: всё, что вы вводите, никуда не отправляется.
Как пользоваться
- Введите точки, например
(0, 1), (1, 3), (2, 7), (3, 13). Координаты внутри скобок разделяйте запятой с пробелом, точкой с запятой или пробелом; запятая без пробела — десятичная: (0,5; 1,25).
- При необходимости введите x, в котором нужно значение, например
2,5.
- Посмотрите многочлен, его значение и форму Лагранжа; на графике видна кривая на фоне ваших данных. Многочлен записан как формула — в режиме «Десятичными» с точкой, чтобы его можно было скопировать в другие калькуляторы; значение в точке x показано с запятой.
Как это работает
Для точек (x₁, y₁) … (xₙ, yₙ) базисный многочлен Лагранжа ℓᵢ(x) — произведение (x − xⱼ) / (xᵢ − xⱼ) по всем j ≠ i. Интерполяционный многочлен — сумма yᵢ · ℓᵢ(x). Калькулятор раскрывает эти произведения в точных рациональных числах и приводит подобные по степеням x.
Разобранный пример
Через точки (1, 1), (2, 4) и (3, 9):
P(x) = 1 · (x − 2)(x − 3) / 2 + 4 · (x − 1)(x − 3) / (−1) + 9 · (x − 1)(x − 2) / 2
Раскрываем скобки: (x² − 5x + 6)/2 − 4(x² − 4x + 3) + 9(x² − 3x + 2)/2 = x². Итак, P(x) = x², и P(2,5) = 25/4 = 6,25: в точных дробях калькулятор пишет P(5/2) = 25/4, а в строке десятичного значения — 6,25.
Советы
- Все x должны быть разными: при повторяющихся x единственного многочлена нет.
- Если точек больше примерно 8, зашумлённые данные часто лучше описывает подобранная прямая или кривая (регрессия).
Частые вопросы
Что такое интерполяция Лагранжа?
Способ записать единственный многочлен степени не выше n − 1, проходящий через n точек с разными x. Это P(x) = Σ yᵢ · ℓᵢ(x), где каждый базисный многочлен ℓᵢ(x) = Π (x − xⱼ) / (xᵢ − xⱼ) равен 1 в точке xᵢ и 0 во всех остальных.
Почему степень ниже, чем я ожидал?
Через четыре точки обычно проходит кубический многочлен, но если точки лежат на параболе или прямой, старшие коэффициенты сокращаются. Точки (0, 1), (1, 3), (2, 7), (3, 13) лежат на x² + x + 1, поэтому степень равна 2.
Коэффициенты округляются?
Нет. Вся арифметика — в точных дробях, поэтому многочлен проходит через ваши точки точно. Можно переключиться на десятичные, но верный ответ — запись дробями.
Можно ли экстраполировать за пределы точек?
Вычислить значение можно в любой точке x, но вне диапазона данных многочлену нельзя доверять: он подобран только так, чтобы пройти через заданные точки, а не следовать тенденции.
Чем это отличается от линейной интерполяции?
Линейная интерполяция соединяет две соседние точки отрезком прямой. Интерполяция Лагранжа использует все точки сразу и даёт один гладкий многочлен.