home *** CD-ROM | disk | FTP | other *** search
/ Play and Learn 2 / 19941.ZIP / 19941 / EDUCTORY / GEOGRAPY / M26.BAS (.txt) < prev    next >
Encoding:
GW-BASIC  |  1994-02-04  |  1.0 KB  |  54 lines

  1. 0  CLS:PRINT
  2. 10   CLS:PRINT "MATRIX INVERSION "
  3. 20   PRINT 
  4. 30   DIM A(10,10),B(10,10)
  5. 40   PRINT "DIMENSION OF MATRIX";
  6. 50   INPUT R
  7. 60   PRINT "MATRIX ELEMENTS:"
  8. 70   FOR J = 1 TO R
  9. 80   PRINT "ROW ";J
  10. 90   FOR I = 1 TO R
  11. 100   PRINT "VALUE COLUMN ";I;
  12. 110   INPUT A(J,I)
  13. 120   NEXT I
  14. 130  B(J,J) = 1
  15. 140   NEXT J
  16. 150   FOR J = 1 TO R
  17. 160   FOR I = J TO R
  18. 170   IF A(I,J) <  > 0 THEN 210
  19. 180   NEXT I
  20. 190   PRINT "SINGULAR MATRIX"
  21. 200   GOTO 500
  22. 210   FOR K = 1 TO R
  23. 220  S = A(J,K)
  24. 230  A(J,K) = A(I,K)
  25. 240  A(I,K) = S
  26. 250  S = B(J,K)
  27. 260  B(J,K) = B(I,K)
  28. 270  B(I,K) = S
  29. 280   NEXT K
  30. 290  T = 1 / A(J,J)
  31. 300   FOR K = 1 TO R
  32. 310  A(J,K) = T * A(J,K)
  33. 320  B(J,K) = T * B(J,K)
  34. 330   NEXT K
  35. 340   FOR L = 1 TO R
  36. 350   IF L = J THEN 410
  37. 360  Y =  - A(L,J)
  38. 370   FOR K = 1 TO R
  39. 380  A(L,K) = A(L,K) + T * A(J,K)
  40. 390  B(L,K) = B(L,K) + T * B(J,K)
  41. 400   NEXT K
  42. 410   NEXT L
  43. 420   NEXT J
  44. 430   PRINT 
  45. 440   FOR I = 1 TO R
  46. 450   FOR J = 1 TO R
  47. 460   PRINT  INT (B(I,J) * 1000 + 0.5) / 1000;"  ";
  48. 470   NEXT J
  49. 480   PRINT 
  50. 490   NEXT I
  51. 495  INPUT "Run Again (Y/N)";A$
  52. 497  IF A$="Y" OR A$="y" THEN 10
  53. 500   RUN "MATH"
  54.