Существует ли обобщенный алгоритм поиска монотонной функции по трем точкам?
В DIY проекте понадобилась специфическая интерполяция, уперся в нехватку знаний относительно нижеследующего.
Вопрос 1.
Исходные данные: 3 точки (x1,y1),(x2,y2),(x3,y3), причем известно, что x1<x2<x3 и y1<y2<y3
Существует ли алгоритм построения функции, монотонной на интервале (x1;x3) , проходящей через такие три точки.
Полиномиальная квадратичная интерполяция очевидным образом не подходит из-за того, что минимум или максимум функции (вершина параболы) может лежать в интервале (x1;x3).
Если кто-то знает ответ на этот вопрос, то последующие два разрешатся автоматически.
Вопрос 2.
Существует ли алгоритм интерполяции, при котором для каждой последовательности точек x(n-1),x(n),x(n+1),x(n+2),...,x(k), удовлетворяющих условию y(n-1)>=y(n)<y(n+1)<y(n+2)<...<y(k-1)>=y(k) (то есть точки слева и справа от n выше нее, слева и справа от k ниже нее, а промежуточные точки возрастают), результирующая функция f(x) на отрезке [x(n);x(k)] удовлетворяет условиям:
f(x(i)) = y(i) для всех i = n..k
f'(x) != 0 (то есть нет локальных минимумов и максимумов)
Вопрос 3.
Аналогичен вопросу 2, только дополнительно необходимо, чтобы количество точек на отрезке [x(n);x(k)], где f''(x)=0, минимально. То есть минимально количество перегибов функции.
Ну, на первый вопрос ответить просто. Кусочно линейная интерполяция удовлетворяет всем вашим указанным в вопросе требованиям :). А если таки учесть "дополнения и приложения", то надо на том из двух участков, где наклон прямой больше (пусть это будет, например, левый подинтервал), сделать интерполяцию функцией
y = a+b*x+c*x**2
такой что:
1) Значение параболы в x1 равно y1
2) Значение функции в x2 равно y2
3) Производная функции в x2 равно наклону прямой в правом подинтервале.
Доказывать мне лень, но кажется очевидным, что такая парабола будет монотонной на подинтервале.
P.S. Если прямая на правом подинтервале не устраивает, ее можно тоже чуть изогнуть.
P.P.S. Однако, такой (и любой подобный) алгоритм не даст решения для большего числа точек, поскольку первая производная будет иметь разрывы, которые Вас, как я понял, не устраивают. А при этом условии даже для четырех точек легко придумать пример, чтобы монотонность была, но обязательно с перегибом - взять 4 точки на S-образной кривой (две поближе к краям)... И как не крутись, без перегиба в центральной области не обойтись.