FORUM Programmation C Recherche: Mot: Pseudo: Filtrer Bas de page Auteur Sujet: un systeme avec le pivot de gauss a resoudre fakih Posté le 03-06-2005 à 23:49:43 Salut, je suis un gros nul en resolution en ne sais pas resoudre un systeme avec le pivot de etre avez vous la solution!! Publicité Posté le 03-06-2005 à 23:49:43 manatane En vous remerciant, bonsoir Posté le 04-06-2005 à 01:25:23 utilise google Je@nb Kindly give dime Posté le 04-06-2005 à 10:30:59 Fou les coefficients dans une matrice et déroule l'algo cesarr89 Posté le 04-06-2005 à 12:12:31 fakih a écrit: Salut, je suis un gros nul en resolution en programmation. je ne sais pas resoudre un systeme avec le pivot de etre avez vous la solution!! Tu serais pas un peu fainéant toi?? C'est plus des maths quand même, faut pas l'algo en pseudo langage, ensuite tu retrancris en C. Pivot de gauss partiel en langage c. Aller à: Sujets relatifs ajouter du temps à la date système modélisation: système enchère selection d1 ligne si date système dans période [MySQL]résoudre une égalité dans une requête de classement système de template en python Fonction POS impossible (facile a resoudre je pense) Créer un système physique de la nature en 3D?
\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. Pivot de gauss langage c en. \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!
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. De plus fait attention tu prend un tableau de 100 ligne 100collone! Pivot de gauss par marieetkarine - OpenClassrooms. 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!
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. 0 11. 0 1. 0 -2. 0 9. 0 7. Pivot de gauss langage c.h. 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...