Aller au contenu

Mathc gnuplot/Version imprimable

Un livre de Wikilivres.

Ceci est la version imprimable de Mathc gnuplot.
  • Si vous imprimez cette page, choisissez « Aperçu avant impression » dans votre navigateur, ou cliquez sur le lien Version imprimable dans la boîte à outils, vous verrez cette page sans ce message, ni éléments de navigation sur la gauche ou en haut.
  • Cliquez sur Rafraîchir cette page pour obtenir la dernière version du wikilivre.
  • Pour plus d'informations sur les version imprimables, y compris la manière d'obtenir une version PDF, vous pouvez lire l'article Versions imprimables.


Mathc gnuplot

Une version à jour et éditable de ce livre est disponible sur Wikilivres,
une bibliothèque de livres pédagogiques, à l'URL :
https://fr.wikibooks.org/wiki/Mathc_gnuplot

Vous avez la permission de copier, distribuer et/ou modifier ce document selon les termes de la Licence de documentation libre GNU, version 1.2 ou plus récente publiée par la Free Software Foundation ; sans sections inaltérables, sans texte de première page de couverture et sans Texte de dernière page de couverture. Une copie de cette licence est incluse dans l'annexe nommée « Licence de documentation libre GNU ».

Introduction


L'étude de ce chapitre peut ce faire à l'aide de cette [Playlist]..

Les notions de mathématiques sont supposées connues.

Pour le langage C :

Sous linux il faut ajouter la commande -lm dans la ligne de commande pour lier la librairie mathématique à votre code.

Dans Geany il faut aller dans le menu construire/définir les commandes de construction ensuite ajouter la commande -lm

  • compile : gcc -Wall -c "%f" -lm
  • build ..... : gcc -Wall -o "%e" "%f" -lm


  • Copier la bibliothèque, les fichiers h, dans votre répertoire de travail.
  • Chaque fichier "*.c" est un exemple à compiler et à exécuter.


Pour gnuplot :

  • Linux :
    • Exécuter un exemple C.
    • Ajouter une nouvelle fenêtre dans votre terminal de travail.
    • Vous serez automatiquement dans le bon répertoire pour lancer gnuplot.
    • Tapez : gnuplot
  • Windows :
    • Pour sélectionner le bon répertoire sous Windows
    • Choisissez l'icône ChDir (change directory)
    • Puis l'icône Open pour sélectionner un fichier de commande de gnuplot.
  • Animation :
    • Tapotez sur l'icône replot de gnuplot.


Présentation de la librairie


La géométrie de la tortue dans Wikipedia.

Dans ce chapitre, nous présenterons un exemple (c01.c) et la librairie (*.h). Le code des fonctions de la librairie ne sont pas à étudier. Dans un premier temps, amusez-vous simplement avec ces fonctions.

L'étude de ce chapitre peut ce faire à l'aide de cette [Playlist]..


  • Les commandes d'initialisation :
    • **U = GINIT(-10.,10.,-10.,10.);
      • création de la matrice.
      • initialisation de la fenêtre de gnuplot
    • F_mR(U); Destruction de la matrice.
  • Les commandes de déplacement :
    • SETUP(U,angle,x,y); Positionner la tortue.
    • GO(U,+P); Avancer de P pas.
    • GO(U,-P); Reculer de P pas.
    • TU(U,+D); Tourner de D degrés sur la droite.
    • TU(U,-D); Tourner de D degrés sur la gauche.
  • La direction:
    • Les angles positifs tournent dans le sens des aiguilles d'une montre.
      • L'angle 0 est le nord.
    • La direction est mémorisée.
