10 REM
********** ΠΡΟΓΡΑΜΜΑ Π208
**********
20 REM * *
30 REM * Μέθοδος των Newton-Raphson *
40 REM * για μη γραμμικά συστήματα *
50
REM * *
60
REM
*****************************************
70 CLS
80 DIM
A(20,21),B(20,21),X(20)
90 INPUT "Δώσε τον αριθμό εξισώσεων";N
100 NC=N+1
110 EPS=.0000005
120 REM Αρχικές τιμές για τα X(I) I=1,2,...,N
130 PRINT "Απαιτείται λίγος χρόνος?? Περιμένετε...":PRINT
140 FOR
I=1 TO N:X(I)=1:NEXT I
150 FOR K=1 TO 200
160 REM Γράφουμε τα στοιχεία του Ιακωβιανού πίνακα
170 REM και το σταθερό συντελεστή
180
A(1,1)=1
190
A(1,2)=2*X(2)
200
A(1,3)=2
210
A(1,4)=1
220
A(1,5)=15-X(1)-X(2)^2-2*X(3)-X(4)
230 A(2,1)=X(2)
240
A(2,2)=1+X(1)
250
A(2,3)=2*X(3)
260
A(2,4)=3
270
A(2,5)=25-X(1)*X(2)-X(2)-X(3)^2-3*X(4)
280
A(3,1)=0
290
A(3,2)=3*X(2)^2
300
A(3,3)=1
310
A(3,4)=2*X(4)
320
A(3,5)=27-X(2)^3-X(3)-X(4)^2
330
A(4,1)=3
340
A(4,2)=1
350
A(4,3)=0
360 A(4,4)=1
370
A(4,5)=9-3*X(1)-X(2)-X(4)
380 IF
INT(K/20)*20<>K THEN GOTO 400
390 PRINT "Στην";K;"επανάληψη δεν έχει
ακόμη συγκλίνει"
400 FOR
II=1 TO N
410 IF
ABS(A(II,NC))>EPS THEN GOTO 440
420 NEXT
II
430 GOTO
500
440
GOSUB 570
450 FOR
J=1 TO N
460
X(J)=X(J)+A(J,NC)
470 NEXT
J
480 NEXT K
490 PRINT "Μετά από";K;"επαναλήψεις δεν
έχουμε σύγκλιση":END
500 FOR
I=1 TO N
510
PRINT "X(";I;")=";X(I)
520 NEXT I
530 PRINT "Απαιτήθηκαν";K;"Επαν. για τη
σύγκλιση"
540 END
550 REM Το υποπρόγραμμα αυτό βρίσκει τη λύση
560 REM Με τη μέθοδο των Gauss-Jordan
570 FOR
R=1 TO N
580 REM Μερική οδήγηση
590
W=A(R,R):C=R
600 FOR
T=R+1 TO N
610 IF
ABS(A(T,R))<ABS(W) THEN GOTO 640
620
W=A(T,R)
630 C=T
640 NEXT
T
650 REM Αλλαγή γραμμών
660 FOR
LT=1 TO NC
670
PROP=A(R,LT)
680
A(R,LT)=A(C,LT)
690
A(C,LT)=PROP
700 NEXT
LT
710 FOR
J=1 TO NC
720
B(R,J)=A(R,J)/W
730 NEXT
J
740 FOR
I=1 TO N
750 IF
I=R THEN GOTO 790
760 FOR
J=1 TO NC
770
B(I,J)=A(I,J)-A(I,R)*B(R,J)
780 NEXT J
790 NEXT I
800 REM Αντικατάσταση του Β πίνακα με τον Α
810 FOR
I=1 TO N
820 FOR
J=1 TO NC
830
A(I,J)=B(I,J)
840 NEXT
J
850 NEXT
I
860 NEXT
R
870
RETURN