卡在這題?用 AI 解開它
Algebra · real student question

解三次方程式 1.5708x³ − 0.01446x² + 1.35803e−5·x + 1.0159097e−12 = 0。

Question

解出 xx:

1.5708x3−0.01446x2+1.35803×10−5x+1.0159097×10−12=01.5708x^3-0.01446x^2+1.35803\times10^{-5}x+1.0159097\times10^{-12}=0

Step-by-step solution

  1. 動用求根程式之前,先從係數讀出尺度。 係數每升一次冪大約掉兩個數量級(1.571.57、1.4×10−21.4\times10^{-2}、1.4×10−51.4\times10^{-5}),這是根落在 10−210^{-2} 到 10−310^{-3} 附近的特徵。常數項又比它們小七個數量級,所以必定有一個根遠比另外兩個微小。

  2. 換尺度成一條條件良好的三次式。 代入 x=t/1000x=t/1000 會把 tkt^k 的係數乘上 10003−k1000^{3-k}:

    1.5708t3−14.46t2+13.5803t+1.0159097×10−3=01.5708t^3-14.46t^2+13.5803t+1.0159097\times10^{-3}=0

    現在每個係數都落在相差不到兩三個數量級的範圍內,求根程式因相消而損失的精度就少得多。

  3. 用變號找出兩個較大的根。 令 g(t)=1.5708t3−14.46t2+13.5803t+0.0010159097g(t)=1.5708t^3-14.46t^2+13.5803t+0.0010159097:g(1)=0.6921>0g(1)=0.6921>0、g(1.5)=−6.8621<0g(1.5)=-6.8621<0、g(8)=−12.5470<0g(8)=-12.5470<0、g(9)=96.0769>0g(9)=96.0769>0。所以根分別落在 (1,1.5)(1,1.5) 與 (8,9)(8,9);用二分法逼到機器精度,得到 t=1.06167t=1.06167 與 t=8.14390t=8.14390。

  4. 由常數項求出那個極小的根。 在 t=0t=0 附近,三次項與二次項都可忽略,所以 13.5803t+0.0010159097≈013.5803t+0.0010159097\approx0 給出 t≈−7.4808×10−5t\approx-7.4808\times10^{-5},再用牛頓法修正到 t=−7.480165×10−5t=-7.480165\times10^{-5}。把三個值都除回 10001000:

    x=−7.480165×10−8,0.00106167,0.00814390x=-7.480165\times10^{-8},\quad 0.00106167,\quad 0.00814390

  5. 用根與係數關係驗算,而且是真的算過而非假設。 三根之和應為 0.01446/1.5708=0.00920550040.01446/1.5708=0.0092055004;三個根相加確實得到 0.00920550040.0092055004 ✓。三根之積應為 −1.0159097×10−12/1.5708=−6.467467×10−13-1.0159097\times10^{-12}/1.5708=-6.467467\times10^{-13};三個根相乘也得到 −6.467467×10−13-6.467467\times10^{-13} ✓。網路上流傳甚廣的答案 0.001004550.00100455 與 0.008201340.00820134 通不過這個檢驗——那組值留下的殘差在 10−810^{-8} 附近,而不是 10−1310^{-13}。

Answer

x≈−7.480165×10−8,x≈0.00106167,x≈0.00814390x\approx-7.480165\times10^{-8},\qquad x\approx0.00106167,\qquad x\approx0.00814390

Need to solve a different problem like this? Open the solver →