Académique Documents
Professionnel Documents
Culture Documents
> f:=x->x+sin(x);
f := xxsin( x )
Lutilisateur accdera aux valeurs dune fonction en utilisant la syntaxe usuelle des
mathmaticiens.
> f(Pi/2);
1
1
2
> evalf(Pi/2);
1.570796327
> evalf(Pi/2,3);
1.57
Signification
addition
soustraction
multiplication commutative
multiplication non commutative
division
Notation MAPLE
xy
k!
exponentiation
factorielle
unit imaginaire
constante mathmatique
constante mathmatique
symbole de linfini
x ^ y ou x ** y
k !
I ou sqrt(-1)
Pi
exp(1)
infinity
i ou
HAMMAMI Mohamed
x
x
x
A
x
+
*
.
/
y
y
y
B
y
Page 1
Programmation en MAPLE
exp
ln ou log
log10
log[b]
sqrt
n
surd(x,n)
x pour x et n impair
Valeur absolue
abs(x)
Partie entire
floor(x)
Fonctions trigonomtriques
cos, sin, tan, cot
Fonctions hyperboliques
cosh, sinh, tanh
Rciproques des fonctions trigonomtriques arccos, arcsin, arctan
Rciproques des fonctions hyperboliques
arccosh, arcsinh, arctanh
Fonction scante
sec(x)
Fonction coscante
csc(x)
Lexponentielle
Le logarithme nprien
Le logarithme dcimal
Le logarithme en base b
La racine carre
f
f
f
f
f
f
+ g
* g
/ g
@ g
@@ n
@@ (-1)
Somme
Produit
Quotient
Compose f g
Compose f
f (n fois).
Fonction rciproque
Exemple :
> f:=cos^2;g:=sin^2;
f := cos2
g := sin2
> h:=f+g;
> h(t);
h := cos 2sin2
cos( t )2sin( t )2
> simplify(%);
1
HAMMAMI Mohamed
Page 2
Programmation en MAPLE
> k:=exp@ln;
k := exp@ln
> k(x);
x
> exp@@(-1);
ln
Page 3
Programmation en MAPLE
local est un mot rserv et vl1, vl2, sont les variables locales utilises dans la
procdure. Cette ligne est optionnelle. Il est impossible de rappeler en dehors de la procdure
les valeurs prises par ces variables au sein de la procdure.
global est un mot rserv et vg1, vg2, sont les variables globales utilises dans la
procdure. Cette ligne est optionnelle. Les valeurs attribues ces variables peuvent tre
utilises en dehors de la procdure.
RETURN est un mot rserv permettant de retourner les sorties de la procdure sous forme
dune squence. Cette ligne est optionnelle. Par dfaut MAPLE renvoie le dernier calcul
effectu.
> Nomproc(arg1,arg2,...)
Pour rcuprer la squence des sorties dune procdure MAPLE, pour une ventuelle
utilisation il faut laffecter en une squence de variables.
>V1,V2, := Nomproc(arg1,arg2,...)
Exemples :
> X:=5;
X := 5
> ESSAI1();X;
4, 3
5
HAMMAMI Mohamed
Page 4
Programmation en MAPLE
Les instructions de la procdure sont traites dans un ordre squentiel. La variable X dfinie
lextrieur de la procdure nest pas modifie par la procdure bien que cette dernire utilise
une variable galement nomme X.
> ESSAI2:=proc(X::integer,Y::integer,n::posint)
seq(X+Y,k=1..n);
end proc;
> ESSAI2(8,-3,5);
5, 5, 5, 5, 5
> ESSAI2(8,-3,-3);
Error, invalid input: ESSAI2 expects its 3rd
argument, n, to be of type posint, but received -3
On remarque que par dfaut, MAPLE retourne le rsultat du dernier calcul.
> f:=x->x^0.6;L:=[1,2,3,4,5,6];
f := xx.6
L := [ 1, 2, 3, 4, 5, 6 ]
> ESSAI3(L);
Error, (in ESSAI3) illegal use of a formal parameter
On remarque que la modification des paramtres passs en entre est strictement interdite. (La
modification provoque une erreur lors de lappel).
> L:=ESSAI4(L);
L := [ 1., 1.515716567 , 1.933182045 , 2.297396710 , 2.626527804 , 2.930156052 ]
diffrent de
infrieur
suprieur
infrieur ou gal
suprieur ou gal
HAMMAMI Mohamed
Notation MAPLE
=
<>
<
>
<=
>=
Page 5
Programmation en MAPLE
> 2<5;
25
> evalb(2<5);
true
> evalb(0.5=1/2);evalb(exp(1/2)=exp(0.5));
true
false
> not(3<4);
false
-
Structures conditionnelles
if condition
fi;
then
instructions;
else
instructions;
HAMMAMI Mohamed
Page 6
Programmation en MAPLE
Cela peut en particulier servir pour dfinir les fonctions par morceaux.
> plot(f,-2..2,discont=true);
Noter que la commande piecewise permet aussi de dfinir les fonctions par morceaux.
> g:=x->piecewise(x>0,x+1,0);
g := xpiecewise( 0x, x1, 0 )
> diff(g(x),x);
0
undefined
x0
x0
0x
else instructions ; fi ;
HAMMAMI Mohamed
Page 7
Programmation en MAPLE
2. Boucles
-
for
compteur
from
debut
to
fin
by
pas
do
instructions ; od ;
Le compteur sincrmente avec un pas donn en allant de debut fin.
> S:=0;
for i from 2 to 10 by 2 do
S:=S+i;od:
S;
S := 0
30
> for i to 5 do
print(i);od;
1
2
3
4
5
N.B : si on ne prcise pas la fin, elle vaut (gare aux boucles infinies).
-
Tant quune condition (condition dentre) est vrifie, on rpte les instructions.
> k:=1;
while 2^k<=100 do
k:=k+1;od:
k;
k := 1
7
> 2^7;
128
HAMMAMI Mohamed
Page 8
Programmation en MAPLE
do
instructions ;
if condition then break fi ; od ;
N.B : en MAPLE il faut chaque fois tester la condition de sortie et interrompre lexcution
via la commande break en cas o la condition est vrifie.
> k:=0;
do
k:=k+1;
if 2^k>100 then break fi;od:
k;
k := 0
7
HAMMAMI Mohamed
Page 9