Secant Method
![]()
|
程式碼(最少26
Steps)
|
|||||||||
| 1. | f(K1) | 2. | X |
3. | Kin3 | 4. | Kout1 | 5. | X |
| 6. | Kin1 | 7. | Kout5 | 8. |
COS-1 |
9. | SIN | 10. | Kin5 |
| 11. | X>0 | 12. | Kout2 | 13. | X |
14. | X |
15. | K×4 |
| 16. | X |
17. | K×2 | 18. | K-3 | 19. | KOUT4 | 20. | K-2 |
| 21. | Kout3 | 22. | +/- | 23. | K÷2 | 24. | Kout2 | 25. | HLT |
| 26. | RTN | ||||||||
f(K1) 的意思是以K1作為變數 x 的值,輸入f(x)的程式碼。
執行程式前須先按 Shift AC ,把所有K寄存器set zero,然後把兩個起始值分別存入K1和K2中。
範例
用Secant 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. | X |
9. | Kin3 | 10. | Kout1 |
| 11. | X |
12. | Kin1 | 13. | Kout5 | 14. |
COS-1 |
15. | SIN |
| 16. | Kin5 | 17. | X>0 | 18. | Kout2 | 19. | X |
20. | X |
| 21. | K×4 | 22. | X |
23. | K×2 | 24. | K-3 | 25. | KOUT4 |
| 26. | K-2 | 27. | Kout3 | 28. | +/- | 29. | K÷2 | 30. | Kout2 |
| 31. | HLT | 32. | RTN |
在解其他方程 f(x) = 0 時,可在 EDIT 狀態下,用SHIFT
把
step1 至 step7 刪除,再輸入新函數 f(x)的程式碼,這樣就可把這程式應用到任何方程中。這亦是
EDIT 狀態的一大好處。
|
按鍵
MODE 0 P1 SHIFT MODE P1 Kout 1 SIN + Kout 1 - 1 = SHIFT Kout 4 Kin 3 Kout 1 SHIFT Kout 2 Kin 1 Kout 5 SHIFT COS SIN Kin 5 SHIFT 7 Kout 2 SHIFT Kout 1 SHIFT Kout 4 Kin × 4 SHIFT Kout 3 Kin × 2 Kin - 3 Kout 4 Kin - 2 Kout 3 +/- Kin ÷ 2 Kout 2 SHIFT RUN SHIFT 9 MODE . |
由於 x 要以弧量度,因此要轉 RAD MODE:
|
MODE 5 |
把所有K寄存器set zero:
Shift AC
把兩個起始值分別存入K1和K2中:
|
0 . 5 Kin 1 1 Kin 2 |
執行程式:
|
P1 RUN RUN RUN |
得到下列結果:
|
r
|
xr
|
|
2
|
0.511933513
|
|
3
|
0.510888813
|
|
4
|
0.51097344
|
|
5
|
0.510973429
|
因此,x = 0.511 (3 d.p.)