当前位置:  开发笔记 > 编程语言 > 正文

衍生品在python中爆炸

如何解决《衍生品在python中爆炸》经验,为你挑选了0个好方法。

我试图找到数据集(x,y)的高阶导数.x和y是长度为N的1D阵列.

假设我将它们生成为:

xder0=np.linspace(0,10,1000)
yder0=np.sin(xder0)

我定义了导数函数,其中包含2个数组(x,y)并返回(x1,y1),其中y1是在每个索引处计算的导数:(y [i + 1] -y [i])/(x [ I + 1] -x [I]).x1只是x [i + 1]和x [i]的平均值

这是执行它的功能:

def deriv(x,y):
    delx =np.zeros((len(x)-1), dtype=np.longdouble)
    ydiff=np.zeros((len(x)-1), dtype=np.longdouble)
    for i in range(len(x)-1):
            delx[i]  =(x[i+1]+x[i])/2.0
            ydiff[i] =(y[i+1]-y[i])/(x[i+1]-x[i])
    return delx, ydiff

现在计算一阶导数,我将此函数称为:

xder1, yder1 = deriv(xder0, yder0)

类似地对于二阶导数,我称这个函数给出一阶导数作为输入:

xder2, yder2 = deriv(xder1, yder1)

它继续:

xder3, yder3 = deriv(xder2, yder2)
xder4, yder4 = deriv(xder3, yder3)
xder5, yder5 = deriv(xder4, yder4)
xder6, yder6 = deriv(xder5, yder5)
xder7, yder7 = deriv(xder6, yder6)
xder8, yder8 = deriv(xder7, yder7)
xder9, yder9 = deriv(xder8, yder8)

达到订单7后发生了一些奇怪的事情.第7个订单变得非常嘈杂!早期的衍生品都是预期的正弦或余弦函数.然而,第7顺序是一个嘈杂的正弦.因此,之后所有衍生品都会爆炸.

衍生品的情节直到第7阶

知道发生了什么事吗?

推荐阅读
手机用户2402852307
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有