Méthode alculant l'inverse d'une matrice

Résolu
question -  
 Kia -
Bonjour,
quelqu'un aurait-il un programme permettant (sous matlab) de calculer l'inverse d'une matrice?
je ne parle pas de la méthode préprogrammé "inv()" mais d'un programme entier svp..
merci d'avance

3 réponses

  1. Princess-Sarah Messages postés 82 Statut Membre 47
     
    Coucou question, c'est encore moi !
    J'ai vu que tu t'étais inscrit donc ^_^
    Cela est normal si tu ne peux pas m'envoyer de messages. Dans mon profil, je refuse que les membres me contactent par la messagerie.

    D'où je trouve les programmes ? Quelle idée ! Je les écris !
    J'en profite pour t'écrire ici la méthode d'inversion d'une matrice par pivot de Gauss. Pour la résolution d'un système par pivot de Gauss, je t'ai répondu sur ton autre sujet.
    function B = calcul_inverse_gauss(A)
    
    n=size(A,1);
    B=eye(n);
    
    for p=1:n
        vec=[(1:p-1) n (p:n-1)];
        test=1;
        while A(p,p)==0
            if test==n
                error('La matrice n''est pas inversible')
            end
            A=A(vec,:);
            B=B(vec,:);
            test=test+1;
        end
        B(p,:)=B(p,:)/A(p,p);
        A(p,:)=A(p,:)/A(p,p);
        for q=p+1:n
            B(q,:)=B(q,:)-A(q,p)*B(p,:);
            A(q,:)=A(q,:)-A(q,p)*A(p,:);
        end
    end
    
    for p=n:-1:2
        for q=p-1:-1:1
            B(q,:)=B(q,:)-A(q,p)*B(p,:);
            A(q,:)=A(q,:)-A(q,p)*A(p,:);
        end
    end
    

    Voilà ! Tu as plusieurs programmes pour inverser une matrice - programmes totalement inutiles cela dit - !
    Bonne journée !
    10
    1. teouf
       
      pas mal ton prog super impressionner

      par contre dsl je suis très novice dans matlab, j'ai pas trop compris la phase:

      for p=1:n
      vec=[(1:p-1) n (p:n-1)];
      test=1;
      while A(p,p)==0
      if test==n
      error('La matrice n''est pas inversible')
      end
      A=A(vec,:);
      B=B(vec,:);
      test=test+1;
      end

      peux tu m'expliquer

      merci d'avance
      0
    2. Kia
       
      Coucou.. J'ai une petite question concernant le programme ..

      B=eye(n)

      Le n c'est quoi dans ce cas la?
      Est-ce le nombre de rangees?
      0