equa32
C EQUA32 SOURCE GOUNAND 24/10/09 21:15:04 12031 ************************************************************************ * * E Q U A 3 2 * ----------- * * FONCTION: * --------- * * RESOLUTION D'UN SYSTEME DE 3 EQUATIONS A 2 INCONNUES, DE RANG 2. * * AA * X = B * * MODULES UTILISES: * ----------------- * IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) -INC PPARAM -INC CCOPTIO -INC CCREEL * * PARAMETRES: (E)=ENTREE (S)=SORTIE (+ = CONTENU DANS UN COMMUN) * ----------- * * AA (E) MATRICE 3X2 DU SYSTEME. * B (E) SECOND MEMBRE DU SYSTEME. * X (S) 2 INCONNUES DU SYSTEME. * RESOLU (S) = .TRUE. SI LA RESOLUTION A PU SE FAIRE. * REAL*8 AA(3,2),B(3),X(2) LOGICAL RESOLU * * CONSTANTES: * ----------- * * IND = BIAIS POUR REPRESENTER UN INDICAGE CIRCULAIRE DE 1 A 3. * PRECIS = CRITERE DE PRECISION. * INTEGER IND(5) REAL*8 PRECIS * * VARIABLES: * ---------- * * DET = DETERMINANT 2X2 DE LA MATRICE "AA". * DETMAX = PLUS GRAND DETERMINANT EN VALEUR ABSOLUE. * * * AUTEUR, DATE DE CREATION: * ------------------------- * * PASCAL MANIGOT 18 NOVEMBRE 1987 * * LANGAGE: * -------- * * FORTRAN77 * ************************************************************************ * DATA IND/1,2,3,1,2/ * PRECIS=XZPREC*100.D0 I=1 DETMAX = 0.D0 DO 100 IB=1,3 & - AA(IND(IB+1),1) * AA(IND(IB),2) DETMAX = DET I = IB END IF 100 CONTINUE * * ON RESOUT EN PRENANT LES 2 EQUATIONS CORRESPONDANT AU PLUS GRAND * DETERMINANT. * X(1) = ( B(IND(I)) * AA(IND(I+1),2) & - B(IND(I+1)) * AA(IND(I),2) ) / DETMAX X(2) = ( AA(IND(I),1) * B(IND(I+1)) & - AA(IND(I+1),1) * B(IND(I)) ) / DETMAX * * ON VERIFIE LA 3EME EQUATION * A1 = AA(IND(I+2),1) * X(1) A2 = AA(IND(I+2),2) * X(2) B3 = B(IND(I+2)) IF (IIMPI .EQ. 732) THEN WRITE (IOIMP,*) 'VERIF,B3,A1,A2' END IF * IF (ABS(B3) .LT. XPETIT) THEN A1 = ABS(A1) A2 = ABS(A2) B3 = MAX(A1,A2) * PRECIS ELSE END IF IF (IIMPI .EQ. 732) THEN WRITE (IOIMP,*) 'VERIF' END IF * END
© Cast3M 2003 - Tous droits réservés.
Mentions légales