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 : OPTI DIME 3; 14 : * 15 : IMAX = DIME K1; 16 : P0 = MANU POI1 (0. 0. 0.); 17 : * 18 : * definition des noms des inconnues et de leurs duales 19 : *----------------------------------------------------- 20 : I0 = 0; 21 : REPETE BOU0 IMAX; 22 : I0 = I0+1; 23 : SI (I0 EGA 1); 24 : NOM_I = MOTS (CHAINE 'I' I0); 25 : NOM_D = MOTS (CHAINE 'D' I0); 26 : SINON; 27 : NOM_I = NOM_I ET (MOTS (CHAINE 'I' I0)); 28 : NOM_D = NOM_D ET (MOTS (CHAINE 'D' I0)); 29 : FINSI; 30 : FIN BOU0; 31 : * 32 : * definition de la matrice 33 : *----------------------------------------------------- 34 : I0 = 0; 35 : REPETE BOUI0 IMAX; 36 : I0=I0+1; 37 : J0 = 0; 38 : REPETE BOUJ0 IMAX; 39 : J0 = J0 + 1; 40 : SI ((I0 EGA 1) ET (J0 EGA 1)); 41 : KPROG0 = PROG (K1 . I0 . J0); 42 : SINON; 43 : KPROG0 = KPROG0 ET (PROG (K1 . I0 . J0)); 44 : FINSI; 45 : FIN BOUJ0; 46 : FIN BOUI0; 47 : * 48 : RIG0 = MANU RIGI P0 NOM_I DUAL NOM_D 'QUEL' KPROG0; 49 : * 50 : * definition du vecteur 51 : *----------------------------------------------------- 52 : I0 = 0; 53 : REPETE BOUI0 IMAX; 54 : I0=I0+1; 55 : SI (I0 EGA 1); 56 : V0 = MANU CHPO P0 (F1 . I0) (EXTR NOM_D I0); 57 : SINON; 58 : V0 = V0 + (MANU CHPO P0 (F1 . I0) (EXTR NOM_D I0)); 59 : FINSI; 60 : FIN BOUI0; 61 : * 62 : * resolution du systeme 63 : *----------------------------------------------------- 64 : V1 = RESOU RIG0 V0; 65 : * 66 : * regroupement du resultat sous forme de table 67 : *----------------------------------------------------- 68 : U1 = TABLE; 69 : I0 = 0; 70 : REPETE BOUI0 IMAX; 71 : I0=I0+1; 72 : U1 . I0 = MAXI (EXCO (EXTR NOM_I I0) V1); 73 : FIN BOUI0; 74 : * 75 : OPTI DIME DIME0; 76 : FINPROC U1; 77 : ************************************************************************ 78 : * FIN DE LA PROCEDURE @SYSLIN 79 : ************************************************************************ 80 :
© Cast3M 2003 - All rights reserved.
Disclaimer