IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Fortran Discussion :

difference entre deux fichiers data


Sujet :

Fortran

  1. #1
    Débutant
    Inscrit en
    Juillet 2007
    Messages
    386
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 386
    Points : 119
    Points
    119
    Par défaut difference entre deux fichiers data
    Salut,
    Si j ai deux fichiers data qui represente deux surfaces, chaque fichier est constitué de 3 colones , une colone i*h pour l'axe des x, une j*h pour l'axe des y.
    Comment je peux tracer l'erreur (c'est à dire la valeur absolue entre les deux surfaces)?
    merci

  2. #2
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Points : 5 179
    Points
    5 179
    Par défaut
    Salut!
    Tout d'abord, tu n'as pas deux surfaces (il est impossible de stocker des objets géométriques dans un ordinateur; on ne stocke que des valeurs numériques), mais les valeurs tabulées de deux fonctions f(x,y) et g(x,y). Ce que tu cherches, c'est un écart entre les deux fonctions. Encore faut-il décider comment on définit cet écart (quadratique, Tchébicheff ou autre)
    Ensuite, si les valeurs de tes deux fonctions sont données pour des valeurs de x et y en progression arithmétique, il suffit de mémoriser le pas et les nombres de pas dans chaque direction et les deux premières colonnes de tes fichier sont inutiles.
    Jean-Marc Blanc

  3. #3
    Membre éprouvé
    Avatar de Ladgalen
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Novembre 2007
    Messages
    466
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Novembre 2007
    Messages : 466
    Points : 982
    Points
    982
    Par défaut
    Salut

    Si pour chaque surface tu as le même nombre de points aux mêmes coordonnées (x,y) c'est facile. Pour chaque point, tu calcule l'écart au carré, tu fais la somme de tous les écarts au carré et tu divise par le nombre de points.

    Si les deux surfaces sont quelconques c'est plus difficiles. Il faudrait que tu interpole entre chaque point pour calculer la différence et te ramener à la situation précédente. Le problème c'est que du coup l'écart entre les deux surfaces dépend aussi de la qualité de ton interpolation ....

  4. #4
    Débutant
    Inscrit en
    Juillet 2007
    Messages
    386
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 386
    Points : 119
    Points
    119
    Par défaut
    Bonjour ,
    ce ne sont pas deux fonctions, mais deux solutions numerique d'une equation intégrale, je cherche abs(T_1-T_2)

  5. #5
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Points : 5 179
    Points
    5 179
    Par défaut
    Salut!
    ce ne sont pas deux fonctions, mais deux solutions numerique d'une equation intégrale
    A-t-on déjà vu la solution numérique d'une équation intégrale qui ne soit pas un ensemble de valeurs d'une fonction?

    Si tu veux qu'on t'aide à résoudre ton problème, il faut le formuler correctement:
    Citation Envoyé par Exemple
    J'ai mesuré les valeurs du potentiel électrique sur les noeuds d'une grille à mailles carrées, de pas h dans les deux directions x et y, comportant m mailles dans la direction x et n dans la direction y. J'ai d'autre part une formule théorique qui me permet de calculer le potentiel en tout point. Je veux déterminer l'erreur, c'est-à-dire la valeur absolue de la différence entre la valeur expérimentale et la valeur théorique sur chaque noeud.
    Quant tu auras formulé ton problème comme ci-dessus, on pourra envisager de t'aider.

    Jean-Marc Blanc

  6. #6
    Membre éprouvé
    Avatar de Ladgalen
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Novembre 2007
    Messages
    466
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Novembre 2007
    Messages : 466
    Points : 982
    Points
    982
    Par défaut
    Citation Envoyé par feynman Voir le message
    Bonjour ,
    ce ne sont pas deux fonctions, mais deux solutions numerique d'une equation intégrale, je cherche abs(T_1-T_2)
    Si ta solutions s'appelle f(x,y), je suppose que T_ij = f(x_i,y_j). Donc sur tes fichiers data tu as :

    x_1 y_1 T_11
    x_1 y_2 T_12
    x_1 y_3 T_13
    ...
    x_2 y_1 T_21
    ....

    Si pour les deux fichiers tu as les mêmes couples x_i, y_i tu fais lit simplement les deux fichiers et pour chaque points tu fait abs(T_1-T_2) !

  7. #7
    Débutant
    Inscrit en
    Juillet 2007
    Messages
    386
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 386
    Points : 119
    Points
    119
    Par défaut
    Bonjour,
    je resoud mon equation integrale sur chaque point de la grille bidimentionnelle
    Mon domaine est un carre [-s,s]^2, le pas h est le meme pour la direction x et y, et definit par h=2s/M , ma grille continent (2M-1)^2 point
    mon fichier data contient 3 colone i*h, j*h, MU(i,j)
    (MU(i,j) est la solution numerique au noeud (i,j))
    Un autre fichier data qui contient la solution exacte i*h, j*h, Muex(i*h,j*h)
    je cherche a calculer le fichier data i*h,j*h, abs(MU(i,j)-Muex(i,j))
    j'espere que c'est claire
    merci

  8. #8
    Débutant
    Inscrit en
    Juillet 2007
    Messages
    386
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 386
    Points : 119
    Points
    119
    Par défaut
    Citation Envoyé par Ladgalen Voir le message
    Si ta solutions s'appelle f(x,y), je suppose que T_ij = f(x_i,y_j). Donc sur tes fichiers data tu as :

    x_1 y_1 T_11
    x_1 y_2 T_12
    x_1 y_3 T_13
    ...
    x_2 y_1 T_21
    ....

    Si pour les deux fichiers tu as les mêmes couples x_i, y_i tu fais lit simplement les deux fichiers et pour chaque points tu fait abs(T_1-T_2) !
    c est ici le coeur du probleme, comment soustraire une colone des 3 et conserver les deux premiers? je vous joint un exemple de mon fichier data en attachement
    merci
    Fichiers attachés Fichiers attachés

  9. #9
    Membre éprouvé
    Avatar de Ladgalen
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Novembre 2007
    Messages
    466
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Novembre 2007
    Messages : 466
    Points : 982
    Points
    982
    Par défaut
    Je suis pas sur de comprendre vraiment là ou tu bloques, mais est ce que ce qui suis t'aide ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    program test
      implicit none
     
      double precision :: x, y, z1, z2
      double precision :: ecart
     
      open( 10, file="data1")
      open( 11, file="data2")
     
      ecart = 0.d0
      do ! ici a toi de gérer ta ligne blanche et 
         ! les variations sur x et y
     
        read(10,*) x, y, z1
        read(11,*) x, y, z2
        ! x et y ne t'interesse pas tu les lis juste pour lire z ensuite
     
        ecart = ecart + (z1 - z2)**2
      end do
      ecart = ecart / dble(npts)
     
      write(*,"('ecart   :',F12.6)") ecart
     
    end program test

Discussions similaires

  1. Réponses: 7
    Dernier message: 03/02/2006, 14h50
  2. [EXCEL] difference entre deux fichiers
    Par Mokhtar BEN MESSAOUD dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 19/01/2006, 12h12
  3. [PIL] Difference entre deux images
    Par t_om84 dans le forum Calcul scientifique
    Réponses: 4
    Dernier message: 26/12/2005, 13h45
  4. difference entre deux requetes
    Par rdams dans le forum Requêtes
    Réponses: 3
    Dernier message: 21/12/2005, 10h38
  5. [langage] Passage d objet entre deux fichiers
    Par Slippers dans le forum Langage
    Réponses: 2
    Dernier message: 28/04/2005, 15h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo