Méthode alculant l'inverse d'une matrice

Résolu/Fermé
question - 4 mai 2008 à 21:12
 Kia - 1 oct. 2011 à 17:22
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

Princess-Sarah Messages postés 78 Date d'inscription mardi 29 avril 2008 Statut Membre Dernière intervention 13 septembre 2009 47
8 mai 2008 à 14:43
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
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
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