IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Delphi Discussion :

Comment inverser une matrice H(2,2) ?


Sujet :

Langage Delphi

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 39
    Par défaut Comment inverser une matrice H(2,2) ?
    quelqu'un peut m'aide à inverser une matrice 2*2.

  2. #2
    Membre émérite
    Avatar de MD Software
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    613
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 613
    Par défaut
    C'est de l'algorithmique ça. Tu aurais du poster dans le forum Algo.
    MD Software
    ---------------------------
    F.A.Q. Delphi - Cours Delphi - Composants Delphi - Sources Delphi

  3. #3
    Membre averti
    Inscrit en
    Janvier 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Janvier 2005
    Messages : 18
    Par défaut
    pour une 2*2 la réponse est connue
    soit A ta matrice :
    alors soit G = det(A) = a*d - b*c
    tu as :
    A^(-1) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    (  d/G   -b/G )
    ( -c/G    a/G )
    après y'a plus qu'a mettre ça en forme avec delphi

  4. #4
    Membre émérite
    Inscrit en
    Juin 2005
    Messages
    644
    Détails du profil
    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2005
    Messages : 644
    Par défaut
    de facon + generale pour une matrice nXn, son inverse existe si Det(A) non nul. Si c'est le cas alors



    A^-1 = 1/ det(A) * Transposée ( Comatrice(A) )

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 80
    Par défaut
    ok, soyon clair,
    J'ai fait cet exercice pour mes etude l'année derniere.

    Prend ta matrice :

    ( a b )
    ( c d )

    colle y l'identité dans une matrice 4x2

    ( a b 1 0 )
    ( c d 0 1 )

    Ensuite programme une fonction pivot-de-Gauss telle que

    Procedure Pivot ( x, y : integer )

    lorsque tu prend la matrice precedente :

    Pivot (1,1) pivote sur a et donne :

    ( a b 1 0 )
    ( 0 d-n*d -n 1 )

    avec n = c/a

    ensuite pivot sur d:
    Pivot(2,2) :

    ( a 0 1 + m*n -m )
    ( 0 d-n*d -n 1 )

    avec m = b / (d * n*d)


    ensuite divise chaque ligne pour obtenir une matrice genre

    ( 1 0 A' B' )
    ( 0 1 C' D' )


    La matrice
    ( A' B' )
    ( C' D' )

    Est l'inverse de la matrice de depart.

    concretement

    A' = (1+ m*n) / a

    B' = -m / a

    C' = -n / (d - n*d)

    D' = 1 / (d - n*d)

    Si tu commence par le calcule de n et de m, ca se fait tout seul. ^^

    sans meme la fonction pivot, mais ca, c'etait pour la methode, et ca marche pour tout taille de matrice. suffit de pivoter sur toute la diagonale.

    si l'exception division par zero est levé, ta matrice n'est pas inversible.

    voila, j'espere avoir eté clair, et pas avoir fait d'erreur de calcule, sinon, pose une question.

    A bientot
    HopeLeaves

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [C#] Comment inverser une chaine de caractères ?
    Par just1980 dans le forum Contribuez
    Réponses: 6
    Dernier message: 01/05/2011, 20h35
  2. Réponses: 4
    Dernier message: 06/06/2007, 13h32
  3. Comment entrer une matrice dans une figure ?
    Par hassancoeur dans le forum Interfaces Graphiques
    Réponses: 9
    Dernier message: 11/01/2007, 09h33
  4. comment inverser une matrice (array)
    Par bonomsoleil dans le forum C
    Réponses: 7
    Dernier message: 10/11/2006, 20h53
  5. Réponses: 15
    Dernier message: 26/06/2005, 15h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo