Я до сих пор не знаю, ответит ли это на ваш вопрос, но я попробую и увижу.
Я постараюсь быть максимально ясным и понятным, чтобы я мог намеренно оставить некоторые (возможно, важные) детали отдельнодля простоты.
Иногда можно узнать значение функции в наборе точек, не зная ее аналитического выражения.Задача узнать значение функции в точке, которой нет в наборе, называется интерполяцией / экстраполяцией.Основным принципом интерполяции является вычисление значения функции в нужной точке из ее значения у ближайших соседей.
Самый простой метод, о котором вы можете подумать, - это линейная интерполяция.Значение вашей неизвестной функции в данной точке является средневзвешенным расстоянием ближайших соседних значений.Это просто означает, что если точка интереса находится на расстоянии 1 от точки A и на расстоянии 9 от точки B, значение функции в этой точке будет 10% B и 90% A. Это эквивалентно рисованию прямых линий между каждой точкойгде вы знаете значение функции.
Проблема этого метода в том, что он производит прерывистую оценку функции.Это раздражает при моделировании функции, которая описывает естественное явление, потому что эти функции часто являются непрерывными.
Среди других методов интерполяции, кубическая сплайн-интерполяция может решить эту проблему.Принцип остается идентичным, за исключением того, что вместо линии между каждой точкой у вас есть полином третьего порядка.Некоторые ограничения на полином делают его уникальным: именно его первая и вторая производные должны быть непрерывными с соседними полиномами.Это обеспечивает «гладкость» интерполированной функции.
Так что для меня «магия» кубической сплайн-интерполяции исходит из предположения о «гладкости», которая позволяет этому методу правильно интерполировать функцию, описывающую явление природы.
Если этот ответ бесполезен или слишком упрощен, я его удалю.