gpt4 book ai didi

python - 在 Python 中对函数求导

转载 作者:行者123 更新时间:2023-11-28 20:39:40 24 4
gpt4 key购买 nike

我写了一个简单的求导代码,但是它不能求三角函数的导数。

from math import sin, radians

def sinus(x):
return sin(radians(x))

def derivative(func , x):
h = 0.0000000001
return (func(x+h)-func(x))/h

def f(x):
return 2*x**2+x


print(derivative(f, 5))
print(derivative(sinus, 60))

由于正弦的导数是余弦,而 cosine(60) 是 0.5,所以输出应该是

21.000...
0.5

但不是输出

21.0000195011
0.00872746319658

是我做错了什么还是只是因为 math.sin() 函数?

最佳答案

至于 f() 导数的细微差别,那是因为您的公式不准确。该一般差商仅对无穷小的 h 值给出准确答案。计算机显然无法处理无限小的值,因此您使用了一个“常规”但略小的 h 值,您得到了一个近似答案。如果您使用非常小的 h 值,那么由于计算机仅以有限精度工作,您会遇到其他问题。该精度与 double float 的精度差不多。有更复杂的公式可以提供更好的答案:搜索“数值导数”。

关于python - 在 Python 中对函数求导,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37485756/

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