Bisection Method

程式碼(最少28 Steps)
1. f(K1) 2. Kin6 3. Kout1 4. X<>K3 5. X<>K2
6. Kin1 7. Kout4 8. Kin5 9. COS-1 10. SIN
11. Kin4 12. Kout6 13. X>0 14. Kout5 15. K×2
16. AC 17. Kin4 18. Kout1 19. K+2 20. Kout2
21. Kin1 22. Kout3 23. K+1 24. 2 25. K÷1
26. Kout1 27. HLT 28. RTN        

f(K1) 的意思是以K1作為變數 x 的值,輸入f(x)的程式碼。

執行程式前須先按 Shift AC ,把所有K寄存器set zero,然後把兩個起始值分別存入K1K2中。

範例

Bisection Method,以x0=0.5x1=1為起始值,解 sin x + x - 1 = 0,準至 3 個小數位。

f(K1) 的程式碼如下:

1. Kout1 2. SIN 3. + 4. Kout1 5. -
6. 1 7. =            

整體的程式碼:

1. Kout1 2. SIN 3. + 4. Kout1 5. -
6. 1 7. = 8. Kin6 9. Kout1 10. X<>K3
11. X<>K2 12. Kin1 13. Kout4 14. Kin5 15. COS-1
16. SIN 17. Kin4 18. Kout6 19. X>0 20. Kout5
21. K×2 22. AC 23. Kin4 24. Kout1 25. K+2
26. Kout2 27. Kin1 28. Kout3 29. K+1 30. 2
31. K÷1 32. Kout1 33. HLT 34. RTN    

在解其他方程 f(x) = 0 時,可在 EDIT 狀態下,用SHIFT step1 step7 刪除,再輸入新函數 f(x)的程式碼,這樣就可把這程式應用到任何方程中。這亦是 EDIT 狀態的一大好處。

由於 x 要以弧量度,因此要轉 RAD MODE

MODE 5

把所有K寄存器set zero

Shift AC

把兩個起始值分別存入K1K2中:

0 . 5 Kin 1 1 Kin 2

執行程式:

P1 RUN RUN RUN RUN RUN RUN RUN RUN RUN

得到下列結果:

r
xr
2
0.75
3
0.625
4
0.5625
5
0.53125
6 0.515625
7 0.5078125
8 0.51171875
9 0.509765625
10 0.510742187
11 05.11230468

因此,x = 0.511 (3 d.p.)