如何理解你的导数结果
在有二阶导数结果的情况下,其正负号说明了函数在 x0 处局部的凹凸性——这是微积分中的一个标准结论。
| f″(x₀) | 在 x₀ 处的凹凸性 |
|---|---|
| 正数 | 凹向上——函数在 x₀ 附近向上弯曲,像山谷一样 |
| 负数 | 凹向下——函数在 x₀ 附近向下弯曲,像山丘一样 |
| 为零或接近零 | 可能是拐点——凹凸性可能在 x₀ 附近发生变化;需要进一步检验 |
- 这是一个数值估计值,而不是符号导数——计算器从不生成通用公式 f'(x);它只返回在你输入的这一个点 x0 处导数的数值。
- 支持的表达式语法:函数 sin、cos、tan、asin、acos、atan、sqrt、cbrt、abs、ln(自然对数)、log(以 10 为底的对数)、log2(以 2 为底的对数)、exp、floor、ceil、round、min、max;常数 pi、e、tau;运算符 + − * / % ^;以及变量 x。三角函数使用弧度制。
- 如果函数在 x0 附近存在间断点、尖角,或数值无定义(例如在垂直渐近线附近求值),有限差分估计可能不准确,甚至无法给出结果。
- 对于光滑、性质良好的函数,数值估计在所显示的精度下截断误差通常很小、可以忽略;但对于局部变化剧烈的函数,这种误差可能会增大。
什么是数值导数?
导数衡量的是函数在某一点的瞬时变化率——从几何上看,就是函数图像在该点切线的斜率。符号求导会给出一个通用公式 f'(x),对每一个 x 都成立。而这个计算器计算的是数值导数:它只在你输入的那个具体点 x0 处估算 f'(x0) 这样一个单独的数值,并不会给出通用公式 f'(x)。
所采用的数值方法是五点中心差分:计算器在 x0 两侧非常接近的几个点上求 f 的值,再把这些值组合成对 x0 处斜率的高精度估计,其误差按步长的四次方成比例缩小。这是数值分析中一种标准且成熟的技术,与符号计算机代数求导是不同的方法。
由于得到的是数值结果,要在另一个点求导数,就必须用新的 x0 重新运行计算器——它不会返回一个可以直接在其他点求值的代数表达式 f'(x)。
如何使用这个导数计算器
- 输入一个关于 x 的函数,例如 x^3 - 2*x + 1、sin(x)/x,或 sqrt(x) + ln(x)。乘法必须用 * 明确写出,乘方用 ^。
- 输入要求导数的点 x0。
- 查看 f'(x0),即该点处的数值导数,以及 f(x0),即函数在该点的值。
- 在函数于 x0 附近二阶可导时,还可以查看 f''(x0)(数值二阶导数)以及切线方程,它给出了 f 在 x0 附近最佳的线性近似。
数值导数背后的公式
五点中心差分估计式是 f'(x0) ≈ [−f(x0+2h) + 8f(x0+h) − 8f(x0−h) + f(x0−2h)] / (12h),这是一个经典的有限差分公式,其误差与 h⁴ 成比例——也就是说,步长 h 减半,误差大致会降为原来的十六分之一。
二阶导数用更简单的中心差分估计:f''(x0) ≈ [f(x0+h) − 2f(x0) + f(x0−h)] / h²。它的正负号说明了局部的凹凸性:为正表示函数在 x0 附近向上弯曲(凹向上),为负表示向下弯曲(凹向下)。
x0 处的切线——f 在该点附近最佳的直线近似——是 y = f'(x0)(x − x0) + f(x0)。
演示:f(x) = x³ − 2x + 1,在 x0 = 2 处。数值导数是 f'(2) = 10,与符号导数 3x² − 2 在 x = 2 处的值(3×4 − 2 = 10)一致。函数值是 f(2) = 8 − 4 + 1 = 5,所以切线方程是 y = 10(x − 2) + 5。
常见错误
- 期望得到像「3x² − 2」这样的符号公式——本计算器只用有限差分近似法,返回你输入的单个点 x0 处导数的数值,而不做符号(代数)求导。
- 写出省略乘号的表达式,如 2x 而不是 2*x,或者用 ** 而不是 ^ 表示乘方——解析器要求使用支持列表中明确的运算符。
- 在函数无定义或不连续的点求值,例如在 x0 = 0 处求 1/x,这会使有限差分估计不可靠,甚至无法给出结果。
- 以为数值结果精确到任意精度——中心差分法存在一个很小但非零的截断误差,对于光滑函数,这种误差在显示的小数位数下通常是不可见的。
- 把 log 当作自然对数——在本计算器的语法中,ln 才是自然对数(以 e 为底),log 是以 10 为底;log2 是以 2 为底。
常见问题
这个计算器会给出导数公式,比如 f'(x) = 3x² − 2 吗?
不会。本计算器只用数值有限差分方法,返回你输入的特定点 x0 处导数的数值。要了解导数在另一个点的取值,需要把该点作为新的 x0 输入并重新计算。
这个导数计算器使用什么数值方法?
五点中心差分法:f'(x0) ≈ [−f(x0+2h) + 8f(x0+h) − 8f(x0−h) + f(x0−2h)] / (12h),这是数值分析中的标准有限差分公式,误差与 h⁴ 成比例。
表达式中支持哪些函数和运算符?
sin、cos、tan、asin、acos、atan、sqrt、cbrt、abs、ln、log、log2、exp、floor、ceil、round、min、max;常数 pi、e、tau;运算符 + − * / % ^;以及变量 x。三角函数按弧度制求值。
数值导数的精度如何?
对于光滑、性质良好的函数,五点中心差分法的精度远超所显示的小数位数。在间断点、尖角,或函数在 x0 附近无定义的地方,精度会下降。
切线结果是什么意思?
切线 y = f'(x0)(x − x0) + f(x0) 是函数在 x0 附近最佳的直线近似。它在 (x0, f(x0)) 处与曲线相切,并且在这一点上与函数具有相同的斜率。
为什么结果中有时没有二阶导数?
二阶导数使用它自己的中心差分公式,只有在该计算能够得到有限值时才会显示——例如,当函数在 x0 附近立即变得无定义或不连续时,二阶导数的估计就会被省略。
参考文献
- Burden RL, Faires JD. Numerical Analysis. Cengage Learning (finite-difference approximations to derivatives).
- Press WH, Teukolsky SA, Vetterling WT, Flannery BP. Numerical Recipes: The Art of Scientific Computing. Cambridge University Press (numerical differentiation).
- Stewart J. Calculus. Cengage Learning (the derivative as instantaneous rate of change and slope of the tangent line).
- NIST Digital Library of Mathematical Functions (DLMF), Chapter 3: Numerical Methods — finite-difference formulas. dlmf.nist.gov.