ljm1501 2021-07-15 02:10 采纳率: 100%
浏览 114
已采纳

怎么用python求导

现在有两组数,一组是时间,一组是对应时间下的角度,怎么求导,及求对应时间下的加速度,如果直接用(10.49674-7.08501)/(903-902),这样求出来的应该是902.5对应的角加速度

img

  • 写回答

2条回答 默认 最新

  • 天元浪子 Python领域优质创作者 2021-07-15 03:30
    关注

    懒得录入题主截图给出的数据,就用前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条)
编辑
预览

报告相同问题?

问题事件

  • 已采纳回答 7月15日
  • 创建了问题 7月15日