gentran.tst 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. MATRIX M(3,3)$
  2. M(1,1) := 18*COS(Q3)*COS(Q2)*M30*P**2 - 9*SIN(Q3)**2*P**2*M30
  3. - SIN(Q3)**2*J30Y + SIN(Q3)**2*J30Z + P**2*M10
  4. + 18*P**2*M30 + J10Y + J30Y;
  5. M(2,1) :=
  6. M(1,2) := 9*COS(Q3)*COS(Q2)*M30*P**2 - SIN(Q3)**2*J30Y +
  7. SIN(Q3)**2*J30Z - 9*SIN(Q3)**2*M30*P**2 + J30Y +
  8. 9*M30*P**2;
  9. M(3,1) :=
  10. M(1,3) := -9*SIN(Q3)*SIN(Q2)*M30*P**2;
  11. M(2,2) := -SIN(Q3)**2*J30Y + SIN(Q3)**2*J30Z - 9*SIN(Q3)**2
  12. *M30*P**2 + J30Y + 9*M30*P**2;
  13. M(3,2) :=
  14. M(2,3) := 0;
  15. M(3,3) := 9*M30*P**2 + J30X;
  16. GENTRANLANG!* := 'FORTRAN$
  17. FORTLINELEN!* := 72$
  18. GENTRAN LITERAL "C", CR!*,
  19. "C", TAB!*, "*** COMPUTE VALUES FOR MATRIX M ***", CR!*,
  20. "C", CR!*$
  21. FOR j:=1:3 DO
  22. FOR k:=j:3 DO
  23. GENTRAN M(j,k) ::=: M(j,k)$
  24. GENTRAN LITERAL "C", CR!*,
  25. "C", TAB!*, "*** COMPUTE VALUES FOR INVERSE MATRIX ***",
  26. CR!*,
  27. "C", CR!*$
  28. SHARE var$
  29. FOR j:=1:3 DO
  30. FOR k:=j:3 DO
  31. IF M(j,k) NEQ 0 THEN
  32. <<
  33. var := TEMPVAR NIL;
  34. MARKVAR var;
  35. M(j,k) := var;
  36. M(k,j) := var;
  37. GENTRAN
  38. EVAL(var) := M(EVAL(j),EVAL(k))
  39. >>$
  40. COMMENT -- Contents of Matrix M: --$
  41. M := M;
  42. MATRIX MXINV(3,3)$
  43. MXINV := M**(-1)$
  44. FOR j:=1:3 DO
  45. FOR k:=j:3 DO
  46. GENTRAN MXINV(j,k) ::=: MXINV(j,k)$
  47. GENTRAN
  48. for j:=1:3 do
  49. for k:=j+1:3 do
  50. <<
  51. m(k,j) := m(j,k);
  52. mxinv(k,j) := mxinv(j,k)
  53. >>$
  54. END$