Dorn17
Messages postés9Date d'inscriptionjeudi 1 septembre 2005StatutMembreDernière intervention21 juin 2008
-
21 juin 2008 à 21:57
luhtor
Messages postés2023Date d'inscriptionmardi 24 septembre 2002StatutMembreDernière intervention28 juillet 2008
-
21 juin 2008 à 22:06
Salut j'essaie depuis un moment de créer un programme pouvant résoudre des systèmes du type Ax=b par la méthode de Gauss.
Toutefois j'ai des résultats éronnés lorsque le programme doit exécuter les fonctions de permutation de lignes et d'élimination (c'est comme ça que je nomme l'opération consistant à ajouter aux lignes en dessous de la ligne pivot une combinaison linéaire de celle ci).
Voici mes deux fonctions:
void permutation(int z,int ligne, int n, float *M,float *v)
{
int i,j,k,l;
float s,p;
z représente l'étape à laquelle on se trouve,ligne la ligne pivot, n la taille de la matrice,M le pointeur sur la matrice du système, v le pointeur sur le vecteur du second membre du système.
void elimination(int z, int n, float *M, float *v)
{
int i,j,k,l,m,p;
float r;
for(i=z+1;i<n;i++)
{ k=(i*n)+z;l=(z*n)+z;
r = *(M+k) / *(M+l) ;