关于此工具
求解任意三次方程 ax³ + bx² + cx + d = 0(其中 a ≠ 0)。输入四个系数,求解器会返回全部三个根(实根和复根),以及判别式和实根的个数。它完全在你的浏览器中运行,并随输入重新计算。
先用代换 x = t - b/(3a) 把三次方程降次为 t³ + pt + q = 0,然后由判别式 Δ = (q/2)² + (p/3)³ 判定情形。当 Δ > 0 时,由 Cardano 公式得到一个实根,外加一对共轭复根。当 Δ = 0 时,各根为实数且有重根。当 Δ < 0 时,用三角法求出三个不同的实根,tₖ = 2√(-p/3)·cos((1/3)·acos((3q/2p)·√(-3/p)) - 2πk/3)。每个 t 再回移 -b/(3a) 得到 x。
复根以 a ± bi 形式显示。例如 x³ - 6x² + 11x - 6 = 0 返回根 1、2 和 3。系数 a 不能为零,否则方程就不是三次的。
常见问题
判别式告诉我什么?
它的符号对根进行分类:正表示一个实根和两个共轭复根,零表示所有根为实数且有重根,负表示三个不同的实根。
为什么总是返回三个根?
根据代数基本定理,一个三次方程按重数计恰有三个根。其中一些可能是复根,重根会出现不止一次。
首项系数 a 必须非零吗?
是的。如果 a 为零,方程至多是二次而非三次,所以求解器要求 a 非零,否则报告输入无效。
当判别式为负时,三个实根是如何求出的?
用三角法,它在降次后的三次方程上运用余弦公式,无需复数运算即可得出三个不同的实根。