« Découvrir Scilab/Graphiques et sons » : différence entre les versions
Contenu supprimé Contenu ajouté
m →Tracé de fonctions de deux variables : param3d |
m Formatage, ajout de strong |
||
Ligne 3 :
<br />
<
----
Ligne 15 :
Le tracé d’une fonction se fait en deux étapes
# définir l’étendue de la variable abscisse et le pas, sous la forme d’un <font id="vecteur_domaine_trace_1">vecteur</
# tracer la fonction avec la commande <br /><code><font id="plot2">plot(x, f(x))</
On note qu'en fait, ƒ(''x'') est elle-même un vecteur. On peut de manière générale définir un vecteur des valeurs de ''x'' et un vecteur des valeurs de ''y'', et la fonction <code>plot(x, y)</code> tracera le nuage de points (''x''(''i'' ),''y''(''i'' )).
Si ƒ est une fonction externe (par exemple définie avec <code><font id="deff3">deff</
: <code><font id="fplot1">fplot2d(x, f)</
On peut aussi définir le vecteur ''y'' par
: <code>y = <font id="feval3">feval(x, f)</
puis tracer avec
: <code>plot(x,y)</code>.
Les fonctions <code><font id="plot2di1">plot2d''i''</
* <code>plot2d()</code> : trait « normal » ; identique à <code>plot</code>, mais l’utilisation de marqueurs et des couleurs est différente (voir ci-après) ;
* <code>plot2d2()</code> : trait en escalier ;
* <code>plot2d3()</code> : tracé en barres ;
* <code>plot2d4()</code> : tracé en « <font id="fleche1">flèches</
Ces fonctions <code>plot2d''i''</code> acceptent des arguments modifiant le tracé, sous la forme
: <code>plot2d''i''(x, y, ''arguments'')</code>.
Ligne 100 :
On peut aussi simplement utiliser <code>plot(x, [cos(x), sin(x)])</code>.
Dans ce cas-là, Scilab utilise une couleur différente pour chaque courbe ; on peut inscrire une <font id="legende1">légende</
<source lang="scilab">
legend("cosinus", "sinus");
Ligne 132 :
Avec les commandes <code>plot2d''i''</code>, on change le type de tracé (couleur, marqueur) en utilisant l’argument <code>style = ''n''</code> ou ''n'' est un entier positif ou négatif (par exemple <code>plot2d(x, y, style = 1)</code>) :
* un nombre négatif remplace les points par des marqueurs : une étoile pour -10, des ronds pour -9, …, des petits points pour 0 ; la liste s'obtient en tapant la commande <code id="getsymbol1">getsymbol()</code> ;
* un nombre positif indique un trait plein mais de <font id="couleur_2d1">couleur</
Avec plusieurs courbes, on place les différents styles dans un vecteur ligne, par exemple
<source lang="scilab">
Ligne 144 :
==== En coordonnées polaires ====
La fonction <code><font id="polarplot1">polarplot</
<source lang="scilab">
polarplot(r, theta)
Ligne 185 :
grayplot(x, y, z)
</source>
associe une couleur à chaque valeur de ''z'' et trace une <font id="carte_couleurs1">carte de couleurs</
<source lang="scilab" id="grayplot1">
zmin = min(z); zmax = max(z);
Ligne 223 :
fait une carte couleur des valeurs de la matrice A. L'abscisse ''x'' est le numéro de colonne, l'ordonnée ''y'' est le numéro de ligne, la première ligne étant en haut, respectant en cela l'organisation du tableau. Cette fonction utilise la couleur correspondante à la partie entière de la valeur.
Les <font id="colormap1">niveaux de couleur</
<source lang="scilab" id="set1">
set(gcf(), "color_map", cmap)
Ligne 318 :
==== Courbes de niveau ====
On peut tracer des <font id="courbe_niveau1">courbes de niveau</
<source lang="scilab" id="contour2d1">
contour2d(x, y, z, n)</source>
Ligne 328 :
==== Champ de vecteurs ====
On peut également tracer un <font id="champ_vecteurs1">champ de vecteurs</
<source lang="scilab" id="champ1">
champ(x, y, vx, vy)
Ligne 334 :
le vecteur de composantes (''vx''(''i'',''j'' ),''vy''(''i'',''j'' )) étant placé en (''x''(''i'' ), ''y''(''j'' )).
Avec la fonction <code>champ1</code>, les vecteurs tracés ont tous la même longueur, la norme du champ est indiquée par la <font id="couleur_vecteur1">couleur du vecteur</
=== Tracé 3D ===
Ligne 368 :
: Ici, la matrice X est une matrice colonne pour laquelle chaque valeur de ''x'' est répétée ''n'' fois (''n'' étant la taille du vecteur ''y''), la matrice Y est une matrice colonne pour laquelle la suite des valeurs de ''y'' est répétée ''m'' fois (''m'' étant la taille du vecteur ''x''), et la matrice Z résulte donc de toutes les combinaisons possibles de couples (''x<sub>i</sub>'', ''y<sub>j </sub>'').
Si ƒ est une fonction « externe » (par exemple définie par <code><font id="deff4">deff</
<source lang="scilab" id="fplot3d1">fplot3d(x, y, f)
</source>
Ligne 402 :
==== Niveaux de couleur ====
Les fonctions <code>plot3d1</code>, <code>fplot3d1</code> et <code>param3d1</code> permettent d’utiliser des <font id="carte_couleurs2">niveaux de couleurs</
<source lang="scilab" id="set2">
set("colormap", cmap)
Ligne 432 :
==== Angle de vue de la surface ====
Le <font id="angle_vue1">point de vue</
* <code>plot3d(x, y, z, 0, 0)</code> donne une vue de dessus, semblable aux cartes 2D, projection de la surface sur le plan ''xy'' selon l’axe ''z'' ; l'axe des ''x'' est vertical, l'axe des ''y'' est horizontal ;
* <code>plot3d(x, y, z, 90, 0)</code> donne aussi une vue de dessus, mais tournée de 90°, l'axe des ''x'' est horizontal, l'axe des ''y'' est vertical ;
Ligne 440 :
Plus exactement, (θ, α) désigne la direction d'observation en coordonnées sphériques.
On peut également définir les <font id="axe_limite_3d1">limites des axes</
* <code>plot3d(x, y, z, ebox=[xmin, xmax, ymin, ymax, zmin, zmax])</code>
* <code>plot3d(x, y, z, theta, alpha, ebox=[xmin, xmax, ymin, ymax, zmin, zmax])</code>
Ligne 536 :
Les références de la police sont (voir l'aide ''graphics_fonts'') :
* <code>0</code> : police à chasse fixe (type <font style="font-family: monospace;">Courier</
* <code>1</code> : police de lettres grecques (type <font style="font-family: symbol;">Symbol</
* <code>2</code> à <code>5</code> : police à empattement (type <font style="font-family: times;">Times</
** <code>2</code> : <font style="font-family: serif; font-style: normal; font-weight: normal;">romaine, maigre</
** <code>3</code> : <font style="font-family: serif; font-style: italic; font-weight: normal;">italique, maigre</
** <code>4</code> : <font style="font-family: serif; font-style: normal; font-weight: bold;">romaine, gras</
** <code>5</code> : <font style="font-family: serif; font-style: italic; font-weight: bold;">italique, gras</
* <code>6</code> à <code>9</code> : police sans empatement (type <font style="font-family: arial;">Arial</
** <code>6</code> : <font style="font-family: sans-serif; font-style: normal; font-weight: normal;">romaine, maigre</
** <code>7</code> : <font style="font-family: sans-serif; font-style: italic; font-weight: normal;">italique, maigre</
** <code>8</code> : <font style="font-family: sans-serif; font-style: normal; font-weight: bold;">romaine, gras</
** <code>9</code> : <font style="font-family: sans-serif; font-style: italic; font-weight: bold;">italique, gras</
Les tailles de police vont de <code>0</code> à <code>10</code> ; <code>0</code> correspond à un corps de 8 points, <code>1</code> à un corps de 10 points, …, <code>10</code> à un corps de 54 points.
Ligne 616 :
xarrows(nx, ny)
</source>
permet de tracer des <font id="fleche3">flèches</
* <code>nx</code> et <code>ny</code> sont des vecteurs : Scilab trace un polygone de flèches reliant les points (''n<sub>x</sub>''(''i''), ''n<sub>y</sub>''(''i'')) → (''n<sub>x</sub>''(''i''+1), ''n<sub>y</sub>''(''i''+1)) ;
* <code>nx</code> et <code>ny</code> sont des matrices de deux lignes et ayant le même nombre de colonnes :
Ligne 624 :
=== Propriétés des objets ===
Pour changer les <font id="style_trait1">propriétés des traits</
<source lang="scilab" id="set1">
set(gce(), "propriété", valeur);
Ligne 784 :
----
On peut choisir le <font id="axe1">type d’axe</
* 0 pour ne pas avoir d’axe,
* 1 pour des axes « classiques » se recoupant en bas à droite,
Ligne 790 :
* 5 pour des axes se coupant en (0, 0)…
On peut définir le <font id="axe_graduations1">nombre de graduations</
Pour une <font id="echelle_log1">échelle logarithmique</
* <code>plot2d(x, y, logflag = "nl")</code> pour un axe des ''x'' linéaire et un axe des ''y'' logarithmique ;
* <code>plot2d(x, y, logflag = "ll")</code> pour avoir deux échelles logarithmiques.
Ligne 815 :
=== Axes ===
Comme pour tous les objets graphiques, on peut changer les propriétés des axes en les affectant à une variable par la commande <code><font id="get2">''var'' = get("current_axes")</
* <code>x_location</code> : prend les valeurs <code>"bottom"</code>, <code>"middle"</code>, <code>"top"</code> ou <code>"origin"</code> selon que l'on veut que l'axe soit en bas, au centre, en haut ou passe par l'origine ;
* <code>y_location</code> : prend les valeurs <code>"left"</code>, <code>"middle"</code>, <code>"right"</code> ou <code>"origin"</code> selon que l'on veut que l'axe soit à gauche, au centre, à droite bas ou passe par l'origine ;
Ligne 899 :
Le tracé peut comporter plusieurs instructions <code>plot()</code>, <code>set()</code>, <code>xtitle()</code>.
<font id="legende2">La fonction</
<source lang="scilab" id="xtitle1">
xtitle("nom du graphique", "axe des x", "axe des y")
</source>
met un <font id="titre1">titre</
<source lang="scilab" id="titlepage1">
titlepage("titre")
Ligne 1 047 :
== Animations ==
Si vous utilisez une fonction paramétrique (en fait, une fonction de deux variables), il est alors possible de considérer la deuxième variable comme le temps et d'afficher l'évolution de la courbe en fonction du temps. Ceci se fait avec la fonction <code><font id="paramfplot2d1">paramfplot2d</
Pour cela, vous devez définir :
Ligne 1 076 :
== Sons ==
Scilab peut générer ou analyser des <font id="son1">sons</
Un son est en fait un vecteur dont les valeurs sont comprises entre -1 et 1 ; les valeurs hors de cet interval sont ignorées (phénomène d'écrêtage).
|