Télécharger @syslin.procedur

Retour à la liste

Numérotation des lignes :

  1. * @SYSLIN PROCEDUR PV 09/12/23 21:15:08 6590
  2. *23456789123456789123456789123456789123456789123456789123456789123456789
  3. ************************************************************************
  4. *
  5. * PROCEDURE POUUR LA RESOLUTION D'UN SYSTEME LINEAIRE
  6. *
  7. * L. GELEBART 24/09/08
  8. *
  9. ************************************************************************
  10. ************************************************************************
  11. DEBPROC @SYSLIN K1*TABLE F1*TABLE;
  12. DIME0 = VALE DIME;
  13. *
  14. IMAX = DIME K1;
  15. P0 = MANU POI1 (0. 0. 0.);
  16. *
  17. * definition des noms des inconnues et de leurs duales
  18. *-----------------------------------------------------
  19. I0 = 0;
  20. REPETE BOU0 IMAX;
  21. I0 = I0+1;
  22. SI (I0 EGA 1);
  23. NOM_I = MOTS (CHAINE 'I' I0);
  24. NOM_D = MOTS (CHAINE 'D' I0);
  25. SINON;
  26. NOM_I = NOM_I ET (MOTS (CHAINE 'I' I0));
  27. NOM_D = NOM_D ET (MOTS (CHAINE 'D' I0));
  28. FINSI;
  29. FIN BOU0;
  30. *
  31. * definition de la matrice
  32. *-----------------------------------------------------
  33. I0 = 0;
  34. REPETE BOUI0 IMAX;
  35. I0=I0+1;
  36. J0 = 0;
  37. REPETE BOUJ0 IMAX;
  38. J0 = J0 + 1;
  39. SI ((I0 EGA 1) ET (J0 EGA 1));
  40. KPROG0 = PROG (K1 . I0 . J0);
  41. SINON;
  42. KPROG0 = KPROG0 ET (PROG (K1 . I0 . J0));
  43. FINSI;
  44. FIN BOUJ0;
  45. FIN BOUI0;
  46. *
  47. RIG0 = MANU RIGI P0 NOM_I DUAL NOM_D 'QUEL' KPROG0;
  48. *
  49. * definition du vecteur
  50. *-----------------------------------------------------
  51. I0 = 0;
  52. REPETE BOUI0 IMAX;
  53. I0=I0+1;
  54. SI (I0 EGA 1);
  55. V0 = MANU CHPO P0 (F1 . I0) (EXTR NOM_D I0);
  56. SINON;
  57. V0 = V0 + (MANU CHPO P0 (F1 . I0) (EXTR NOM_D I0));
  58. FINSI;
  59. FIN BOUI0;
  60. *
  61. * resolution du systeme
  62. *-----------------------------------------------------
  63. V1 = RESOU RIG0 V0;
  64. *
  65. * regroupement du resultat sous forme de table
  66. *-----------------------------------------------------
  67. U1 = TABLE;
  68. I0 = 0;
  69. REPETE BOUI0 IMAX;
  70. I0=I0+1;
  71. U1 . I0 = MAXI (EXCO (EXTR NOM_I I0) V1);
  72. FIN BOUI0;
  73. *
  74. OPTI DIME DIME0;
  75. FINPROC U1;
  76. ************************************************************************
  77. * FIN DE LA PROCEDURE @SYSLIN
  78. ************************************************************************
  79.  
  80.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales