home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1994-02-04 | 1.0 KB | 54 lines |
- 0 CLS:PRINT
- 10 CLS:PRINT "MATRIX INVERSION "
- 20 PRINT
- 30 DIM A(10,10),B(10,10)
- 40 PRINT "DIMENSION OF MATRIX";
- 50 INPUT R
- 60 PRINT "MATRIX ELEMENTS:"
- 70 FOR J = 1 TO R
- 80 PRINT "ROW ";J
- 90 FOR I = 1 TO R
- 100 PRINT "VALUE COLUMN ";I;
- 110 INPUT A(J,I)
- 120 NEXT I
- 130 B(J,J) = 1
- 140 NEXT J
- 150 FOR J = 1 TO R
- 160 FOR I = J TO R
- 170 IF A(I,J) < > 0 THEN 210
- 180 NEXT I
- 190 PRINT "SINGULAR MATRIX"
- 200 GOTO 500
- 210 FOR K = 1 TO R
- 220 S = A(J,K)
- 230 A(J,K) = A(I,K)
- 240 A(I,K) = S
- 250 S = B(J,K)
- 260 B(J,K) = B(I,K)
- 270 B(I,K) = S
- 280 NEXT K
- 290 T = 1 / A(J,J)
- 300 FOR K = 1 TO R
- 310 A(J,K) = T * A(J,K)
- 320 B(J,K) = T * B(J,K)
- 330 NEXT K
- 340 FOR L = 1 TO R
- 350 IF L = J THEN 410
- 360 Y = - A(L,J)
- 370 FOR K = 1 TO R
- 380 A(L,K) = A(L,K) + T * A(J,K)
- 390 B(L,K) = B(L,K) + T * B(J,K)
- 400 NEXT K
- 410 NEXT L
- 420 NEXT J
- 430 PRINT
- 440 FOR I = 1 TO R
- 450 FOR J = 1 TO R
- 460 PRINT INT (B(I,J) * 1000 + 0.5) / 1000;" ";
- 470 NEXT J
- 480 PRINT
- 490 NEXT I
- 495 INPUT "Run Again (Y/N)";A$
- 497 IF A$="Y" OR A$="y" THEN 10
- 500 RUN "MATH"
-