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

C++ Discussion :

Tracé d'une fonction f(x) en C++


Sujet :

C++

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Tracé d'une fonction f(x) en C++
    Bonsoir,

    Je suis en M2 de physique et j'ai un projet à faire en C++ (le problème c'est que je n'en n'ai jamais fait de ma vie, un peu de fortran, et encore...).
    Enfin bon, je suis légèrement dans la merde, c'est donc avec un grand désespoir que j'appelles à l'aide (heureusement qu'il y a les cours et tutoriels C++ et la FAQ C++ !!!).


    Je fais du C++ via l'IDE "Code:Blocks", et mon problème actuel concerne "le tracé d'une fonction": mon programme a pour but de déterminer la variation d'une fonction f suivant x à partir d'une équation différentielle.
    En clair, dans mon programme, je trouve la valeure de f(x) point par point que j'organise dans un tableau et il me faudrait naturellement faire sortir ma série de points sur un graphe. Pour les valeurs en x, elles sont elles aussi contenues dans un tableau x[i] qui a bien sur la même dimension que le tableau f[i].

    Je n'ai aucune idée si il existe une bibliothèque C++ qui pourrait faire le boulot à ma place ou s'il faut faire un truc spécifique à mon IDE.

    En tout cas je serais infiniment reconnaissante si quelqu'un pouvait m'aider

  2. #2
    Membre confirmé Avatar de Flow_75
    Femme Profil pro
    Ingénieure
    Inscrit en
    Mai 2005
    Messages
    1 096
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieure
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 096
    Points : 633
    Points
    633
    Par défaut
    Bonjour, et bienvenue dans le monde merveilleux du C++
    (c'est marrant, moi c'est l'inverse, j'ai toujours fait du C/C++, je dois apprendre le fortran).

    Pour en revenir à ton probleme, il faut utiliser une bibliothèque graphique pour pouvoir afficher ton graphique.

    Renseignes toi sur Gtkmm et plotmm (voir : http://plotmm.sourceforge.net/)
    Après tu peux utiliser des bibliothèques tel que Qt.

    Pour tout te dire je n'ai utilisé que Win32 et Gtkmm, donc je ne sais pas les possibilités pour Qt.

  3. #3
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Février 2003
    Messages
    43
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2003
    Messages : 43
    Points : 57
    Points
    57
    Par défaut
    Physique? Alors ROOT (http://root.cern.ch/drupal/) va devenir ton compagnon de tous les jours

    Jetes un oeil du côté de TGraph2D (graph) ou TH2 (histogramme). Ca te sort des courbes tout seuls, et c'est du C++. D'ailleurs, ça résoudra ton équa diff tout seul aussi

    Sinon, une autre solution, c'est gnuplot (http://www.gnuplot.info/). Tu exportes tes données sous forme texte et tu les traces avec gnuplot.

    Bon courage !

  4. #4
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Points : 16 213
    Points
    16 213
    Par défaut
    Si le but est non pas de faire une vraie application de tracé de graphe, mais plus de servir de support à l'apprentissage du C++, une bibliothèque comme cimg est très simple d'emploi.
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

  5. #5
    Membre chevronné
    Avatar de Joel F
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Septembre 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2002
    Messages : 918
    Points : 1 921
    Points
    1 921
    Par défaut
    +1 pour CImg, ma grand mere saurait s'en servir

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 48
    Points : 60
    Points
    60
    Par défaut
    Bonjour,
    Concernant le calcul scientifique en C++, je préfère dépouiller les résultats avec des outils externes ou de scripts. La démarche :
    1/ Rapatriement des résultats dans un fichier en C++.
    2/ Lecture du fichier avec des grapheurs externes comme gnuplot(outil en ligne de commande) ou matplotlib(python).

    Bon courage

  7. #7
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    36
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 36
    Points : 49
    Points
    49
    Par défaut
    Pareil, +1 pour CImg que j'utilise très souvent. Elle possède un outil de visualisation de graphes de fonctions :

    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
     
    #include "CImg.h"
    using namespace cimg_library;
     
    int main(int argc, char **argv) {
     
      // Crée un tableau de valeurs.
      float tableau[1024];
      for (int x = 0; x<1024; ++x) tableau[x] = cos(x/100.0) + 0.2*cimg::rand();
     
      // Affiche le sous forme de graphique.
      CImg<>(tableau,1024).display_graph("Mon tableau",1);
     
      return 0;
    }

    On obtient :



    Il n'y a pas 150 types de graphiques différents gérés, mais pour tracer un truc simple vite fait, il n'y a pas plus facile.

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/12/2010, 18h34
  2. Réponses: 6
    Dernier message: 10/11/2010, 15h21
  3. Tracé d'une fonction sous Matlab, pb d'affichage
    Par Pierre13Th dans le forum MATLAB
    Réponses: 1
    Dernier message: 14/06/2009, 19h23
  4. [plot] Tracé d'une fonction
    Par rbouricha dans le forum MATLAB
    Réponses: 3
    Dernier message: 12/01/2009, 09h51
  5. Tracé d'une fonction
    Par ramrouma dans le forum MATLAB
    Réponses: 2
    Dernier message: 04/01/2007, 13h23

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