作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我写了一个简单的求导代码,但是它不能求三角函数的导数。
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/
我是一名优秀的程序员,十分优秀!