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 :

Problème avec un Break Point


Sujet :

Fortran

  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2015
    Messages : 7
    Points : 4
    Points
    4
    Par défaut Problème avec un Break Point
    Bonjour,

    Je viens de commencer la programmation en Fortran et j'ai comme projet d'élaborer une méthode de résolution Newton afin de l'intégrer à une simulation de réacteur.

    Néanmoins, je bloque toujours dans la première partie (le Newton) car lors de l'éxecution le programme fait un Break Point et je ne comprend pas pourquoi ni comment y remédier , je suis toujours en train d'y travailler mais si quelqu'un pourrait m'éclaircie entre temps, je serai vraiment reconnaissante.

    Merci d'avance,

    Wissale
    Fichiers attachés Fichiers attachés

  2. #2
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2015
    Messages : 7
    Points : 4
    Points
    4
    Par défaut
    J'ai réussi à connaitre l'origine du problème décrit au-dessus. Cependant un autre se présente: j'ai des valeurs aberrantes en exécutant la boucle de mon Newton - à la fin j'ai meme des valeurs de l'ordre de 10^30-. Encore, si quelqu'un pourrait m'éclaircir j'en serai reconnaissante.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 488
    Points : 593
    Points
    593
    Par défaut
    Bonjour,

    Je n'ai pas regardé ton code.

    Comme tu précise que tu débutes:
    - Penses-tu bien à compiler ton code avec les options "debug" (recherche de variables non-initialisées, de valeurs aberrantes, de dépassements de tableau, etc.) pour t'assurer qu'il fait bien ce que tu veux qu'il fasse?
    - La méthode de Newton ne converge pas nécessairement, ça dépend du problème à résoudre et de la condition initiale qu'on se donne. As-tu testé sur un cas simple (que tu peux suivre à la main, analytiquement) qu'elle est correctement appliquée?

    Bon courage.

  4. #4
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2015
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    Désolée pour le délai de réponse (j'avais un problème avec ma license de Visual Basic et j'ai perdu mon mot de passe c'est pour ça que je vous répons d'un autre compte):

    -En ce qui concerne ce que vous m'avez indiqué, j'avais fait un suivi des valeurs en affichant les différentes solutions de mon systeme linéaire (le deltaX de la méthode Newton-Raphson) avec un Print, en ayant fait le calcul à la main je me suis rendu compte que pour la première itératon c était bon mais dès la seconde les valeurs deviennent incroyablement grandes -elles atteignent des 10^30 très loin des solution recherchées qu avoisinnent 1 et racine de 3-, je me suis dit que c est peut-etre un problème d'initialisation du coup j ai pris l initiative de tout mettre à 0 avant le début des calculs sans succès.

    -J'ai aussi vérifié mes autres modules et le calcul des valeurs e la fonction et du jacobien anaytique vont comme il faut, la résolution du système linéaire aussi d'ailleurs dans la premiere itération (pour cette dernière)

    Le programme sort tjrs avec un Break point: l array solution (c est un de mes vecteurs) à une valeur de 16 qui est plus grande que 15 l upper-bound

    Je compend ce que veut dire cet erreur mais je n'arrive pas à percevoir son origine.:?

    Merci Monsieur pour votre réponse et merci d'avance pour tous ceux qui liront ou répondront éventuellement.

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2015
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    J'ai résolu mon problème de Break Point, c'était à cause d'un compteur mal placé et dont l'expression n'était pas juste et que j'associais au tableau solution qui causait l'erreur, cependant j'ai tjrs des valeurs aberrantes pour mes calculs.:)

    Je remets le code mis à jour pour qui voudrais bien y jeter un coup d'oeil.
    Fichiers attachés Fichiers attachés

  6. #6
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2015
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Quelqu'un pourrait-il m'aider? :? Ou jeter un coup d'oeil à mon code

  7. #7
    Membre averti
    Homme Profil pro
    [SciComp]
    Inscrit en
    Août 2013
    Messages
    134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : [SciComp]

    Informations forums :
    Inscription : Août 2013
    Messages : 134
    Points : 323
    Points
    323
    Par défaut
    Bonjour,

    - Comme l'a dit Ehouarn, Newton ne converge pas nécessairement.
    - Je l'ai peut-être loupée, mais la méthode numérique en elle-même ne semble pas présente dans vos fichiers. Dans ce cas, on n'a pas les lignes de code qui sortent les valeurs abérrantes dont vous parlez. Ca peut-être un mauvais point de départ pour Newton, mais ça peut être aussi un mauvais codage de l'algo, ou une incohérence dans les arguments de l'appel de la fonction/sous-routine.
    - A partir du point de départ, écrire non seulement le pas obtenu, mais aussi la valeur de la fonction et de ses dérivées peut être utile - dans un cas simple ou l'on peut mettre les valeurs analytiques en regard. On peut alors suivre ce qu'on pense que le prog fait et ce qu'il réalise effectivement et voir ou le bas blesse. Avec un petit topo sur le cas de calcul effectué.

    Cordialement,
    xflr6

  8. #8
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2015
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Bonjour merci pour votre réponse,

    Je vais essayer de rappliquer le programme pour une système simple pour le faire comme vous dites pas à pas (comme je l'avais déjà fait pour mon système au début, je sais que, c'était le pas qui mettait n'importe quoi à partir de la seconde itération).

    Concernant la méthode de Newton, je sais qu'elle ne marche pas toujours, mais une initialisation proche de la solution n'est-elle pas suffisante?

    Pour le développement de la méthode, j'ai regroupé le module avec le reste, si vous voulez encore le voir. Peut-être aurait-il été judicieux que je mette des interfaces? Mais je me dis que je n'en suis pas encore là. (si ça ne marche je recopierai le code de ce module ici)

    Bonne journée!
    Fichiers attachés Fichiers attachés

  9. #9
    Membre averti
    Homme Profil pro
    [SciComp]
    Inscrit en
    Août 2013
    Messages
    134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : [SciComp]

    Informations forums :
    Inscription : Août 2013
    Messages : 134
    Points : 323
    Points
    323
    Par défaut
    Bonjour,

    En dehors des bonnes pratiques (variables non initialisées, y compris des arguments intent(in) qui ne sont pas utilisés et qui auraient pu être déclarés optional, des bouts de code non utilisés -je suppose que c'est une extraction d'un programme plus grand-, et aussi un découpage maladroit: le calcul de la norme et du Jacobien numérique utilisent l'équation explicite de F alors que le module Equation est construit explicitement pour calculer F & co), je vois plusieurs problèmes potentiels :
    - le jacobien passé est probablement transposé par rapport à ce qui est attendu
    - dans les critères de cvg ou de stagnation, toujours comparer la valeur absolue aux epsilons: x=-666 est plus petit que 10^-10 mais reste somme toute assez loin de zéro ;-)
    - il faut mettre en place un flag qui s'allume différemment selon la sortie (critère sur la convergence ou la stagnation) en sortie de routine : sinon, la routine peut sortir à cause de la stagnation, sans convergence, et sans le dire à personne.

    Cordialement,
    xflr6

Discussions similaires

  1. Problème avec la connecxion point to point (Port série)
    Par midou256 dans le forum Windows XP
    Réponses: 0
    Dernier message: 02/08/2011, 13h10
  2. Problème avec la virgule - point
    Par Telemak dans le forum Général Java
    Réponses: 2
    Dernier message: 28/12/2008, 19h19
  3. Problème avec word-break
    Par kevinf dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 28/10/2007, 15h42
  4. [CSV] Problème avec CSV et point virgules
    Par Lotz dans le forum Langage
    Réponses: 6
    Dernier message: 09/03/2006, 15h11
  5. [Debug]Pb avec les breaks points
    Par RoMinoU dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 13/05/2004, 12h36

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