inv
C INV SOURCE CHAT 05/01/13 00:42:58 5004 C*********************************************************************** C* * C* PROJET : Opérateur LIMI * C* NOM : INV sous-programme * C* DESCRIPTION : Ce sous-programme calcule l'inverse d'une matrice * C* carrée de rang 3, par la méthode des cofacteurs * C* LANGAGE : Esope * C* AUTEUR : Guillaume VENCO - DRN/DMT/SEMT/LTMF * C* * C*********************************************************************** C* * C* APPELES : Fonction DET * C* * C*********************************************************************** C* * C* ENTREES : A : -Matrice carrée 3*3 * C* * C* SORTIES : B : -Matrice carrée 3*3 inverse de la matrice A * C* * C*********************************************************************** C* * C* VERSION : 20/04/2000 * C* CREATION : * C* * C*********************************************************************** IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) C* ********************************* C* *** Déclaration des variables *** C* ********************************* REAL*8 A(3,3),B(3,3) REAL*8 Y C* ********************************* C* ******** Sous-programme ********* C* ********************************* C---- Condition d'inversibilité write(6,*) 'La matrice n''est pas inversible' RETURN ENDIF C---- Calcul du déterminant de A C---- Calcul de l'inverse de A B(1,1)= (A(2,2)*A(3,3)-A(2,3)*A(3,2))/Y B(1,2)= -(A(1,2)*A(3,3)-A(1,3)*A(3,2))/Y B(1,3)= (A(1,2)*A(2,3)-A(1,3)*A(2,2))/Y B(2,1)= -(A(2,1)*A(3,3)-A(2,3)*A(3,1))/Y B(2,2)= (A(1,1)*A(3,3)-A(1,3)*A(3,1))/Y B(2,3)= -(A(1,1)*A(2,3)-A(1,3)*A(2,1))/Y B(3,1)= (A(2,1)*A(3,2)-A(2,2)*A(3,1))/Y B(3,2)= -(A(1,1)*A(3,2)-A(1,2)*A(3,1))/Y B(3,3)= (A(1,1)*A(2,2)-A(1,2)*A(2,1))/Y c write(6,1003) B(1,1),B(1,2),B(1,3) c write(6,1003) B(2,1),B(2,2),B(2,3) c write(6,1003) B(3,1),B(3,2),B(3,3) RETURN 1003 FORMAT(3(1X,1PE11.4)) END C* ********************************* C* **** Fin Sous-Programme ******* C* *********************************
© Cast3M 2003 - Tous droits réservés.
Mentions légales