我正在尝试为我拥有的一些采样数据拟合一个函数。我了解并看过 GSL 中的大量线性拟合示例,但是我需要拟合的函数具有以下形式
x_i = c_0 + c_1*t_i
对于 i < 某个任意数 (T)
x_i = c_0 + c_1*t_i + c_2*(T-t_i)
对于 i >= T。
为了可视化这一点,它是一条线(长度有限),在 T 指定的某个点处有一个中断。我一直试图弄清楚如何在 GSL 中实现这一点,但我无法弄清楚拟合两个方程,并在不同的值范围内拟合这两个方程。我的数学没有应有的强大,而且 GSL 文档有点密集。
或者,如果 GSL 无法做到这一点,是否还有其他 C/C++ 库能够做到这一点?
编辑:我认为这实际上可能相当于以正常线性方式拟合断棒的前半部分,然后拟合后半部分(已知 c_0 和 c_1,并拟合 c_2)。我仍然不知道该怎么做,但我认为如果这是一个可能的解决方案,我正在做的事情可能是可以接受的。但是,我仍然想要一些方法来找到最好的 T 来打破棍子,但这并不是绝对必要的。