Простая реализация подбора кривой в C++ (SVD Метод наименьших квадратов или аналогичный)

Я уже довольно давно просматриваю Интернет, пытаясь найти простой, интуитивно понятный и быстрый способ аппроксимации полинома 2-й степени с использованием 5 точек данных.

Я использую VС++ 2008.

Я сталкивался со многими библиотеками, такими как cminipack, cmpfit, lmfit и т. д., но ни одна из них не кажется интуитивно понятной, и мне было трудно реализовать код.

В конечном итоге у меня есть набор дискретных значений, помещенных в одномерный массив, и я пытаюсь найти «виртуальную максимальную точку» по кривой, соответствующей данным, а затем нахожу максимальную точку этих данных в целочисленном значении, отличном от -(. ] где целочисленное значение будет самой высокой точностью, просто взглянув на массив ).

В любом случае, если кто-то сделал что-то подобное и может указать мне на пакет, который они использовали, и, возможно, на простую реализацию пакета, это было бы здорово!

Я рад предоставить некоторые тестовые данные и графики, чтобы показать вам, с чем я работаю, но я чувствую, что мой запрос довольно прост. Большое спасибо.

РЕДАКТИРОВАТЬ :Вот код, который я написал, который работает!http://pastebin.com/tUvKmGPn

изменить размер, чтобы изменить количество используемых входов

0 0 1 1 2 4 4 16 7 49

а :1 б :0 в :0 Нажмите любую клавишу для продолжения...

Спасибо за помощь!

6
задан Tetsujin no Oni 19 June 2014 в 21:43
поделиться