RESOLUTION D ' UN SYSTEME CRAMER-GAUSS!!!! -0. 00
8. 00
16/05/2008, 19h34
#7
ah merci bien, j'aurai jamais trouvé...
je vais essayer de continuer pour trouver les solutions maintenant encore merci. Programme C pour la méthode Gauss-Jordan - Que des Projet. 16/05/2008, 23h08
#8
De rien. Merci de penser au tag
+ Répondre à la discussion Cette discussion est résolue. Discussions similaires
Réponses: 1
Dernier message: 27/03/2014, 22h27
Réponses: 7
Dernier message: 17/11/2010, 18h39
Réponses: 6
Dernier message: 01/03/2007, 22h33
Réponses: 33
Dernier message: 02/02/2007, 15h47
Réponses: 3
Dernier message: 16/03/2005, 17h26
× Vous avez un bloqueur de publicités installé. Le Club n'affiche que des publicités IT, discrètes et non intrusives. Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité,
merci de nous soutenir en désactivant votre bloqueur de publicités sur
Pivot De Gauss Langage C Video
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? Pivot de gauss langage c pdf. 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. 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.
Pivot De Gauss Langage C Pdf
Salut, OK! Demande à ton pote s'il peut réinventer pêle-mêle la roue, l'eau tiède, la fil à couper le beurre... Ma syntaxe Python: A=[[5. 0, 3. 0, 8. 0, 11. 0], [1. 0, -2. 0, 9. 0], [7. 0, 2. 0, 5. 0], [3. 0, 6. 0]]
B = [[5. 0]]
n = 4
for p in range(n-1): # Nombre de passes
for l in range(p+1, n): # traitement des lignes
coeff=B[l][p]/B[p][p]
for c in range(p, n): # traitement de chaque colonne pour la nouvelle A
B[l][c]=B[l][c]-coeff*B[p][c]
if abs(B[l][c])<10**(-15):
B[l][c]=0
# Affichage
print " Matrice d'origine"
for i in range(n):
for j in range(n):
a=A[i][j]
print "%5. 1f"% a,
print
print " Matrice triangularisée"
print "%5. 1f"% A[i][j],
print Dans un souci de présentation, je formate l'affichage à 1 chiffre après la virgule: avec 2 chiffres avant possible + 1 signe -, ça me laisse 2 espaces entre chaque colonne: >>>
Matrice d'origine
5. 0 3. 0 8. Pivot de gauss langage c.m. 0 11. 0
1. 0 -2. 0 9. 0
7. 0 2. 0 5. 0
3. 0 6. 0
Matrice diagonalisée
0. 6 7. 4 5. 8
0. 0 0. 0 -12. 5 -18. 3
0. 0 -1. 3 Si je mets B = A, je me retrouve devant le même problème que tu as signalé dans ton autre post...
Pivot De Gauss Langage C.M
\right] \tag{5} \end{equation} Soit la ième ligne une ligne typique sous l'équation de pivot qui doit être transformée, ce qui signifie que l'élément \(A_{ik}\) doit être éliminé. Nous pouvons y parvenir en multipliant la ligne pivot par \(\lambda = \frac{A_{ik}} {A_{kk}}\) et en la soustrayant de la ième ligne. Implémentation algo du pivot de Gauss. \begin{equation} A_{ij} \leftarrow A_{ij} - \lambda A_{kj}, \, j=k, k+1, \cdots, n \tag{6} \end{equation} \begin{equation} b_i \leftarrow b_i - \lambda b_k \tag{7} \end{equation} Pour transformer la matrice de coefficients entière en forme triangulaire supérieure, k et i dans les équations. (2 et 3) doit avoir les valeurs \(k = 1, 2, \cdots, n-1\) (choisit la ligne pivot), \(i = k +1, k + 2, \cdots, n\) (choisit la ligne à transformer). # pour chaque pivot
for k in range(0, n-1):
# si le pivot égal zéro
# on cherche un pivot différent de zero dans les équations suivantes
if A[k, k]==0:
lpivot=-1 # stocker l'indice du ligne du pivot
for L in range(k+1, n):
if A[L, k]! =0:
lpivot=L
break
if lpivot!
if (indpivot==-1)
{ // problème: pas de pivot satisfaisant
err=0;
break;}
if (pivot! =indpivot) // permutation lignes si nécessaire
permute_lignes(A, B, n, pivot, indpivot);
for (ligne=1+pivot; ligne
Pour l'affichage, il faut aussi faire un double for. 7 décembre 2010 à 11:56:43
Citation: marieetkarine On a essayer de le rajouter mais ça ne marche toujours pas. Si tu veux qu'on te corrige il faut nous montrer ton nouveau code, que tu devrais poster sous une forme acceptable: copie/colle le code ici entre les deux balises
ainsi le code sera représenté correctement et avec des couleurs. 7 décembre 2010 à 16:43:58
printf("\n");}}
Tu avais oublié des accolades dans ta fonction de saisie. [Résolu] Pivot de Gauss - Trouve une solution partielle... par a455bcd9 - OpenClassrooms. De plus fait attention tu prend un tableau de 100 ligne 100collone! Que se passe-t'il si on a un petit idiot qui rentre 102, en nombre de ligne par exemple. A partir de là deux solutions:
1) (la meileurs) Une allocation dynamique (si tu l'a déjà vus et si c'est possible sur un tableau à plusieurs dimension, d'ailleurs veut bien savoir comment on fait)
2) soit tu test les valeurs que rentre l'utilisateur de tel manière que le nombre de lignes et de collonnes soient inférieur ou égale à 100!