$$$$ @SYSLIN * @SYSLIN PROCEDUR MB234859 25/01/03 21:15:33 12105 *23456789123456789123456789123456789123456789123456789123456789123456789 ************************************************************************ * * PROCEDURE POUUR LA RESOLUTION D'UN SYSTEME LINEAIRE * * L. GELEBART 24/09/08 * ************************************************************************ ************************************************************************ DEBPROC @SYSLIN K1*TABLE F1*TABLE; DIME0 = VALE DIME; OPTI DIME 3; * IMAX = DIME K1; P0 = MANU POI1 (0. 0. 0.); * * definition des noms des inconnues et de leurs duales *----------------------------------------------------- I0 = 0; REPETE BOU0 IMAX; I0 = I0+1; SI (I0 EGA 1); NOM_I = MOTS (CHAINE 'I' I0); NOM_D = MOTS (CHAINE 'D' I0); SINON; NOM_I = NOM_I ET (MOTS (CHAINE 'I' I0)); NOM_D = NOM_D ET (MOTS (CHAINE 'D' I0)); FINSI; FIN BOU0; * * definition de la matrice *----------------------------------------------------- I0 = 0; REPETE BOUI0 IMAX; I0=I0+1; J0 = 0; REPETE BOUJ0 IMAX; J0 = J0 + 1; SI ((I0 EGA 1) ET (J0 EGA 1)); KPROG0 = PROG (K1 . I0 . J0); SINON; KPROG0 = KPROG0 ET (PROG (K1 . I0 . J0)); FINSI; FIN BOUJ0; FIN BOUI0; * RIG0 = MANU RIGI P0 NOM_I DUAL NOM_D 'QUEL' KPROG0; * * definition du vecteur *----------------------------------------------------- I0 = 0; REPETE BOUI0 IMAX; I0=I0+1; SI (I0 EGA 1); V0 = MANU CHPO P0 (F1 . I0) (EXTR NOM_D I0); SINON; V0 = V0 + (MANU CHPO P0 (F1 . I0) (EXTR NOM_D I0)); FINSI; FIN BOUI0; V0 = 'CHAN' 'ATTRIBUT' V0 'NATURE' 'DISCRET' ; * * resolution du systeme *----------------------------------------------------- V1 = RESOU RIG0 V0; * * regroupement du resultat sous forme de table *----------------------------------------------------- U1 = TABLE; I0 = 0; REPETE BOUI0 IMAX; I0=I0+1; U1 . I0 = MAXI (EXCO (EXTR NOM_I I0) V1); FIN BOUI0; * OPTI DIME DIME0; FINPROC U1; ************************************************************************ * FIN DE LA PROCEDURE @SYSLIN ************************************************************************