Programmation Octave/Dessiner des graphiques de fonctions

Un livre de Wikibooks.

Octave
L'étagère Informatique
et
Mathématiques.
Octave
Sommaire
Bibliographie
Autres cours
Modifier ce modèle

[modifier] Graphique en deux dimensions

Pour dessiner le graphique d'une fonction, il faut d'abord définir l'intervalle où la fonction va prendre ses valeurs. Ici, nous prenons [0;2\pi]\; et un pas de 0.05 entre chaque valeurs:

octave> x = [0:0.05:2*pi];

Ensuite, grâce à la fonction "plot()", nous pouvons dessiner la fonction cosinus:

octave> plot(x,cos(x))

On peut aussi crée des graphiques de fonction discrète avec la fonction "stem":

octave> stem(x,cos(x))

Pour dessiner des fonctions il est possible d'utiliser la commande "fplot". On commence par définir la fonction que l'on veut tracer (ici f(x)=e^{-\cos(x)}\,):

octave> function [y] = mafonction(x)
> y = exp(-cos(x));
> endfunction

Ensuite on utilise fplot en passant en argument le nom de la fonction et l'intervalle sur lequel on veut la tracer :

octave> fplot("mafonction",[0,10])

[modifier] Dessiner une courbes en trois dimensions

Nous allons prendre comme exemple le dessin d'une spirale en trois dimension (un ressort). Il faut d'abort paramétrer la courbe :

octave> t = 0:0.1:30;
octave> x = t;
octave> y = sin(t);
octave> z = cos(t);

Ensuite grâce à la commande "plot3()" on dessine la courbe:

octave> plot3(x,y,z)

On obtient le résultat suivant :

Exemple de tracé en 3D avec Octave

[modifier] Dessiner une surface

Nous allons dessiner la surface d'équation z = \sin(\sqrt{x^2 + y^2})

Dans un premier temps nous définisons la surface de départ avec la fonction "meshgrid()" ici nous prenons un carré de côté 5 et de 0.1 entre chaque point:

octave> [x,y] = meshgrid(-5:0.1:5);

Puis nous définissons z:

octave> z = sin(2.*(x.^2 + y.^2).^(1/2));

Enfin nous desssinons la surface:

octave> mesh(z)
Voici la surface obtenue