解方程,求 :
动用求根工具之前,先从系数里读出量级。 系数每升一次幂大约就小两个数量级(、、),这是根落在 到 附近的典型特征。而常数项又比它们小了七个数量级,所以必然有一个根远比另外两个小得多。
先做尺度变换,换成条件良好的三次方程。 代入 ,相当于把 的系数乘上 :
现在所有系数都落在相差不过几个数量级的范围内,求根时因相减抵消而损失的精度就少得多。
靠符号变化定位两个较大的根。 取 :,,,。所以两个根分别落在 和 内;二分到机器精度得到 与 。
那个极小的根由常数项给出。 在 附近三次项和二次项都可以忽略,于是 给出 ,再用牛顿迭代精化到 。把三个根都除以 还原:
用韦达定理检验,而且要真算一遍而不是想当然。 根之和应当是 ,三个根相加正好是 ✓。根之积应当是 ,三根相乘正好是 ✓。网上流传很广的那组答案 和 通不过这个检验 —— 代回去残差在 量级,而不是 。
Need to solve a different problem like this? Open the solver →