Pivot de gauss matlab

Résolu
question le retour -  
 van -
Bonjour,
j'essaie de programmer la méthode du pivot de gauss en matlab
voilà ce que j'ai
function x = gauss( A,b ) 
[n,n]=size(A);
for j= 2 : n
for i= j: n
A(i,:)=A(i,:)-A(j-1,:)*A(i,j-1)/A(j-1,j-1);
end
end

mon probleme est que cette méthode ne marche pas avec ma matrice car cette méthode ne s'applique qu'avec les matrices triangulaires
or la mienne est simplement carrée

quelqu'un pourrait il maider ou me proposer un programme adequat?
merci

2 réponses

  1. Princess-Sarah Messages postés 82 Statut Membre 47
     
    Bonjour question !
    Ton pivot de Gauss, veux-tu l'utiliser pour calculer l'inverse d'une matrice ou pour calculer la solution d'un système ? Je pencherais pour le second choix d'après le début de ton programme. Dans ton autre sujet je t'écris le programme d'inversion d'un matrice par pivot de Gauss.
    function x = solution_gauss(A,b)
    
    n=size(A,1);
    
    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
    x=zeros(n,1);
    x(n)=b(n);
    for p=n-1:-1:1
        x(p)=b(p);
        for q=p+1:n
        x(p)=x(p)-A(p,q)*x(q);
        end
    end
    

    Tu me diras si tout va bien avec le programme.
    Bon après midi question !
    7
    1. question3000 Messages postés 4 Statut Membre
       
      merci
      dit moi tu les trouves d'où ces programmes?
      0
    2. question3000 Messages postés 4 Statut Membre
       
      ta recu mon messagE?
      0