begin process at 2012 05 27 21:01:03
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Maths & Algorithmes

 > TRACER DES GRAPHIQUES AVEC LA LIBRAIRIE PGPLOT.H - EXEMPLE DU PENDULE

TRACER DES GRAPHIQUES AVEC LA LIBRAIRIE PGPLOT.H - EXEMPLE DU PENDULE


 Description

Cliquez pour voir la capture en taille normale
La librairie PGPLOT.h permet de tracer tout simplement des graphiques.
Pour illustrer une des utilisations de pgplot, c'est décider de reprendre mon programme
de résolution d'equation differentielle par la methode d'euler et d'y rajouter
la fonction pour tracer directement les graphiques.

Vous pouvez télécharger la librairie PGPLOT.H à l'adresse suivante:
http://www.astro.caltech.edu/~tjp/pgplot /

Source

  • #include<stdio.h>
  • #include<math.h>
  • #include<stdlib.h>
  • #include "cpgplot.h"
  • #define g 9.81
  • int main()
  • {
  • float tau,w,l;
  • int nit,i;
  • float tabt[1000],tabx[1000],taby[1000];
  • int npoints;
  • FILE *fichier;
  • float x;
  • float y;
  • float xmin =0., xmax=10.0, ymin =-0.3,ymax=0.3;
  • x=0.25; /* conition initiale sur x */
  • y=0; /* Conditions initiale */
  • i=0;
  • nit=1000; /* nombre d'itérations */
  • tau=0.01; /* pas d'intégration */
  • l=0.2; /* longueur du fil */
  • w=sqrt(g/l); /* Omega0 */
  • fichier=fopen("resultat.txt","w");
  • for(i=1;i<=nit;i++)
  • {
  • x=x+tau*y;
  • y=y+tau*((-w*w)*sin(x));
  • fprintf(fichier,"%f %lf %lf\n",i*tau,x,y);
  • }
  • fclose(fichier);
  • fichier=fopen("resultat.txt","r");
  • /* On stocke chaque colonne du fichier dans une variable
  • de type tableau */
  • for (i = 1; i<= nit; i++)
  • {
  • fscanf (fichier, "%f %f %f \n" ,&tabt[i],&tabx[i],&taby[i]);
  • }
  • fclose(fichier);
  • if (cpgopen("?") < 1) /* ouverture de pgplot */
  • return 1;
  • npoints=1000;
  • cpgenv(xmin,xmax,ymin,ymax,0,0); /* definition des axes */
  • cpglab("t", "x", "PGPLOT Graph: Evolution du pendule"); /* titre */
  • cpgsci(2); /* couleur du traçage "rouge" */
  • cpgline(npoints,tabt,tabx); /* on trace */
  • cpgenv(-0.3,0.3,-2.0,2.0,0,0);
  • cpglab("x", "y", "PGPLOT Graph: Espace des Phases");
  • cpgsci(2);
  • cpgline(npoints,tabx,taby);
  • cpgclos();
  • return 0;
  • }
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#include "cpgplot.h"

#define g 9.81

int main()
{
    float tau,w,l;
    int nit,i;

    float tabt[1000],tabx[1000],taby[1000];
    int npoints;
    FILE *fichier;

    float x;
    float y;
    float xmin =0., xmax=10.0, ymin =-0.3,ymax=0.3;


    x=0.25; /* conition initiale sur x */

    y=0; /* Conditions initiale */
    i=0;
    nit=1000; /* nombre d'itérations */

    tau=0.01; /* pas d'intégration */

    l=0.2; /* longueur du fil */

    w=sqrt(g/l); /* Omega0 */

    fichier=fopen("resultat.txt","w");
    for(i=1;i<=nit;i++)
    {
        x=x+tau*y;
        y=y+tau*((-w*w)*sin(x));
        fprintf(fichier,"%f %lf %lf\n",i*tau,x,y);
    }
    fclose(fichier);
    fichier=fopen("resultat.txt","r");
    /* On stocke chaque colonne du fichier dans une variable
    de type tableau */
    for (i = 1; i<= nit; i++)

        {
        fscanf (fichier, "%f %f %f \n" ,&tabt[i],&tabx[i],&taby[i]);
        }
    fclose(fichier);


     if (cpgopen("?") < 1) /* ouverture de pgplot */
     return 1;

     npoints=1000;
     cpgenv(xmin,xmax,ymin,ymax,0,0); /* definition des axes */
     cpglab("t", "x", "PGPLOT Graph: Evolution du pendule"); /* titre */
     cpgsci(2); /* couleur du traçage "rouge" */
     cpgline(npoints,tabt,tabx); /* on trace */


     cpgenv(-0.3,0.3,-2.0,2.0,0,0);
     cpglab("x", "y", "PGPLOT Graph: Espace des Phases");
     cpgsci(2);
     cpgline(npoints,tabx,taby);
     cpgclos();

    return 0;
}



 Sources du même auteur

Source avec une capture FRACTALE NEWTON-RAPHSON VERSION GLUT
Source avec Zip FAST FOURIER TRANSFORM
TRANSFORMEE DE FOURIER DISCRETE
Source avec une capture FRACTALE TREE (ARBRE) VERSION GLUT
Source avec une capture COURBE DE GUMOWSKI & MIRA VERSION GLUT

 Sources de la même categorie

Source avec Zip UN EXAMPLE D'APPLICATION EN CUDA DE L'ALGORITHME DE SCAN POU... par oguzaras
Source avec Zip Source avec une capture CHIFFREMENT DE VIGENERE par lajouad
Source avec Zip Source avec une capture ANALYSE SYNTAXIQUE par lajouad
Source avec Zip Source avec une capture STRUCTURE D'UNE MATRICE PAR LES LISTE LINÉAIRE (NON CONTUGUS... par benzarabel
Source avec Zip Source avec une capture DESSINER UNE ARBRE BINAIRE( MODE CONSOLE): par benzarabel

Commentaires et avis

Commentaire de Arnaud16022 le 11/01/2005 14:47:06

ta lib elle peut tracer des triangles ou des lignes avec un dégradé de couleur?

pas encore dl , suis au lycee

Commentaire de Fredchkek le 26/06/2005 22:12:15

Salut,
pourrais tu m'indiquer s'il n'y a que "cpgplot.h" à télécharger ?

Commentaire de Jarod1980 le 27/06/2005 13:48:04

Salut,
Il faut télécharger le package en entier et l'intaller.

Commentaire de yassine1nl le 08/07/2006 14:09:49

slt,
ché pa comment installer ta lib

Commentaire de yassine1nl le 08/07/2006 14:10:52

j attend votre reponse  

Commentaire de kmtrapah le 21/10/2008 16:22:15

esk vous pouvez me donnez un code source ki affiche une pendule elastique et interactive et aussi le code source du machine d'atwood interactif peut importe le langage mais avec code souce( de preference s'il es en Flash cs3)merci d'avance a toussssssssssssssss

Commentaire de ericelouan le 22/12/2011 21:39:54

tu peux faire des traces avec graphics.h car cgplot la n'es pas facile a trouver

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,452 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales