正割法、試位法、半分法及牛頓法
程式新版
新版程式編寫日期: 2006年10月3日
程式 (最少137 bytes)
注意: 10x 是按 SHIFT log
Mem clear: ?→M: Lbl 0: ?→X: Lbl 1: X3 - 2X - 1→C:
(M3=M) + ( 0>C) => C→Y => X→A: M2=1 => -M→M => Goto 2:
MC>0 => C→D => X→B: C◢ M=2 => -1→Y => 1→D:
Lbl 2: (AD - BY) ÷ (D - Y→X: M3=M => Y→D => A→B:
M= -1 => A + 10x - 7 ( A + (A=0→X => Goto 1: Goto 0
註1: 綠色的X3 - 2X - 1是函數方程(變數是X),若果想計算其它 方程,只要修改綠色的部份。
註2: 若果不想顯示函數值,只要不輸入藍色的C◢ 即可。
註3: 程式中的"Mem clear:"其實可以不輸入,不過若這做,在輸入第一個數值後,有可能會被原先數字記憶影響(機會率很低),而出現Math ERROR,如果 萬一出現上述情況,需要自行清除所有數字記憶 (按 Shift Mode 1 EXE),再執行程式。
註4: 當計算 半分法、正割法及試位法時,計數機顯示近似值會有? (最初的兩個數值需要輸入),當沒有?並顯示Disp表示為對應的函數值。計算牛頓法時則不會顯示函數值。
註5: 若果函數值為零,表示對應的x值已是計數機能計算出的最準確答案,可按 AC 終止程式,若再繼續執行程式,則有可能出現Math ERROR。
註6: 牛頓法程式是使用近似值的方法去計微分值,所以與真正的牛頓法會有小小分別。
例題1: 用正割法解 x3 – 2x – 1 = 0, 1 < x < 2。
按 Prog 1 再按 EXE (輸入0或直接按EXE,表示使用正割法程式)
1 EXE (顯示 f(1)的值為 - 2) EXE (沒有?無法輸入數值,再按一下EXE)
2 EXE (顯示 f(2)的值為 3)
EXE (顯示第1近似值1.4)
EXE (顯示f(1.4)的值為-1.056)
EXE (顯示第2近似值1.556213)
EXE (顯示f(1.556213)的值為-0.343591)
EXE (顯示第3近似值1.631554)
EXE (顯示f(1.631554)的值為 0.0800355)
…………
例題2: 用牛頓法計算方程式 x3 – 2x – 1 = 0 的其中一個根,以1為開始的數值 。
按 Prog 1 再按 1 EXE (輸入1代表使用牛頓法程式)
1 EXE (顯示第1個近似值為3)
EXE (顯示第2個近似值為2.2)
EXE (顯示第3個近似值為1.780830671)
EXE (顯示第4個近似值為1.636303919)
EXE (顯示第5個近似值為1.618304621)
EXE (顯示第6個近似值為1.61803405)
………
例題3: 試用半分法解 x3 – 2x – 1 = 0, 1 < x < 2。
按 Prog 1 再按 2 EXE (2代表使用半分法程式)
1 EXE (顯示 f(1)的值為 - 2) EXE (沒有?無法輸入數值,再按一下EXE)
2 EXE (顯示 f(2)的值為3)
EXE (顯示第一個近似值為1.5) EXE (顯示 f(1.5)的值為 -0.625)
EXE (顯示第二個近似值為1.75) EXE (顯示 f(1.75)的值為 0.859375)
EXE (顯示第三個近似值為1.625) EXE (顯示 f(1.625)的值為 0.041015625)
…………(直至要求的確度)
例題4: 用試位法解 x3 – 2x – 1 = 0, 1 < x < 2。
按 Prog 1 再按 3 EXE (輸入3表示使用試位法程式)
1 EXE (顯示 f(1)的值為 - 2) EXE (沒有?無法輸入數值,再按一下EXE)
2 EXE (顯示 f(2)的值為 3)
EXE (顯示第1近似值為1.4)
EXE (顯示f(1.4)的值為-1.056)
EXE (顯示第2近似值為1.556213)
EXE (顯示f(1.556213)的值為-0.343591)
EXE (顯示第3近似值為1.601817)
EXE (顯示f(1.601817)的值為-0.0936633)
EXE (顯示第4近似值為1.613872)
EXE (顯示f(1.613872)的值為-0.0242785)
EXE (顯示第5近似值為1.616972)
EXE (顯示f(1.616972)的值為-0.0062106)
…………………