c01.c
Dessiner un carré
/* ------------------------------------ */
/*  Save as :   c01.c                   */
/* ------------------------------------ */
#include "v_a.h"
#include "y_o.h"
/* ------------------------------------ */
int main(void)
{
double **U = GINIT(-10.,10.,-10.,10.);
int      i = 4;

   clrscrn();
   
   for(;i--;)
      {GO(U,5.);TU(U,90.);}

   F_mR(U);

  printf("  * open the file main.plt with Gnuplot.\n\n\n");
  getchar();

  return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */

Le résultat :

 # Gnuplot file : load "a_main.plt"
 set zeroaxis
 set size ratio -1
 plot [-10.000:10.000] [-10.000:10.000] \
 "data.plt" with linesp pt 0
Résultat dans gnuplot
Turtles01


Les fichiers h partagés

[modifier | modifier le wikicode]
v_a.h
Appel des fichiers
/* ------------------------------------ */
/*      Save as :  v_a.h                */
/* ------------------------------------ */
#include    <stdio.h>
#include   <stdlib.h>
#include   <stddef.h>
#include    <ctype.h>
#include     <time.h>
#include     <math.h>
/* ------------------------------------ */
#include  "vdefine.h"
#include  "vmatini.h"
#include  "vmatbas.h"
#include  "vmatcop.h"
#include  "vmatrot.h"
/* ------------------------------------ */
/* ------------------------------------ */


vdefine.h
Déclaration des defines
/* ------------------------------------ */
/*      Save as : vdefine.h             */
/* ------------------------------------ */
#define C0               0
#define C1               1
#define C2               2
#define C3               3
#define C4               4
#define C5               5

#define R0               0
#define R1               1
#define R2               2
#define R3               3
#define R4               4
#define R5               5

#define OF               0

#define R_SIZE           0
#define C_SIZE           1
#define C_SIZE_A         2
#define FIRST            1

#ifndef PI
#define PI               3.14159265359
#endif

#define MAX(A,B) ((A)>(B) ? (A):(B) )

void clrscrn(void)
{
  printf("\n\n\n\n\n\n\n\n\n\n\n"
         "\n\n\n\n\n\n\n\n\n\n\n"
         "\n\n\n\n\n\n\n\n\n\n\n");
}
/* ------------------------------------ */
/* ------------------------------------ */


L'étude sur les matrices fait partie d'un autre livre.


vmatini.h
Création et destruction d'une matrice
/* ------------------------------------ */
/*      Save as : vmatini.h             */
/* -------------------------------------*/
double **I_mR(
int      r,
int      c
)
{
int      i = R0;
int     ar = r + C1;
int     ac = c + C1;
double **A = malloc(ar * sizeof(*A));

     for(; i<ar; i++)
      A[i] = malloc(ac * sizeof(**A));

    A[R_SIZE][OF] = ar;
    A[C_SIZE][OF] = ac;

return(A);
}
/* ------------------------------------ */
void F_mR(
double **A
)
{
int i=R0;
int r=A[R_SIZE][OF];

 if(A) for(;i<r;i++) free(A[i]);

 free(A);
}
/* ------------------------------------ */
/* ------------------------------------ */


vmatbas.h
Additionner et multiplier des matrices
/* ------------------------------------ */
/*      Save as : vmatbas.h             */
/* ------------------------------------ */
double **add_mR(
double **A,
double **B,
double **AplsB
)
{
int r;
int c;

   for (r=FIRST;r<A[R_SIZE][OF];r++)
    for(c=FIRST;c<A[C_SIZE][OF];c++)
        AplsB[r][c]=A[r][c]+B[r][c];

return(AplsB);
}
/* ------------------------------------ */
double **mul_mR(
double **A,
double **B,
double **AB
)
{
int i,j,k;

  for  (k=FIRST;           k<A[R_SIZE][OF];k++)
   for (j=FIRST;           j<B[C_SIZE][OF];j++)
    for(i=FIRST,AB[k][j]=0;i<A[C_SIZE][OF];i++)
       AB[k][j]+=A[k][i]*B[i][j];

return(AB);
}


vmatcop.h
Copier une matrice
/* ------------------------------------ */
/*      Save as : vmatcop.h             */
/* ------------------------------------ */
double ** c_mR(
double **A,
double **B
)
{
int r;
int c;

for( r=FIRST;r<A[R_SIZE][OF];r++)
 for(c=FIRST;c<A[C_SIZE][OF];c++)
     B[r][c]=A[r][c];

return(B);
}
/* ------------------------------------ */
double  **c_a_A_mR(
double  a[],
double  **A
)
{
int r;
int c;
int i=0;

for( r=FIRST; r<A[R_SIZE][OF]; r++)
 for(c=FIRST; c<A[C_SIZE][OF]; c++)
     A[r][c] = a[i++];
            
return(A);
}
/* ------------------------------------ */
/* ------------------------------------ */


vmatrot.h
Matrice de rotation
/* ------------------------------------ */
/*      Save as : vmatrot.h             */
/* ------------------------------------ */
double **rot2D_mR(
double  **A,
double alpha
)
{
 A[1][1]=cos(alpha);A[1][2]=-sin(alpha);
 A[2][1]=sin(alpha);A[2][2]= cos(alpha);

return(A);
}
/* ------------------------------------ */
/* ------------------------------------ */


y_o.h
La librairie de géométrie de la tortue standard
/* ------------------------------------ */
/*      Save as : y_o.h                 */
/* ------------------------------------ */
void PD(
double **A
)
{
FILE * fp = fopen("data.plt","a");
       
fprintf(fp,"  %+.3f  %+.3f \n",
           A[R1][C1],A[R2][C1]);
 fclose(fp);
}
/* ------------------------------------ */
void PU(
double **A
)
{
FILE *fp = fopen("data.plt","a");
       
fprintf(fp,"\n  %+.3f  %+.3f \n",
           A[R1][C1],A[R2][C1]);
 fclose(fp);
}
/* ------------------------------------ */
double **Ginit(
double **U,
double xmin,
double xmax,
double ymin,
double ymax
)
{
FILE *fp;

        fp = fopen("a_main.plt","w");
fprintf(fp,"# Gnuplot file : load \"a_main.plt\" \n"
           "reset\n" 
           "set zeroaxis\n" 
           "set size ratio -1\n" 
           "plot [%0.3f:%0.3f] [%0.3f:%0.3f] \\\n"
           "\"data.plt\" with linesp pt 0\n"
           ,xmin,xmax,ymin,ymax);
 fclose(fp);

        fp = fopen("data.plt","w");
 fclose(fp);

        U[R0][C1] = 0.;/* angle */
        U[R1][C1] = 0.;/* x     */
        U[R2][C1] = 0.;/* y     */

        PD(U);

return(U);
}
/* ------------------------------------ */
double **GINIT(
double xmin,
double xmax,
double ymin,
double ymax
)
{
return( Ginit(I_mR(R2,C1),xmin,xmax,ymin,ymax) );
}
/* ------------------------------------ */
void SET(
double **U,
double angle,
double x,
double y
)
{
   U[R0][C1] = angle;
   U[R1][C1] = x;
   U[R2][C1] = y;

   PD(U);
}
/* ------------------------------------ */
void SETUP(
double **U,
double angle,
double x,
double y
)
{
   U[R0][C1] = angle;
   U[R1][C1] = x;
   U[R2][C1] = y;

   PU(U);
}
/* ------------------------------------ */
void GO(
double **U,
double Step
)
{
double **T = I_mR(R2,C2);
double **B = I_mR(R2,C1);
double **C = I_mR(R2,C1);

double angle=U[R0][C1];

   B[R1][C1] = 0.;
   B[R2][C1] = Step;

   rot2D_mR(T,PI/180.*(-angle));
   mul_mR(T,B,C);
   c_mR(U,B);
   add_mR(B,C,U);

   PD(U);

F_mR(C);
F_mR(B);
F_mR(T);
}
/* ------------------------------------ */
void GU(
double **U,
double Step
)
{
double **T = I_mR(R2,C2);
double **B = I_mR(R2,C1);
double **C = I_mR(R2,C1);

double angle=U[R0][C1];

   B[R1][C1] = 0.;
   B[R2][C1] = Step;

   rot2D_mR(T,PI/180.*(-angle));
   mul_mR(T,B,C);
   c_mR(U,B);
   add_mR(B,C,U);

   PU(U);

F_mR(C);
F_mR(B);
F_mR(T);
}
/* ------------------------------------ */
void TU(
double **U,
double angle
)
{
  U[R0][C1]+=angle;
}
/* ------------------------------------ */
/* ------------------------------------ */


Conclusion


Quelques applications :

[modifier le wikicode]


Présentation de la librairie vectorielle


La géométrie de la tortue dans Wikipedia.

Dans ce chapitre, nous présenterons un exemple (c01.c) et la librairie (*.h). Les fonctions de la librairie ne sont pas à étudier. Dans un premier temps, amusez-vous simplement avec ces fonctions.


L'étude de ce chapitre peut ce faire à l'aide de cette [Playlist]..


Les commandes d'initialisation :

  • **U = G_main(-10.,10.,-10.,10.);
    • création de la matrice.
    • Initialisation de la fenêtre de gnuplot
  • F_mR(U); Destruction de la matrice.

Les commandes de déplacement :

  • SETUP(U,angle,x,y); Positionner la tortue.
  • vo(U,0,+P); Avancer de P unités.
  • vo(U,0,-P); Reculer de P unités.
  • vo(U,D,0); Contrôler la "D"irection.

La direction :

  • Suit les règles du cercle trigonométrique mais en degrés. Les angles positifs sont mesurés dans le sens inverse des aiguilles d'une montre, à partir de l'axe des x positifs.
  • À chaque déplacement il faut lui indiquer une direction.

Dessiner un carré.

c01.c
Dessiner un carré.
/* ------------------------------------ */
/* Save as : c01.c                      */
/* ------------------------------------ */
#include "v_a.h"
#include "y_r.h"
/* ------------------------------------ */
int main(void)
{
double **U   = G_main(-10.,10.,-10.,10.);
double angle = 0.;
double  side = 5.;

   for(;angle<360;angle+=90)
       vo(U,angle,side);

   F_mR(U);

  printf("  * open the file a_main.plt with Gnuplot.\n\n\n");

  return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */

Le résultat :

 # Gnuplot file : load "a_main.plt"

 set zeroaxis
 set size ratio -1
 plot [-10.000:10.000] [-10.000:10.000] \
 "data.plt" with linesp pt 0


Résultat dans gnuplot
Turtles01

Les fichiers h partagés

[modifier | modifier le wikicode]
v_a.h
Appel des fichiers
/* ------------------------------------ */
/*      Save as :  v_a.h                */
/* ------------------------------------ */
#include    <stdio.h>
#include   <stdlib.h>
#include   <stddef.h>
#include    <ctype.h>
#include     <time.h>
#include     <math.h>
/* ------------------------------------ */
#include  "vdefine.h"
#include  "vmatini.h"
#include  "vmatbas.h"
#include  "vmatcop.h"
#include  "vmatrot.h"
/* ------------------------------------ */
/* ------------------------------------ */


vdefine.h
Déclaration des defines
/* ------------------------------------ */
/*      Save as : vdefine.h             */
/* ------------------------------------ */
#define C0               0
#define C1               1
#define C2               2
#define C3               3
#define C4               4
#define C5               5

#define R0               0
#define R1               1
#define R2               2
#define R3               3
#define R4               4
#define R5               5

#define OF               0

#define R_SIZE           0
#define C_SIZE           1
#define C_SIZE_A         2
#define FIRST            1

#ifndef PI
#define PI               3.14159265359
#endif

#define MAX(A,B) ((A)>(B) ? (A):(B) )

void clrscrn(void)
{
  printf("\n\n\n\n\n\n\n\n\n\n\n"
         "\n\n\n\n\n\n\n\n\n\n\n"
         "\n\n\n\n\n\n\n\n\n\n\n");
}
/* ------------------------------------ */
/* ------------------------------------ */


L'étude sur les matrices fait partie d'un autre livre.


vmatini.h
Création et destruction d'une matrice
/* ------------------------------------ */
/*      Save as : vmatini.h             */
/* -------------------------------------*/
double **I_mR(
int      r,
int      c
)
{
int      i = R0;
int     ar = r + C1;
int     ac = c + C1;
double **A = malloc(ar * sizeof(*A));

     for(; i<ar; i++)
      A[i] = malloc(ac * sizeof(**A));

    A[R_SIZE][OF] = ar;
    A[C_SIZE][OF] = ac;

return(A);
}
/* ------------------------------------ */
void F_mR(
double **A
)
{
int i=R0;
int r=A[R_SIZE][OF];

 if(A) for(;i<r;i++) free(A[i]);

 free(A);
}
/* ------------------------------------ */
/* ------------------------------------ */


vmatbas.h
Additionner et multiplier des matrices
/* ------------------------------------ */
/*      Save as : vmatbas.h             */
/* ------------------------------------ */
double **add_mR(
double **A,
double **B,
double **AplsB
)
{
int r;
int c;

    for (r=FIRST;r<A[R_SIZE][OF];r++)
     for(c=FIRST;c<A[C_SIZE][OF];c++)
         AplsB[r][c]=A[r][c]+B[r][c];

 return(AplsB);
}
/* ------------------------------------ */
double **mul_mR(
double **A,
double **B,
double **AB
)
{
int i,j,k;

  for  (k=FIRST;           k<A[R_SIZE][OF];k++)
   for (j=FIRST;           j<B[C_SIZE][OF];j++)
    for(i=FIRST,AB[k][j]=0;i<A[C_SIZE][OF];i++)
        AB[k][j]+=A[k][i]*B[i][j];

 return(AB);
}
/* ------------------------------------ */
/* ------------------------------------ */


vmatcop.h
Copier une matrice
/* ------------------------------------ */
/*      Save as : vmatcop.h             */
/* ------------------------------------ */
double ** c_mR(
double **A,
double **B
)
{
int r;
int c;

for( r=FIRST;r<A[R_SIZE][OF];r++)
 for(c=FIRST;c<A[C_SIZE][OF];c++)
     B[r][c]=A[r][c];

return(B);
}
/* ------------------------------------ */
double  **c_a_A_mR(
double  a[],
double  **A
)
{
int r;
int c;
int i=0;

for( r=FIRST; r<A[R_SIZE][OF]; r++)
 for(c=FIRST; c<A[C_SIZE][OF]; c++)
     A[r][c] = a[i++];
            
return(A);
}
/* ------------------------------------ */
/* ------------------------------------ */


vmatrot.h
Matrice de rotation
/*      Save as : vmatrot.h             */
/* ------------------------------------ */
double **rot2D_mR(
double  **A,
double alpha
)
{
 A[1][1]=cos(alpha);A[1][2]=-sin(alpha);
 A[2][1]=sin(alpha);A[2][2]= cos(alpha);

return(A);
}
/* ------------------------------------ */
/* ------------------------------------ */


y_r.h
La librairie de géométrie de la tortue vectorielle
/* ------------------------------------ */
/*      Save as : y_r.h                 */
/* ------------------------------------ */
void pd(
double **A
)
{
FILE   *fp = fopen("data.plt","a");   
                    
fprintf(fp," %+.3f %+.3f\n",A[R1][C1],A[R2][C1]); 	  
 fclose(fp);
}
/* ------------------------------------ */   
void pu(
double **A
)
{
FILE   *fp = fopen("data.plt","a"); 
        
fprintf(fp,"\n %+.3f %+.3f\n",A[R1][C1],A[R2][C1]); 	   
 fclose(fp);
}
/* ------------------------------------ */   
double **g_main(
double **A,
double xmin,
double xmax,
double ymin,
double ymax
)
{
FILE *fp;

        fp = fopen("a_main.plt","w");
fprintf(fp,"# Gnuplot file : load \"a_main.plt\" \n"
           "reset\n" 
           "set zeroaxis\n" 
           "set size ratio -1\n" 
           "plot [%0.3f:%0.3f] [%0.3f:%0.3f] \\\n"
           "\"data.plt\" with linesp pt 0\n"
           ,xmin,xmax,ymin,ymax);
 fclose(fp);
 
        fp = fopen("data.plt","w"); 
 fclose(fp);
 
        A[R1][C1] = 0.;
        A[R2][C1] = 0.;
   
        pd(A);
        
return(A);                         
}
/* ------------------------------------ */   
double **G_main(
double xmin,
double xmax,
double ymin,
double ymax
)
{ 
 return(g_main(I_mR(R2,C1),xmin,xmax,ymin,ymax));     
}
/* ------------------------------------ */   
void set(
double **A,
double x,
double y
)
{
   A[R1][C1] = x;
   A[R2][C1] = y;
   
   pd(A);
}
/* ------------------------------------ */   
void setup(
double **A,
double x,
double y
)
{
   A[R1][C1] = x;
   A[R2][C1] = y;
   
   pu(A);
}
/* ------------------------------------ */   
void vo(
double **A,
double alpha,
double side
)
{
double **T = I_mR(R2,C2);
double **B = I_mR(R2,C1);
double **C = I_mR(R2,C1);

   B[R1][C1] = side;
   B[R2][C1] = 0.;
   
   rot2D_mR(T,PI/180.*(alpha));
     mul_mR(T,B,C);
       c_mR(A,B);
     add_mR(B,C,A);
   
   pd(A);   
   
F_mR(C);
F_mR(B);                        
F_mR(T);
}
/* ------------------------------------ */   
void vu(
double **A,
double alpha,
double side
)
{
double **T = I_mR(R2,C2);
double **B = I_mR(R2,C1);
double **C = I_mR(R2,C1);

   B[R1][C1] = side;
   B[R2][C1] = 0.;
   
   rot2D_mR(T,PI/180.*(alpha));
     mul_mR(T,B,C);
       c_mR(A,B);
     add_mR(B,C,A);
   
   pu(A);   
   
F_mR(C);
F_mR(B);                        
F_mR(T);
}
/* ------------------------------------ */
/* ------------------------------------ */


Pointeurs de fonctions


Quelques applications :

[modifier le wikicode]


Annexe : Commandes de bases (gnuplot)

Dans ce chapitre, nous voyons les premières commandes pour dessiner des fonctions de la forme f(x).

Cet exemple donne les informations de base.

# ---------------------
# save this file as : a_main.plt
# Then into gnuplot : load "a_main.plt"
#
#
test
reset
# ---------------------

Le passage à la ligne

[modifier | modifier le wikicode]
# ---------------------
# save this file as : a_main.plt
# Then into gnuplot : load "a_main.plt"
#
#  \n ->   \
#
plot cos(x),\
     sin(x),\
         .4,\
        -.4
reset
# ---------------------

Chaine de caractères

[modifier | modifier le wikicode]

linetype | lt <0..15>

[modifier | modifier le wikicode]

Chaque nombre correspond à une couleur différente. (voir test)

# ---------------------
# save this file as : a_main.plt
# Then into gnuplot : load "a_main.plt"
#
#  linetype  | lt <0..15> 
#
plot cos(x) lt 1,\
     sin(x) lt 2,\
        .4  lt 3,\
       -.4  lt 3
reset
# ---------------------

linewidth | lw <1.. 6>

[modifier | modifier le wikicode]

Chaque nombre correspond à une épaisseur différente.

# ---------------------
# save this file as : a_main.plt
# Then into gnuplot : load "a_main.plt"
#
#  #  linewidth | lw <1.. 6>
#
plot cos(x) lt 1 lw 1,\
     sin(x) lt 2 lw 3,\
        .4  lt 3 lw 4,\
       -.4  lt 3 lw 6
reset
# ---------------------

Liste de points

[modifier | modifier le wikicode]

Dessiner une liste de points.

# ---------------------
# save this file as : a_main.plt
# Then into gnuplot : load "a_main.plt"
#
#  
plot "data" 
reset
# ---------------------


Créer un fichier "data" avec ces données :

-5 25
-4 16
-3 9
-2 4
-1 1
0 0
1 1
2 4
3 9
4 16
5 25 

pointtype | pt <0..15>

[modifier | modifier le wikicode]

Chaque nombre correspond à un dessin différent de points. (voir test)

# ---------------------
# save this file as : a_main.plt
# Then into gnuplot : load "a_main.plt"
#
#  pointtype | pt <0..15>
#
plot "data" pt 10
reset
# ---------------------


pointsize | ps <1.. >

[modifier | modifier le wikicode]

Chaque nombre correspond taille de points différents. (voir test)

# ---------------------
# save this file as : a_main.plt
# Then into gnuplot : load "a_main.plt"
#
#  pointsize | ps <1..  >
#
plot "data" pt 10  ps 3
reset
# ---------------------


Les points sont réliés par des segments.

# ---------------------
# save this file as : a_main.plt
# Then into gnuplot : load "a_main.plt"
#
#  linetype  | lt <0..15>   (color)
#  linewidth | lw <1.. 6>   (size)
#  pointsize | ps <1..  >   (size)
#
plot "data" with linesp lt 3 lw 3 ps 3
reset
# ---------------------

Sans les points.

# ---------------------
# save this file as : a_main.plt
# Then into gnuplot : load "a_main.plt"
#
#  linetype  | lt <0..15>   (color)
#  linewidth | lw <1.. 6>   (size)
#  pointsize | ps <1..  >   (size)
#
plot "data" with linesp lt 3 lw 3 ps 3 pt 0
reset
# ---------------------


Commandes générales

[modifier | modifier le wikicode]

set zeroaxis lt 8 lw 3

[modifier | modifier le wikicode]
# ---------------------
# save this file as : a_main.plt
# Then into gnuplot : load "a_main.plt"
#
#  linetype  | lt <0..15>   (color)
#  linewidth | lw <1.. 6>   (size)
#
set zeroaxis lt 8 lw 3
plot sin(x),\
     cos(x)
reset
# ---------------------

set grid lt 8 lw 3

[modifier | modifier le wikicode]
# ---------------------
# save this file as : a_main.plt
# Then into gnuplot : load "a_main.plt"
#
#  linetype  | lt <0..15>   (color)
#  linewidth | lw <1.. 6>   (size)
#  pointsize | ps <1..  >   (size)
#
set grid lt 8 lw 3
plot sin(x),\
     cos(x)
reset
# ---------------------
# ---------------------
# save this file as : a_main.plt
# Then into gnuplot : load "a_main.plt"
#
#  linetype  | lt <0..15>   (color)
#  linewidth | lw <1.. 6>   (size)
#  pointsize | ps <1..  >   (size)
#
set zeroaxis lt 8 lw 3
set grid 
plot [-6.:6.] [-1.4:1.4]\
     sin(x),\
     cos(x)
reset
# ---------------------



Annexe : Commandes de bases 3d (gnuplot)

Dans ce chapitre, nous voyons les premières commandes pour dessiner des fonctions en 3d.

splot[x][y][z] (La fonction)

[modifier | modifier le wikicode]
# ---------------------
# save this file as : a_main.plt
# Then into gnuplot : load "a_main.plt"
#
reset
splot [0:2*pi][0:2*pi][-1:1]\
cos(x)*cos(y)
# ---------------------

set hidden (Faces cachées)

[modifier | modifier le wikicode]
# ---------------------
# save this file as : a_main.plt
# Then into gnuplot : load "a_main.plt"
#
reset
set hidden
splot [0:2*pi][0:2*pi][-1:1]\
cos(x)*cos(y)
# ---------------------

set view rot_x, rot_z, scale, scale_z (Imposer une vue)

[modifier | modifier le wikicode]
# ---------------------
# save this file as : a_main.plt
# Then into gnuplot : load "a_main.plt"
#
reset
set hidden
set view 55.,57.,  1., 1. 
splot [0:2*pi][0:2*pi][-1:1]\
cos(x)*cos(y)
# ---------------------

set xlabel "X axis" (Nommer les axes)

[modifier | modifier le wikicode]
# ---------------------
# save this file as : a_main.plt
# Then into gnuplot : load "a_main.plt"
#
reset
set hidden
set xlabel "X axis"
set ylabel "Y axis"
set view 55.,57.,  1., 1. 
splot [0:2*pi][0:2*pi][-1:1]\
cos(x)*cos(y)
# ---------------------
GFDL GFDL Vous avez la permission de copier, distribuer et/ou modifier ce document selon les termes de la licence de documentation libre GNU, version 1.2 ou plus récente publiée par la Free Software Foundation ; sans sections inaltérables, sans texte de première page de couverture et sans texte de dernière page de couverture.