我正在开发一个程序,该程序需要拟合大量余弦波以确定函数的参数之一。我使用的方程是 y = y_0 + Acos((4*pi*L)/x + pi) 其中 L 是我试图从最佳拟合线获得的值。
我知道可以手动为每组数据正确执行此操作,但是自动化此过程的最佳方法是什么?我目前正在从文本文件中读取数据,并运行一个循环,初始参数发生变化,直到我有一个振幅与数据相似的参数值数组,然后我检查中心峰值上的点之间的百分比差异和两个末端峰,以尝试选择最好的一个。它始终选择比我手动安装时得到的值更低的值(几乎正好是一个阶段)。那么有没有办法改进这种方法,或者另一种效果更好的方法?
编辑:我的LabVIEW版本有一个cos拟合VI,这是我正在使用的,问题是当我尝试通过使用循环更改初始参数来自动拟合时,我不知道如何让程序选择最好的适合人类选择的线条。