|
|
- "THIS Prog IS USED TO SOLVE EQN AS P(X,Y)=0 AND Q(X,Y)=0"◢↵
- "EDIT EQN IN Prog 2V-EQN"◢↵
- "X0="?→A↵
- "Y0="?→B↵
- If √(A²÷2+B²÷2)≠0↵
- Then √(A²÷2+B²÷2)→O↵
- Else 1→O↵
- IfEnd↵
- Ox10^(-6)→H↵
- If A=0↵
- Then H→A↵
- IfEnd↵
- If B=0↵
- Then H→B↵
- IfEnd↵
- For 0→I To 100↵
- A-H÷2→X↵
- B→Y↵
- Prog "2V-EQN"↵
- P→M↵
- Q→N↵
- A+H÷2→X↵
- B→Y↵
- Prog "2V-EQN"↵
- (P-M)÷H→T↵
- (Q-N)÷H→V↵
- A→X↵
- B-H÷2→Y↵
- Prog "2V-EQN"↵
- P→M↵
- Q→N↵
- A→X↵
- B+H÷2→Y↵
- Prog "2V-EQN"↵
- (P-M)÷H→U↵
- (Q-N)÷H→W↵
- TxW-UxV→J↵
- If √(A²÷2+B²÷2)>1↵
- Then √(A²÷2+B²÷2)→O↵
- Else 1→O↵
- IfEnd↵
- 10^(-6)xO^(-3)÷(Abs(J)+10^(-8))→G↵
- (T+G)x(W+G)-UxV→J↵
- A→X↵
- B→Y↵
- Prog "2V-EQN"↵
- (UxQ-PxW)÷J→K↵
- (PxV-TxQ)÷J→L↵
- If Abs(A)>1↵
- Then A→E↵
- Else 1→E↵
- IfEnd↵
- If Abs(B)>1↵
- Then B→F↵
- Else 1→F↵
- IfEnd↵
- If Abs(K÷E)≦10^(-8) And Abs(L÷F)≦10^(-8) And √(P²+Q²)÷√(E²+F²)≦10^(-8)↵
- Then A+K→A↵
- B+L→B↵
- Break↵
- IfEnd↵
- 1→S↵
- P→M↵
- Q→N↵
- For 0→Z To 15↵
- A+SxK→X↵
- B+SxL→Y↵
- Prog "2V-EQN"↵
- If (P²+Q²)<(M²+N²)↵
- Then Break↵
- Else S÷2→S↵
- IfEnd↵
- Next↵
- If Z=15↵
- Then A+0.5xRanInt#(-10000,10000)÷10000→A↵
- B+0.5xRanInt#(-10000,10000)÷10000→B↵
- Else A+SxK→A↵
- B+SxL→B↵
- IfEnd↵
- Next↵
- A→X↵
- B→Y↵
- Prog "2V-EQN"↵
- √(P²+Q²)→R↵
- If I=100↵
- Then "X=":A◢↵
- "Y=":B◢↵
- "ERROR=":R◢↵
- "MAX INTERATION CHANGE INITIAL VALUE TO SOLVE"◢↵
- "END"◢↵
- Else "X=":A◢↵
- "Y=":B◢↵
- "ERROR=":R◢↵
- IfEnd↵
复制代码 |
|