Regular Falsi Method
![]()
|
程式碼(最少51
Steps)
|
|||||||||
| 1. | f(K1) | 2. | X |
3. | KIN4 | 4. | KOUT1 | 5. | X |
| 6. | KIN1 | 7. | . | 8. | 4 | 9. | M+ | 10. | MR |
| 11. | FIX0 | 12. | RND | 13. | X<M | 14. | M+ | 15. | KOUT1 |
| 16. | X |
17. | X |
18. | KIN1 | 19. | KOUT6 | 20. | X |
| 21. | X |
22. | KIN6 | 23. | X>0 | 24. | X |
25. | × |
| 26. | MR | 27. | 1/X | 28. | RND | 29. | K×4 | 30. | = |
| 31. | K+2 | 32. | KOUT4 | 33. | K+5 | 34. | KOUT2 | 35. | K×1 |
| 36. | X |
37. | KIN2 | 38. | X |
39. | K×5 | 40. | K-6 |
| 41. | X |
42. | X |
43. | K-1 | 44. | KOUT5 | 45. | K÷1 |
| 46. | KOUT1 | 47. | NRM | 48. | HLT | 49. | 1 | 50. | Min |
| 51. | RTN | ||||||||
f(K1) 的意思是以K1作為變數 x 的值,輸入f(x)的程式碼。
執行程式前須先按 Shift AC 及 Shift MR,把所有K寄存器及M寄存器 set zero,然後把兩個起始值分別存入K1和K2中。
範例
用Regular Falsi 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. | = | 2. | X |
3. | KIN4 | 4. | KOUT1 |
| 5. | X |
6. | KIN1 | 7. | . | 8. | 4 | 9. | M+ |
| 10. | MR | 11. | FIX0 | 12. | RND | 13. | X<M | 14. | M+ |
| 15. | KOUT1 | 16. | X |
17. | X |
18. | KIN1 | 19. | KOUT6 |
| 20. | X |
21. | X |
22. | KIN6 | 23. | X>0 | 24. | X |
| 25. | × | 26. | MR | 27. | 1/X | 28. | RND | 29. | K×4 |
| 30. | = | 31. | K+2 | 32. | KOUT4 | 33. | K+5 | 34. | KOUT2 |
| 35. | K×1 | 36. | X |
37. | KIN2 | 38. | X |
39. | K×5 |
| 40. | K-6 | 41. | X |
42. | X |
43. | K-1 | 44. | KOUT5 |
| 45. | K÷1 | 46. | KOUT1 | 47. | NRM | 48. | HLT | 49. | 1 |
| 50. | Min | 51. | RTN |
在解其他方程 f(x) = 0 時,可在 EDIT 狀態下,用SHIFT
把
step1 至 step7 刪除,再輸入新函數 f(x)的程式碼,這樣就可把這程式應用到任何方程中。這亦是
EDIT 狀態的一大好處。
由於 x 要以弧量度,因此要轉 RAD MODE:
|
MODE 5 |
把所有K寄存器及M寄存器 set zero:
Shift AC Shift MR
把兩個起始值分別存入K1和K2中:
|
0 . 5 Kin 1 1 Kin 2 |
執行程式:
|
P1 RUN RUN RUN |
得到下列結果:
|
r
|
xr
|
|
2
|
0.511933513
|
|
3
|
0.510974795
|
|
4
|
0.510973431
|
|
5
|
0.510973429
|
因此,x = 0.511 (3 d.p.)