Вы можете представить себе, что ваша проблема разбита на две части:
- Найдите правильную функцию
- Установите функцию для данных
Поиск правильной функции - это больше искусство, чем наука.Как вы указали, полином высокой степени может соответствовать вашим данным.Полином произвольной степени может соответствовать любой кривой в данной области!Это может быть не самая лучшая модель для ваших данных, но она даст вам фантастическое соответствие.
Что вам нужно, чтобы иметь возможность сравнивать два результата?Вас больше интересует шум?Вас интересует высота вершин?Производная сглаженной функции?Расположение вершин?Ответ на этот вопрос расскажет вам, как лучше всего найти правильную функцию.Хороший портал для дальнейших деталей: http://en.wikipedia.org/wiki/Model_selection
Что касается второй части, то подгонка функции на самом деле довольно проста.Если у вас есть относительно низкоразмерная функция, вы можете использовать fminsearch
, чтобы найти «оптимальные» параметры.Это даст вам локальный минимум, но, основываясь на опыте, он проделает довольно хорошую работу!