Problème de lire une matrice a partir d'un fichier txt
oussama.b
Messages postés
5
Date d'inscription
Statut
Membre
Dernière intervention
-
oussama.b Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
oussama.b Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
Bonjours a tous
Mon projet est de discrétiser l'équation différentielle d'un système mécanique, pour obtenir un système linéaire.
Puis résoudre ce système par 4 méthodes de résolution :
deux méthodes directs et deux itératives.
Le problème ici est comment lire une matrice 'A' carrée d'ordre n et un vecteurs 'b' de même dim n, a partir d'un fichier txt
voila mon système que j'ai mis dans une structure :
struct systeme {
float ** A ;
float * b ;
int n ;
}
le système sera écrit dans le fichier "S_ref" comme ceci :

Mon projet est de discrétiser l'équation différentielle d'un système mécanique, pour obtenir un système linéaire.
Puis résoudre ce système par 4 méthodes de résolution :
deux méthodes directs et deux itératives.
Le problème ici est comment lire une matrice 'A' carrée d'ordre n et un vecteurs 'b' de même dim n, a partir d'un fichier txt
voila mon système que j'ai mis dans une structure :
struct systeme {
float ** A ;
float * b ;
int n ;
}
le système sera écrit dans le fichier "S_ref" comme ceci :

A voir également:
- Problème de lire une matrice a partir d'un fichier txt
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Lire un fichier epub - Guide
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Creer un groupe whatsapp a partir d'un autre groupe - Guide
1 réponse
voila ma fct de récupération du système mais les valeurs récupéré du vecteur b sont erronées :
void Lire_syst( syst *S, FILE *fichier )
{ // S la structure qui contient le vecteur b et la matrice A
int i, j ;
int c=22*sizeof(char); //taille du prmier ligne
fseek(fichier,c,SEEK_SET);
for(i=0;i<S->n;i++)
{
for(j=0;j<S->n;j++)
{
fscanf(fichier,"%f",&S->A[i][j]);
}
}
int d=(S->n*(S->n-1)+19+22)*sizeof(char)+sizeof(float)*S->n*S->n;
fseek(fichier,d,SEEK_SET); //taille du ligne 1, matrice et ligne 2
for(i=0;i<S->n;i++)
{
fscanf(fichier,"%f ",&S->b[i]);
}
}