现在有两组数,一组是时间,一组是对应时间下的角度,怎么求导,及求对应时间下的加速度,如果直接用(10.49674-7.08501)/(903-902),这样求出来的应该是902.5对应的角加速度
2条回答 默认 最新
关注
懒得录入题主截图给出的数据,就用前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
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用