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

Langage Delphi Discussion :

problème avec la fonction exponentielle


Sujet :

Langage Delphi

  1. #1
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Février 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 10
    Points : 8
    Points
    8
    Par défaut problème avec la fonction exponentielle
    Bonjour.
    Je suis en train d'essayer de faire un programme en delphi pour ma thèse, et j'ai une erreur que je n'arrive pas à comprendre. Je reprend des bouts de programmes delphi pour faire un programme plus grand.
    Mon problème arrive à la compilation :
    j'ai dans cette unité cette fonction :

    "
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Function T_fonctiondistribution.FD(E:extended;T:longint; exp : T_experience;mat : T_materiau):extended;
     
    {fonction de distribution de Fermi-Dirac notée FD, où Efr est le potentiel chimique approximé au premier ordre,
     cf par exemple Aschroft and Mermin}
     var Efr:extended;
     begin
     with mat do
     begin
      Efr := Ef0*(1-sqr(3.14*kb*T/2/Ef0)/3);
      FD := 1/(1 + exp((E-Efr)/kb/T)) ;
     end;
     end;
    "
    Et le problème est avec la définition de l'exponentielle je pense. Le compilateur me dit "opérateur ou point virgule manquant", et compile lorsque j'enlève exp.
    Ce que je ne comprend pas , c'est que cette fonction fonctionnait parfaitement avec l'ancien programme, et j'ai fait un copié collé des "uses" que j'avais pour l'ancien programme. Je ne comprend donc pas d'ou viens le problème.
    merci de votre aide d'avance

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 522
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 522
    Points : 25 052
    Points
    25 052
    Par défaut
    C'est normal, tu as créé un paramètre exp : T_experience, selon les règles de visibilité, c'est ta variable qui sera désigné par exp et non System.Exp

    essaye
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FD := 1/(1 + System.exp((E-Efr)/kb/T)) ;
    Sinon, renomme ton paramètre en AExp !
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Février 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 10
    Points : 8
    Points
    8
    Par défaut merci
    Oui, effectivement, l'erreur est bête. Merci pour l'astuce.

  4. #4
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 522
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 522
    Points : 25 052
    Points
    25 052
    Par défaut
    C'est un piège classique qu'une variable locale "masque" une variable globale (ou dans ton cas une fonction)

    Pense au bouton !
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

Discussions similaires

  1. Problème avec une fonction date.
    Par kmayoyota dans le forum ASP
    Réponses: 8
    Dernier message: 09/09/2004, 12h33
  2. Problème avec la fonction findfirst ()
    Par Angelico dans le forum Windows
    Réponses: 3
    Dernier message: 05/08/2004, 20h40
  3. [Requete SQL en VBA] Problème avec la fonction FLOOR
    Par zubral dans le forum Langage SQL
    Réponses: 4
    Dernier message: 13/07/2004, 13h24
  4. Problème avec les fonctions
    Par jvachez dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 13/01/2004, 12h06
  5. [Postgresql]Problème avec les fonctions ...
    Par fet dans le forum Requêtes
    Réponses: 4
    Dernier message: 02/10/2003, 09h04

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