Интерполя́ция, интерполи́рование (от лат. inter–polis — «разглаженный, подновлённый, обновлённый; преобразованный») — в вычислительной математике нахождение неизвестных промежуточных значений некоторой функции, по имеющемуся дискретному набору её известных значений, определенным способом.
video.mp4
В самом начале изучения дисциплины «Программирование в САПР» я практиковал свои алгоритмические навыки на разного рода математических задачах с применением так называемых «численных» методов решения. Теперь настала пора продолжить это начинание и в данной работе я реализую способы интерполяции таблично задпнных функций в SDI MFC приложении.
Существует множество методов решения данной задачи, но я рассмотрел лишь некоторые из них, которые позволят попрактиковаться в реализации математических алгоритмов на языке С++. Оговорюсь сразу, что речь далее пойдет лишь о методах 1D – интерполяции, хотя существуют и методы больших размерностей.
- Кусочно-линейная интерполяция
- Интерполяция кубическими сплайнами
- Многочлен Лагранжа
- Видео результат работы
Примеры работы каждого из методов буду рассматривать на синусоиде (данные с координатами исходных точек находтяся в дерикотории examples
)
Данный способ заключается в том, что узловые точки соединяются отрезками прямых, то есть через каждые две точки и проводится прямая, то есть составляется полином первой степени
При глобальной интерполяции на всем интервале строится единый многочлен. Одной из форм записи интерполяционного многочлена для глобальной интерполяции является многочлен Лагранжа:
Интерполирование при разбиении отрезка интерполяции на несколько час-тей с построением на каждой части самостоятельного интерполяционного мно-гочлена приобретает существенный недостаток: в точках стыка разных интерпо-ляционных многочленов будет разрывной их первая производная. В этом случае удобно пользоваться особым видом кусочно-полиномиальной интерполяции – интерполяции сплайнами (от английского сло-ва Spline – рейка). Сплайн – это функция, которая на каждом частичном отрезке интерполя-ции является алгебраическим многочленом, а на всем заданном отрезке непре-рывна вместе с несколькими своими производными.