FONCTIONS MAPLE UTILES EN SCIENCES PHYSIQUES 1. Les

Transcription

FONCTIONS MAPLE UTILES EN SCIENCES PHYSIQUES 1. Les
Classe de MPSI
Cours d’informatique
FONCTIONS MAPLE UTILES EN SCIENCES
PHYSIQUES
1. Les procédures
1.1. Définition d’une procédure
La syntaxe de définition d’une procédure est la suivante:
Ident_proc:=proc(var_1,var_2,...,var_p)
local lvar_1,...,lvar_q;
global gvar_1,...gvar_r;
options seq-options;
instruct_1;
.../...
instruct_n;
end proc;
var_1,...,var_p sont les paramètres formels de la procédure. Ce sont des variables
muettes qui vont servir à décrire la procédure et qui seront remplacées par des valeurs effectives
(les arguments) lors de l’appel de la procédure.
local est un mot réservé et lvar_1,...,lvar_q sont les variables locales utilisées dans
la procédure. Cette ligne est optionnelle. Il est impossible de rappeler en dehors de la procédure
les valeurs prises par ses variables au sein de la procédure.
global est un mot réservé et gvar_1,...,gvar_r sont les variables globales utilisées
dans la procédure. Cette ligne est optionnelle. Les valeurs attribuées à ces variables peuvent être
utilisées en dehors de la procédure.
options est un mot réservé et seq_options est la séquence des options relatives à cette
procédure. Les options possibles sont remenber, trace, builtin, system, operator,
angle, arrow, package et Copyright (cf aide en ligne pour les explications). Cette ligne
est optionnelle.
La valeur retournée par la procédure est celle résultant de l’évaluation de la dernière expression
rencontrée au cours de l’exécution. Ce résultat peut être une expression, une séquence, une liste,....
Pour éviter l’affichage du résultat il suffit de retourner NULL ou bien utiliser : lors de l’appel.
Pour utiliser une procédure il suffit de de taper Ident_proc(var_1,var_2,...,var_p).
Le nombre des arguments n’est pas imposé mais il doit être supérieur ou égal au nombre de
paramètres.
Les paramètres ne sont pas indispensables.
Cours d’informatique
Fonctions MAPLE utiles en sciences physiques
page 2/2
1.2. Commandes utiles lorsque la procédure a un nombres d’arguments
variables
var_1,...,var_p sont les arguments de la procédure.
args :cette commande permet de rappeler la liste d’arguments que contient une procédure
lorsque ce nombre n’est pas fixé par avance.
nargs :cette commande donne le nombre d’arguments que contient une procédure.
args[i] :cette commande permet de rappeler le ième argument de la procédure.
args[i..j] :cette commande permet de rappeler le ième jusqu’au jème argument de la
procédure.
Remarque :
Dans le même esprit, des commandes similaires existent pour les listes :
op :cette commande permet de rappeler la liste d’arguments que contient une liste lorsque ce
nombre n’est pas fixé par avance.
nops :cette commande donne le nombre d’arguments que contient une liste.
op(i) :cette commande permet de rappeler le ième argument de la liste.
ops(i..j) :cette commande permet de rappeler le ième jusqu’au jème argument de la liste.
2. Résolution d’équations
2.1. Equation à une inconnue
On résout une équation à une inconnue en utilisant la fonction solve.
> solve(eq=a,x) ; #eq=a étant l’équation à résoudre et x la variable
> solve(x^3+lambda*x+1,x) ;#on peut résoudre des équations avec des
paramètres
Remarque :
Pour garder la solution trouvée par MAPLE, il faut utiliser la fonction assign(,,) ou
assign(solve(…)).
> assign(solve(eq=a,x)) ;# Maple ne renvoie rien
> x ;# Maple renvoie la solution stockée dans la variable x
Lorsque que l’on veut libérer une variable de sa valeur, il faut utiliser la commande unassign(x).
2.2. Systèmes d’équations
La syntaxe est semblable à la syntaxe précédente. Il faut déclarer le système d’équation en mettant les
équations entre des accolades. De même, il faut mettre les variables entre des accolades.
Cours d’informatique
Fonctions MAPLE utiles en sciences physiques
page 3/2
>eqs :={ax+by=c,dx+ey=f} ;vars :={x,y} ;
>solve(eqs,vars) ;
Il est aussi possible de résoudre un système d’équations différentielles. Il faut alors remplacer la
commande solve(…) par dsolve(…).
Remarque :
Pour garder la solution trouvée par MAPLE, il faut utiliser la fonction assign(,,) ou
assign(solve(…)).
2.3. Inéquations
La fonction solve permet de résoudre les inéquation.
Exemple :
>solve(x**3+2*x-3<1+4*x-3*x**2,x) ;
3. Dérivation des fonctions
Il existe une fonction qui permet de dériver directement des fonctions. La syntaxe est :
> diff(f(x),x) ;
> diff(f(x),x$n) ; #permet de dériver n fois la fonction f(x)
Exemples :
> diff(sin(x),x) ;diff(sin(x),y) ;diff(sin(x),x$3) ;
> diff(f(x),x,y) ;
f’’(x)
On peut aussi dériver des fonctions à plusieurs variables.
Exemples :
> diff(f(x,y),x,y) ; diff(f(x,y),x,y)-diff(f(x,y),y,x) ;
> diff(g(x,y,z),x,z,z) ;
La commande Diff(f(x),x) permet seulement d’écrire la dérivée de f(x) sans lui associer sa
valeur littérale ou numérique.
Remarque :
Il peut être utile lorsque l’on veut entrer des conditions initiales ou aux limites lors de la résolution
d’un système d’équations différentielles de poser que la fonction dérivée vaut en un point déterminé une
valeur connue. Il faut alors écrire :
> D(f)(0) ; # Cette commande donne en zéro la valeur de la dérivée
de la fonction f
4. Les tracés en 2 dimensions
4.1 Courbes du type y = f(x)
4.1.1. Représentation graphique d’une expression
Etant donné un expression p dépendant d’une seule variable x, ainsi que deux valeurs numériques a et
b vérifiant a<b, l’évaluation de plot(p,x=a..b) trace la représentation graphique de p pour x allant
de a à b. Ce tracé apparaît soit dans une fenêtre graphique, soit directement dans la feuille de calcul.
4.1.2. Représentation graphique d’une fonction
Pour représenter graphiquement la courbe y = f(x) pour x variant de a à b, on peut utiliser soit
plot(f(x),x=a..b) soit plot(f,a..b).
Cours d’informatique
Fonctions MAPLE utiles en sciences physiques
page 4/2
4.1.3. Tracé simultané de plusieurs courbes
Si p1,p2,.....pk sont k expressions dépendant de la seule variable libre x, l’évaluation de
plot({p1,p2,....,pk},x=a..b) permet d’obtenir sur un même dessin les représentations
graphiques de p1,p2...pk pour x allant de a à b.
Si on désire représenter graphiquement une famille de fonctions ft dépendant d’un paramètres t réel, il
faut définir ft comme une fonction de t, et de tracer la fonction pour des t bien déterminés. On est alors
ramener au cas précédent.
4.1.4. Utilisation de plots[display]
Les tracés sont des expressions MAPLE comme les autres, on peut donc les affecter à une variable.
L’appel ultérieur de cette variable affichera son contenu c’est à dire le tracé. Il est possible par cette
méthode de tracé simultanément plusieurs courbes en utilisant la fonction display du package plots.
>f:=plot(sin(x),x=0..2*Pi):
>g:=plot(cos(x),x=0..2*Pi):
>plots[display]({f,g});
4.1.5. Utilisation de plots[odeplot]
La commande plots[odeplot] permet de tracer des solutions provenant d’une résolution d’une
équation différentielle, ou d’un système d’équations différentielles de la commande dsolve( ,
type=numeric)
Exemple :
> with(plots):
> p:= dsolve({D(y)(x) = y(x), y(0)=1}, y(x),type=numeric):
> odeplot(p,[x,y(x)],-1..1 ):
> p := dsolve({ diff(y(x),x) =
sin(x*y(x)),y(0)=2},y(x),type=numeric):
> odeplot(p,[x,y(x)],0..6,labels=[x,y]):
> sys := diff(y(x),x)=z(x),diff(z(x),x)=y(x): fcns := {y(x), z(x)}:
> p:= dsolve({sys,y(0)=0,z(0)=1},fcns,type=numeric):
> odeplot(p, [x,y(x)], -4..4, numpoints=25):
4.1.6. Utilisation de plots[contourplot] ou plots[contourplot3d]
La commande plots[contourplot] permet de faire des tracés de contours en dimension deux et
plots[contourplot3d] pour les tracés à trois dimensions.
> contourplot(expr1,x=a..b,y=c..d)
4.1.7. Utilisation de plots[fieldplot]
La commande plots[fieldplot](…) permet de tracer un champ de vecteurs à deux dimensions.
> with(plots):
> fieldplot( [x/(x^2+y^2+4)^(1/2),-y/(x^2+y^2+4)^(1/2)],x=-2..2,y=2..2);
> fieldplot([y,-sin(x)-y/10],x=-10..10,y=-10..10,arrows=LINE, color
= x);
4.1.8. Tracé d’une séquence ou une liste de points
La commande PLOT[POINTS]([x1,y1],[x2,y2],…,[xn,yn]) permet de tracer une série de
points.
4.1.9. Tracé d’une ligne brisée liant une liste de points
Cours d’informatique
Fonctions MAPLE utiles en sciences physiques
page 5/2
La commande PLOT(CURVES([([x1,y1],[x2,y2],…,[xn,yn]]) permet de tracer une ligne
brisée liant une liste de points.
4.2. Courbes paramètrées en coordonnées cartésiennes
Si f et g sont deux fonctions d’une variable alors plot([f,g,u0..u1])
plot([f(u),g(u),u=u0..u1]) permet de tracer x = f(u) et y = g(u).
ou
4.3. Courbes en polaires
Si p et q sont deux expressions de la seule variable libre u, alors l’évaluation de
plot([p,q,u=u0..u1],coords=polar) permet de tracer la courbe représentée
paramètriquement en coordonnées polaires par r=p et θ=q pour u variant de u0 à u1.
4.4. Courbes définies de façon implicite
Si on désire tracé la courbe définie par la fonction implicite f(x,y) = 0, on utilise l’instruction
implicitplot(f(x,y)=0,x=a..b,y=c..d).
4.5. Les options de l’intruction plot
Un certain nombre d'options permet de personnaliser le tracé, voici les principales.
Scaling : deux choix possibles: CONSTRAINED qui assure un repère orthonormé ou
UNCONSTRAINED. Valeur par défaut: UNCONSTRAINED.
axes : type des axes: FRAME,BOXED,NORMAL,OU NONE.
coords=polar : Indique qu'un tracé paramétrique utilise les coordonnées polaires.
numpoints=n : spécifie le nombre de points minimum du tracé. Valeur par défaut: 49.
resolution=n : donne la résolution de l'affichage en pixels (horizontal). La valeur par défaut est
200.
color=n : permet de fixer la couleur du tracé.
xtickmarks=n : représente le nombre minimal de graduations de l'axe horizontal.
ytickmarks=n :représente le nombre minimal de graduations de l'axe vertical.
style=s :définit la méthode d'interpolation; les choix possibles sont:
- POINT tracé point par point,
- LINE interpolation linéaire,
- PATCH pour les polygones (dimension 3).
discont=s : à n'utiliser que sur des expressions, fait appel à la routine discont qui détermine les
discontinuités de la fonction définie par l'expression et divise l'intervalle de tracé en des sousintervalles où cette fonction est continue.
title=t : permet d'ajouter un titre au tracé.
thickness=n : détermine l'épaisseur du trait, n peut prendre les valeurs 0, 1, 2, ou 3. Par défaut n
vaut 0.
D'autres options sont disponibles, par exemple symbol=s pour les tracés point par point, view...
Pour plus d'informations se rapporter à l'aide de MAPLE plot [options].
5. Les tracés en trois dimensions
5.1.Tracé de courbe dans l’espace
Pour tracer la courbe définie par trois fonctions f, g et h d’une variable on utilise l’instruction
spacecurve([f(t),g(t),h(t),t=tmin..tmax]).
Cours d’informatique
Fonctions MAPLE utiles en sciences physiques
page 6/2
5.2. Tracé de surface
Il suffit de remplacer plot() par plot3d().
5.3. Les options de l’intruction plot3d
Certaines options de l’intruction plot sont directement utilisables, comme scaling, axes, title,
color avec les mêmes valeurs.
D'autres comme numpoints sont liés à de nouvelles options, exemple grid qui joue sur le nombre
de points calculés.
tickmarks= [l,n,m], labels= [x,y,z] permettent de personnaliser les axes.
L'option style offre les choix suivants: POINT, HIDDEN, PATCH, WIREFRAME, CONTOUR, PATCHNOGRID,
PATCHCONTOUR, LINE.
Ces divers styles sont directement accessibles en cliquant sur les boutons de la barre d’outils de la
fenêtre graphique de MAPLE.
Quelques options supplémentaires:
coords=c : spécifie le système de coordonnées utilisé: CARTÉSIEN,SPHERICAL, CYLINDRICAL. Par
défaut : Cartésien.
projection=r : permet de définir sous quelle perspective est vue la surface : FISHEYE, NORMAL et
ORTHOGONAL.
orientation=[theta, phi ] : définit l'angle de vue.
view=zmin..zmax ou [xmin..xmax,ymin..ymax,zmin..zmax] : indique la partie de
surface représentée. Par défaut: la surface entière.
shading=s : permet de spécifier comment est coloriée la surface.
light=[phi,theta,r,g,b] : ajoute une source lumineuse, dont on indique la direction et
l'intensité des couleurs de base.
Pour plus d'informations voir l'aide de MAPLE plot3d[options].
6. Divers
6.1 La commande assume
La commande assume(x,prop) permet de contrainte la variable x avec la propriété prop.
> assume(x>0) ;
Les variables contraintes apparaissent alors avec un tilde
> x~ ;
6.2 La commande subs
La commande subs(x=a,expr) permet de subsistuer la valeura à la variable x.
6.3 La commande unapply
La commande unapply(expr,x,y,..) permet de transformer une expression de x et de y en
fonction de x et de y.
Cours d’informatique
Fonctions MAPLE utiles en sciences physiques
page 7/2
FONCTIONS MAPLE UTILES EN SCIENCES PHYSIQUES.........................................................................................1
1. LES PROCEDURES ..............................................................................................................................................................1
1.1. Définition d’une procédure ......................................................................................................................................1
1.2. Commandes utiles lorsque la procédure a un nombres d’arguments variables ......................................................2
2. RESOLUTION D’EQUATIONS ...............................................................................................................................................2
2.1. Equation à une inconnue .........................................................................................................................................2
2.2. Systèmes d’équations ...............................................................................................................................................2
2.3. Inéquations...............................................................................................................................................................3
3. DERIVATION DES FONCTIONS ............................................................................................................................................3
4. LES TRACES EN 2 DIMENSIONS ..........................................................................................................................................3
4.1 Courbes du type y = f(x)............................................................................................................................................3
4.2. Courbes paramètrées en coordonnées cartésiennes ................................................................................................5
4.3. Courbes en polaires .................................................................................................................................................5
4.4. Courbes définies de façon implicite .........................................................................................................................5
4.5. Les options de l’intruction plot ................................................................................................................................5
5. LES TRACES EN TROIS DIMENSIONS ...................................................................................................................................5
5.1.Tracé de courbe dans l’espace..................................................................................................................................5
5.2. Tracé de surface.......................................................................................................................................................6
5.3. Les options de l’intruction plot3d ............................................................................................................................6
6. DIVERS .............................................................................................................................................................................6
6.1 La commande assume ...............................................................................................................................................6
6.2 La commande subs ....................................................................................................................................................6
6.3 La commande unapply ..............................................................................................................................................6

Documents pareils