Цитата(Make_Pic @ Jun 19 2005, 09:16)
Имеем 4 или 5 точек прендадлежащих функции, функция непрерывная, как малой "кровью" и быстро найти максимум (предпологаем, что он должен где то быть между точками)?
Прогу надо на микроконтроллер посадить.
Не согласен с
Eugeno . Задача
не является самодостаточной. У
Eugeno . ошибка, лишний коэффициент при квадрате аргумента.

1. Постановка задачи звучит некорректно. Фактически задача должна быть
разбита на две подзадачи
а) интерполяция функции
б) поиск максимума для интерполированной функции
2.1 Совсем малая кровь. Рассматривать линейную аппроксимацию, тогда максимум совпадет с одной из точек.

2.2 Использовать интерпляционный полином Лежандра. Как раз то, что хотел предложить
Eugeno Pn(x)=f(x0)*{(x-x1)*(x-x2)*...*(x-xn) / {(x0-x1)*(x0-x2)*..*(x0-xn)}}+
+f(x1)*{(x-x0)*(x-x2)*...*(x-xn) / {(x1-x0)*(x1-x2)*..*(x1-xn)}}+...+
+f(xn)*{(x-x0)*(x-x1)*...*(x-xn_1) / {(xn-x0)*(xn-x1)*..*(x1-xn_1)}}
где (n+1) - кол-во точек,
В этом случае утверждается
f_апп ~= Pn(x)
Для поиска максимума берется аналитически производная (для ленивых - Maple), приравнивается к нулю. Получаете (n-1) корней, т.е. получаете точки экстремумов. Подставляете их поочередно в Pn(x) и выбираете максимум; или ищете вторую производную, находите те точки, для которых она < 0 - для этих точек будет локальный максимум
2.3 Использовать кубическую интерполяцию, минимальное количество точек - 4. Кубическая интерполяция дает построение функции непрерывной саму функцию, первую и вторую производную. Алгоритм несложный и с ним можно разобраться. Зато он лишен недастатков полиномной аппроксимации.
Поиск максимума - такой же как и для случая 2.1

2.4 Полиномы Чебышева.
2.5 Среднеквадратичное приближение, но тогда функция не проходит через точки и нужно априорно записать предполагаемую зависимость функции