现在有两组数,一组是时间,一组是对应时间下的角度,怎么求导,及求对应时间下的加速度,如果直接用(10.49674-7.08501)/(903-902),这样求出来的应该是902.5对应的角加速度
现在有两组数,一组是时间,一组是对应时间下的角度,怎么求导,及求对应时间下的加速度,如果直接用(10.49674-7.08501)/(903-902),这样求出来的应该是902.5对应的角加速度
收起
懒得录入题主截图给出的数据,就用前5个数据做个demo吧。具体思路是先生成插值函数(建议选择三阶样条插值法cubic),再根据求导的原始定义,用一个极小的delta变量计算在T时刻的角度变化量,以delta除之,就是T时刻近似的导数。
>>> import numpy as np
>>> from scipy import interpolate
>>> _x = np.linspace(902, 926, 5)
>>> _y = np.array((7.08501, 10.49674, 14.01864, 17.68262, 21.48659))
>>> f = interpolate.interp1d(_x, _y, kind='cubic')
>>> delta = 1e-10
>>> (f(903+delta)-f(903))/delta # 计算t=903处的导数
0.5639755329411855
报告相同问题?