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

Tcl/Tk Discussion :

Fonction math en Tcl


Sujet :

Tcl/Tk

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 42
    Par défaut Fonction math en Tcl
    Bonjour à tous,

    j'ai un petit souci pour faire fonctionner ceci (en TCL/TK) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    set b 200
    set longueur 31
    set angle [expr atan($b/$longueur)]
    set angle [tostr [rad2deg $angle]]

    j'ai également rajouter ceci au debut de mon script:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    package require math::bigfloat
    namespace import ::math::bigfloat::*
    mais j'ai une erreur :
    BigFoat expected : received '1.40564764938'

    quelqu'un serait il pourquoi ?


    l'aide OFFICIEL me dit de rajouter ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    package require Tcl 8.5
    package require math::bigfloat ?2.0?
    Alors que la verison 8.5 n'est pas sorti ???

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    351
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 351
    Par défaut
    Bonsoir,

    Le package ::math::bigfloat est fait pour des calculs en grande précision.
    Si tu n'en n'a pas besoin pas la peine de l'utiliser.

    Les 3 premières lignes de ton code fonctionne sans problèmes.
    Voici ce que cela donne à la console de Tcl:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    % set b 200
    200
    % set longueur 31
    31
    %set angle [expr atan($b/$longueur)]
    1.40564764938
    La fonction rad2deg fait la conversion radian vers degré.
    C'est très facile de créer une procédure pour cela:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    proc rad2deg a {return [expr {180*$a/3.1415926}]}
    Donc le code devient:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    proc rad2deg a {return [expr {180*$a/3.1415926}]}
    set b 200
    set longueur 31
    set angle [rad2deg [expr {atan($b/$longueur)}]]
    On doit obtenir un angle de 80.5376791658 degré.

    Quand tu utilise la commande expr, il vaut mieux mettre le contenu entre des accolades. Le calcul se fait plus rapidement surtout si il est répétitif.

    Si tu tiens absolument à utiliser ::math::bigfloat, il y a deux alternatives:
    - Installer une version alpha de Tcl8.5
    - Lire ceci: http://tcllib.sourceforge.net/doc/bi...#SECTid81d56a8

    En espérant que cela aide un petit peu.

    ----
    Canvas

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 42
    Par défaut
    Oui, merci beaucoup, en fait j'ai suivi ton conseil.

    J'ai laisser tomber ::math::bigfloat
    et j'ai simplement recréé une procedure qui convertie les radians en degres ^^

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PL / SQL] Fonction math ds table sql
    Par shaun_the_sheep dans le forum Oracle
    Réponses: 5
    Dernier message: 11/02/2007, 16h50
  2. Réponses: 1
    Dernier message: 25/12/2006, 16h03
  3. fonction math : pow()
    Par uriotcea dans le forum C++Builder
    Réponses: 12
    Dernier message: 05/10/2006, 11h05
  4. coordonnées géométriques et fonctions maths
    Par passie dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 15/09/2006, 13h27
  5. aide fonction math[racine,cos(),sin(),..]VB6
    Par am.adnane dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 28/12/2005, 18h40

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