LabView cos fit - PullRequest
       22

LabView cos fit

0 голосов
/ 12 июля 2011

Я работаю над программой, которая должна соответствовать многочисленным косинусным волнам, чтобы определить один из параметров функции. Уравнение, которое я использую, это y = y_0 + Acos ((4 * pi * L) / x + pi), где L - это значение, которое я пытаюсь получить из линии наилучшего соответствия.

Я знаю, что это можно сделать вручную вручную для каждого набора данных, но как лучше всего автоматизировать этот процесс? В настоящее время я читаю данные из текстовых файлов и выполняю цикл с изменением исходных параметров, пока у меня не будет массива значений параметров, имеющих амплитуду, аналогичную данным, затем я проверяю разницу в процентах между точками на центральном пике и два конечных пика, чтобы попытаться выбрать лучший. Это в последовательном выборе более низких значений, чем то, что я получаю при подгонке вручную (почти ровно на одной фазе). Так есть ли способ улучшить этот метод или другой метод, который работает лучше?

Редактировать: В моей версии LabVIEW есть VI для настройки, который я использую, проблема в том, что когда я пытаюсь автоматизировать настройку путем изменения начальных параметров с помощью цикла, я не могу понять, как заставить программу выбирать та же самая лучшая линия, которую выбрал бы человек.

Ответы [ 2 ]

2 голосов
/ 13 июля 2011

Почему бы просто не использовать быстрое преобразование Фурье?Это должно быть намного быстрее, чем примерка косинуса.В результате вектор комплексных чисел ищет самый большой пик в итогах.Вам заданы частота (позиция в векторе результатов FFT), амплитуда и фаза.

0 голосов
/ 13 июля 2011

Вы можете оценить качество подбора, вычислив разницу между кривой подбора и вашими данными.ВП делает это в палитре «Расширенное построение кривой».Тогда все, что вам нужно сделать, это подобрать наиболее подходящий вариант.

...