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

Princess-Sarah Messages postés 78 Date d'inscription   Statut Membre Dernière intervention   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
question3000 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
merci
dit moi tu les trouves d'où ces programmes?
0
question3000 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
ta recu mon messagE?
0