gpt4 book ai didi

python - scipy misc.derivative 结果不正确

转载 作者:太空宇宙 更新时间:2023-11-04 09:08:01 27 4
gpt4 key购买 nike

我想知道我在这里做错了什么......

我正在试验一个简单而人为的函数,它对某些 x 值求导:

f(x) = x^3,然后计算导数 f'(x) = 3x^2 对于 x 在 1、2、3 处的值

>>> from scipy import misc
>>> def x2(x): return x*x*x
...
>>> misc.derivative(x2,1)
4.0
>>> misc.derivative(x2,2)
13.0
>>> misc.derivative(x2,3)
28.0

问题:结果不正确,它们都比应有的值大 +1(应分别为 3、12 和 27)。

最佳答案

scipy.misc.derivative 不准确。它使用中心差分公式来计算导数。默认间距为 1.0,这对于很多应用程序来说都相当高。减少它会得到更准确的结果:

>>> from scipy import misc
>>> def x3(x): return x*x*x
...
>>> misc.derivative(x3, 1)
4.0
>>> misc.derivative(x3, 1, dx=0.5)
3.25
>>> misc.derivative(x3, 1, dx=0.25)
3.0625
>>> misc.derivative(x3, 1, dx=1.0/2**16)
3.0000000002328306

关于python - scipy misc.derivative 结果不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18220216/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com