您在这里有多种选择。首先,让我们扩展您的 2D 案例fit = np.polyfit(x,y,4)
。这意味着您描述了粒子的y位置作为函数x。只要它不会移回就可以了x。 (即它只能有一个唯一的y每个的价值x)。由于空间中的运动被分解为三个独立的坐标,我们可以独立地拟合坐标以获得3D模型:
fitxy = np.polyfit(x, y, 4)
fitxz = np.polyfit(x, z, 4)
现在两者y and z是多项式函数x。如前所述,这有一个缺点,即粒子只能单调移动x.
![enter image description here](https://i.stack.imgur.com/gh1Wz.png)
真正的物理粒子不会有这样的行为。它们通常在所有三个维度上跳跃,随心所欲地走。然而,在第四个维度中,他们只能前进:time.
所以让我们添加时间:
t = np.arange(data.shape[0]) # simple assumption that data was sampled in regular steps
fitx = np.polyfit(t, x, 4)
fity = np.polyfit(t, y, 4)
fitz = np.polyfit(t, z, 4)
现在,粒子被建模为在空间中自由移动,作为时间的函数。