Интерполяция
Тем, кто всё ещё не знаком с такой замечательной и полезной вещью, объясняю два способа на примере дзета-функции Римана:
Суть в том, что ничего о самой дзета-функции вам знать не надо.
Допустим, у нас есть некая закономерность, которая описывается очень сложной математической функцией y(x). Для не математиков такие функции обычно аппроксимированы в табличные значения. Интерполяция позволяет работать с этими данными, когда вам необходимо получить промежуточное значение, которого нет в таблице.
Аппроксимированный участок функции (точками показаны табличные данные):
Обозначим искомое значение y0, а саму точку, в которой функция y(x) его принимает – x0.
Дано: y1, y2, x1, x2, x0.
Требуется найти: y0.
Аналитический метод
Представим отрезок аппроксимированной функции между точками (x1; y1) и (x2; y2) в виде отрезка линейной функции y = kx+b.
Тогда имеем систему уравнений:
y1 = kx1+b;
y2 = kx2+b.
Решая её, находим k и b.
Для этого из первого уравнения выражаем b через k:
b = y1 – kx1.
Подставляем значение b во второе уравнение:
y2 = kx2+ y1 – kx1.
Выражаем k через известные y1, y2, x1, x2:
k = (y2 – y1) / (x2 – x1).
Подставляем найденное k в выражение b:
b = y1 – [(y2 – y1) / ( x2 – x1)] × x1.
Подставляем найденные коэффициенты b, k и заданное x0 в уравнение y = kx+b:
y0 = kx0+b = [(y2 – y1) / (x2 – x1)] × x0+ y1 – [(y2 – y1) / (x2 – x1)] × x1.
Геометрический метод
Геометрический метод основан на простом и понятном принципе подобия треугольников. Для начала вычтем из большей ординаты меньшую. Получим два подобных прямоугольных треугольника:
- большой x1А12x2 с катетами x2А12 длиной (x2 – x1) и А12x1 длиной (y1 – y2);
- малый x2А0x0 с катетами x2A0 длиной (x2 – x0) и A0x0 неизвестной длины y01.
Из подобия треугольников следует соотношение:
(y1 – y2) / y01 = (x2 – x1) / (x2 – x0).
Откуда выражаем неизвестную y01:
y01 = (y1 – y2) × (x2 – x0) / (x2 – x1).
Тогда искомая ордината будет равна:
y0 = y2 + y01 = y2 + (y1 – y2) × (x2 – x0) / (x2 – x1).