-le pivot de chaque ligne est l element matrice[k][k] qui varie aussi de 0 jusqu a nbr de ligne. -matrice [i][j] est l élément j eme de la ligne i=k+1, ligne juste en dessous de la ligne du pivot, il varie de i=k+1 jusqu a nbr ligne. en gros j ai ca donne nouvelle linge en dessous du pivot(éléments de la ligne)= éléments de la ligne en dessous du pivot -(éléments de la lignes du pivot /pivot lui meme)*éléments de la ligne du dessous j espère que c est lisible 24/12/2015, 07h58 #11 Je comprend pas désolé. [Résolu] Pivot de Gauss - Trouve une solution partielle... par a455bcd9 - OpenClassrooms. Il faut plus de clarté ou on pourra pas t'aider.
Quel résultat attendais tu? Voilà ce que j'obtiens. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16!!!! RESOLUTION D ' UN SYSTEME CRAMER-GAUSS!!!! Matrice A:
2. 00 3. 00
4. 00 5. 00
Second membre B:
6. 00
Inconnu X:
X 1
X 2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19!!!! RESOLUTION D ' UN SYSTEME CRAMER-GAUSS!!!! Voici votre sytSme selon l ' agorithme de Gauss
1. 00 1. 50
0. 00
3. 00
0. 80
15/05/2008, 20h38
#5
mais dans ton exemple ça veut dire que x2=0. Résolution pivot de Gauss - C. 80 c'est le cas? 16/05/2008, 09h19
#6
Oui, effectivement, si on compte à la main, on se rend compte de l'erreur. C'est plutôt un problème algorithmique. Je pense que le problème vient de l'étape, où on cherche à annuler les coefficients sous la diagonale:
1 2 3 4 5 6 7 8 9 10 11 for ( k=i+ 1;k 2le \n ", d);}}
// Cette fonction renvoie un nombre aléatoire entre -range et +range
double random (double range)
return range*(1. 0-2. 0*(double)rand()/RAND_MAX);}
// Exemple d'appel de la fonction gauss
// 1. on alloue dynamiquement a et b (x=b+n)
// 2. la matrice a est aléatoire entre -1 et +1, idem pour b
// 3. on affiche a et b
// 4. on calcule la solution x par la fonction gauss
// 5. on affiche x, puis la différence (ax-b)
// 6. on désalloue a et b
main ()
double **a, *b, *x;
int n=5;
a=alloc_matrice(n); if (a==NULL) return 0;
b=alloc_vecteur(2*n);
if (b==NULL)
free_matrice(a, n);
x=b+n;
for (int j=0; j Remplace par <=
23/12/2015, 20h38
#8
C'est normale que les indices de cette ligne: Code: matrice[i][j]=matrice[i][j] - (matrice[k][j]/pivot)*matrice[i][j] ne correspondent pas aux indices de l'algo? 23/12/2015, 20h56
#9
Envoyé par 221 j comprends c est de l ordre du souvenir lointain x). matrice[i][j]=matrice[i][j] - (matrice[k][j]/pivot)*matrice[i][j]; Tu es sur de cette dernière ligne, parce que si on regarde l'algo que tu as donné, il me semble que c'est plutôt:
matrice[i][j]=matrice[i][j] - (matrice[k][j]/pivot)*matrice[i][ k];
PS: grillé par jojo. Implémentation algo du pivot de Gauss. Je n'avais pas vu ta réponse car j'avais du interrompre ma saisie pendant quelques minutes
Dernière modification par Jack; 23/12/2015 à 21h29. 23/12/2015, 21h18
#10
merci jojo150393,
j ai pas vraiment suivi l algo question indices
enfaîte dans la ligne:
matrice[i][j]=matrice[i][j] - (matrice[k][j]/pivot)*matrice[i][j]
-matrice[k][j] est l élément j eme de ma linge K a savoir la ligne du pivot actuel, pour chaque ligne on a un pivot donc k varie de 0 jusqu au nbr de ligne. 2f \n \t ", B [ i]);}
//affichage de votre système
printf ( " \n \n Inconnu X: \n \n \t ");
printf ( " X%d \n \t ", i+ 1);}
//algorithme de Gauss
C=A [ i] [ i];
A [ i] [ j] =A [ i] [ j] /C;}
B [ i] =B [ i] /C;
for ( k=i+ 1;kPivot De Gauss Langage C Et
Pivot De Gauss Langage C Et A
Maison À Vendre Hoymille, 2024