Bisection Method
![]()
|
程式碼(最少28
Steps)
|
|||||||||
| 1. | f(K1) | 2. | Kin6 | 3. | Kout1 | 4. | X |
5. | X |
| 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,然後把兩個起始值分別存入K1和K2中。
範例
用Bisection Method,以x0=0.5和x1=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 |
| 11. | X |
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
把兩個起始值分別存入K1和K2中:
|
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.)