i 1
10
1
+ i 1
> sum(1/(i+1),i=1..10);
55991
27720
Expand nest pas une instruction de Maple, mais expand oui.
> expand((x+y)^5);
+ + + + + x
5
5 x
4
y 10 x
3
y
2
10 x
2
y
3
5 x y
4
y
5
> Expand((x+y)^5);
( ) Expand ( ) + x y
5
La variable A est diffrente de la variable a.
> restart:A:=3;
:= A 3
> a;
a
7 Packages:
Toutes les fonctions dfinies dans Maple ne peuvent tre prsentes en mme temps dans la mmoire
de lordinateur. Les plus utilises sont charges doffice au dmarrage de Maple avec le noyau
(Kernel), la plus grande partie du savoir de Maple rside dans les packages qui sont des
regroupements de nouvelles fonctionnalits dans un domaine donn. Plusieurs packages font partie
intgrante du logiciel. Consulter le help par linstruction : > ?index,packages
Exemples :
geometry Gomtrie euclidienne
linalg Algbre linaire
plots Reprsentations graphiques
Maple ne sait quoi
faire avec Expand
!
A na pas de valeur
Maple
CPGE Khouribga 9 Professeur : SEHMAOUI
Pou pouvoir utiliser tout ou une partie dun package on utilise linstruction (with) exemple :
>with(linalg) : #pour charger toutes les fonctions du package linalg sans renseignement.
> with(linalg) ; #pour charger et voir la liste de toutes les fonctions disponibles dans le package.
Par la suite on peut utiliser nimporte quelles fonctions de ce package.
Exemple :
> A := matrix(3,3, [x,1,0,0,0,1,x*y,y,1]);
> rank(A);# donne le rang de la matrice A
>restart : A := matrix(3,3, [x,1,0,0,0,1,x*y,y,1]); rank(A);
Que remarquez- vous ?
On peut charger une fonction dun package pour une unique utilisation seulement c.--d. la fonction
ne sera plus charge aprs lexcution :
Exemple :
> M :=Matrix([[2,3,1],[4,5,-5],[4,-5,0]]);
:= M
]
]
]
]
]
]
]
2 3 1
4 5 -5
4 -5 0
> linalg[rank](M);
3
> rank(M);
|
.
`
,
rank
]
]
]
]
]
]
]
2 3 1
4 5 -5
4 -5 0
> linalg[det](M);
-150
> det(M);
|
.
`
,
det
]
]
]
]
]
]
]
2 3 1
4 5 -5
4 -5 0
Maple
CPGE Khouribga 10 Professeur : SEHMAOUI
II Calculs usuels de type arithmtique ou flottant
1 Les variables dans Maple :
Les noms servent former des mots, des messages ou a nommer des objets /variables. On rappelle
que Maple diffrencie les majuscules des minuscules.
Un nom dune variable dbute en gnral par une lettre suivie par des lettres ou des chiffres. Le
caractre de soulignement _ peut galement figurer dans un nom, nimporte quelle position. Mais
on vitera de le placer au dbut. Un objet peut tre conserv dans la mmoire de lordinateur en lui
affectant une valeur, On peut ensuite faire rfrence lobjet en utilisant le nom de la variable.
Exemples correctes: a, note, Solde1, Prix_unitaire, somme, PrixBrut, .
Exemples non correctes : (fonctions et constantes sont protges par Maple)
2 Manipulation dexpressions :
On peut en fait former un nom avec des caractres quelconques notamment des espaces, ou des
caractres particuliers comme *, ?, +,etc. Il suffit de dbuter et terminer le nom par le caractre
(accent grave) ( ` ) (AltGr+7), il est mme possible dutiliser ce caractre dans le nom
condition de le doubler .
Exemple :
> `expand 1`:=3; expand 1:=3
> `* L``intret *`:=8; * L``intret *:=8;
3 Assignation, ds-assignation et indexation
Lopration qui consiste associer un rsultat un nom est lassignation (ou affectation) ,
exemples :
Les variables somme, produit, trouve sont affectes.
> somme:=4;
:= somme 4
Maple
CPGE Khouribga 11 Professeur : SEHMAOUI
> produit:=50;
:= produit 50
> trouve:=true;
:= trouve true
La variables solde est non affectes
> solde;
solde
>
Pour ds-assigner un nom comme somme, on excutera linstruction : > somme:='somme'; on
notera lutilisation des apostrophes, ce qui aura pour consquence que le nom somme retrouve son
statut de variable formelle.
> somme:=4; assigner somme#
:= somme 4
> somme;
4
> somme:='somme';# dsassigner somme = librer cette variable
somme
:= somme somme
> somme;
somme
Remarque: Linstruction restart permet de redmarrer la session de travail et de ds-assigner tous
les noms de variables quun utilisateur aurait crs.
Variables indexes :
Soit L une liste dlments,
> L:= [1,4,8,20];
:= L [ ] , , , 1 4 8 20
> L[2]
4
Les valeurs L[0] et L[5] ne sont pas dfinies.
> L[5];
Error, invalid subscript selector
Maple
CPGE Khouribga 12 Professeur : SEHMAOUI
4 Lettres grecques
Les lettres grecques sont saisies sous la forme alpha, beta, gamma, lambda, mu, epsilon, pi, etc.
mais Maple les affiches avec le caractre correspondant grec.
Par exemple :
> alpha;
Taper :
> alpha, beta, delta, gamma, lambda, epsilon, mu, nu, pi, phi, rho,
sigma, theta;
, , , , , , , , , , , ,
(Utiliser la palette symbole) view\palettes
5 Les nombres :
5.1 : Nombres entiers :
Maple effectue des calculs sur des nombres relatifs de manire exacte avec autant de chiffres que
ncessaire.
Rappelons quun entier long peut tre dcoup en tranches par des caractres \ :(AltGr+8).
Exemples :
> A:=11\
22;
:= A 1122
> 7777777777777777777777777777*8888888888888888888888888;
69135802469135802469135795548641975308641975308641976
> a:=44444444444444444444444444444444\
55555555555555555555555555\
777777777777777777777777777;
44444444444444444444444444444444555555555555555555555555557777777777 \
77777777777777777
> a^2;
19753086419753086419753086419753185185185185185185185185187160493950 \
61728395061728394370370864197530864197530864197534074074074074074 \
0740740740395061728395061728395061729
Opration lmentaires :
Factoriel dun entier :
> factorial(5), 5!;
Maple
CPGE Khouribga 13 Professeur : SEHMAOUI
, 120 120
Dcomposition en facteurs premiers :
> ifactor(286484);
( ) 2
2
( ) 11 ( ) 17 ( ) 383
Pgcd et ppmc de deux entiers :
>igcd(25488,23624);
>ilcm(254,23,14);
8
40894
Nombre premier :
-isprime : retourne vrai si le nombre est premier :
> isprime(1234567);
false
> isprime(15485863);
true
>
-nextprime(n): retoune le plus petit nombre premier suprieur n.
> nextprime(234);
239
-ithprime(k): retoune le k ime nombre premier.
> ithprime(100);
541
Quotient et reste de division euclidienne :
> iquo(254,22);
11
>irem(254,22);
12
Conversion de la base 10 vers la base 3 :
> convert(257,base,2);
[ ] , , , , , , , , 1 0 0 0 0 0 0 0 1
Conversion de la base 6 vers la base 4 :
> convert([5,4],base,6,4);
[ ] , , 1 3 1
Conversion de la base 10 vers le binaire (base=2)
> convert(9, binary);
1001
Construction d'un entier alatoire 12 chiffres:
> rand();rand();
Maple
CPGE Khouribga 14 Professeur : SEHMAOUI
920624947349
951053530086
Construction dun entier alatoire compris entre 0 et 10 ;
> x:=rand(0..10):
> x();x();
2
8
5.2 : Nombres rationnels :
Les nombres rationnels sont les quotients
a
q
b
de deux entiers relatifs, b tant non nul. Quand un
tel rationnel est valu, il est automatiquement simplifi en entier si b divise a ou en
c
d
avec c et d
tant premiers entre eux.
Exemples :
> 24/8, 16/12, 2/3+9/12, 5/11*4/5, 4/7/2/3;
, , , , 3
4
3
17
12
4
11
2
21
Numrateur et dnominateur d'une fraction:
> nombre:=3/5+6/8;
numrateur:=numer(nombre);
dnominateur:=denom(nombre);
:= nombre
27
20
:= numrateur 27
:= dnominateur 20
5.3 : Nombres rels et Evaluation force au format rel:
Un nombre au format rel sil contient un point dcimal, ventuellement la fin : par exemple :
5.est un nombre rel alors que 5 est un nombre entier.
> 5/2;
5
2
> 5./2;
2.500000000
Les calculs sur les nombres rels peuvent tre effectus avec autant de dcimales que ncessaire,
cela dpend de la variable Digits (attention la majuscule D) qui dsigne le nombre de dcimales
utiliser. Par dfaut Digits=10, mais on peut modifier cette valeur tout moment.
On peut crer un nombre rel par Float (mantisse, exposant) ce qui produit le nombre rel
matisse*10
exposant
.
> Float(4,3);
Maple
CPGE Khouribga 15 Professeur : SEHMAOUI
4000.
Il est possible de forcer le passage en format rel dune expression dont la valeur est entire ou
rationnelle, ou qui contient des constantes comme Pi par exemple. On utilise pour cela linstruction
evalf (qui veut dire :eval to floot) ou evalf(expression,n) si on veut une valuation avec n
dcimales.
> evalf(Pi);
3.141592654
> evalf(Pi,20);
3.1415926535897932385
> Digits;
10
> Digits:=30;
:= Digits 30
> evalf(Pi);
3.14159265358979323846264338328
> evalf(sin(2),50);
0.90929742682568169539601986591174484270225497144789
> evalf((14/3+5/7)*5,4);
26.90
5.4 : Nombres complexes :
Maple nomme I (attention la majuscule) le complexe de module 1 et argument
2
.
Un nombre complexe est alors une expression a+b*I, o a et b sont des rels ou rationnels.
> I:=5; # I est protge par Maple
Error, illegal use of an object as a name
> I^2;
-1
> sqrt(-3);
3 I
> a:=3+2*I;b:=sqrt(2)+(2/3)*I;
:= a + 3 2 I
:= b + 2
2
3
I
> whattype(a);
complex
> a+b;
+ + 3
8
3
I 2
> (2+3*I)*(3*I-1);
+ -11 3 I
On peut utiliser aussi les fonctions Complex, Im et Re:
Maple
CPGE Khouribga 16 Professeur : SEHMAOUI
> Complex(4);
4 I
> Complex(5,3);
+ 5 3 I
> Im(a);# donne la partie imaginaire d'un complexe
2
> Re(a);# donne la partie relle d'un complexe
3
Maple
CPGE Khouribga 17 Professeur : SEHMAOUI
III- Dveloppement et factorisation des polynmes :
Les polynmes sont pour MAPLE des expressions comme les autres si ce n'est qu'elles
possdent aussi le type polynom.
Le type de base est cependant + puisque l'expression d'un polynme est avant tout une
somme.
Dfinissons deux expressions polynomiales
> restart;
p1:=x^3+5*x^2+8*x+4;
p2:=x^4-9*x^n+23*x^2-3*x-36;
:= p1 + + + x
3
5 x
2
8 x 4
:= p2 + x
4
9 x
n
23 x
2
3 x 36
Ces deux expressions sont bien du type "somme" (`+`)
> whattype(p1) , whattype(p2);
, + +
Vrifions que se sont bien des polynmes
> type(p1,polynom) , type(p2,polynom);
, true false
??? En effet on a crit x
n
au lieu de x
3
. Les exposants doivent tre des entiers numriques
positifs ou nuls.
Corrigeons par substitution
> p2:=subs(x^n=x^3,p2);
type(p2,polynom);
:= p2 + x
4
9 x
3
23 x
2
3 x 36
true
On peut calcule le produit de deux polynmes :
>p3:= p1*p2;
( ) + + + x
3
5 x
2
8 x 4 ( ) + x
4
9 x
3
23 x
2
3 x 36
Avec la fonction expand on peut dvelopper lexpression de p3:
> expand(p3);
+ + x
7
4 x
6
14 x
5
44 x
4
97 x
3
112 x
2
300 x 144
Il existe de nombreuses oprations possibles sur les expressions polynomiales comme :
- La mise sous une forme ordonne par degr dcroissant d'un polynme avec la fonction
sort :
> restart;
q:=2*x^2-4*a*x^3+x^4-1-3*x;
:= q + 2 x
2
4 a x
3
x
4
1 3 x
> q:=sort(2*x^2-4*a*x^3+x^4-1-3*x);
:= q + x
4
4 x
3
a 2 x
2
3 x 1
> q;
>
+ x
4
4 x
3
a 2 x
2
3 x 1
Maple
CPGE Khouribga 18 Professeur : SEHMAOUI
- La recherche avec la fonction coeff du coefficient d'un terme de degr donn
> coeff(q,x,4),coeff(q,x,3),coeff(q,x,0);
, , 1 4 a -1
- Obtenir le degr d'un polynme et son degr infrieur par : degree et ldegree
> degree(x^4-3*x^8-x^6), ldegree(x^4-3*x^8-x^6);
, 8 4
- On peut tester si le polynme P divise le polynme Q par la fonction divide :
> restart; P:=x^2-5*x+4; Q:=x-1;
:= P + x
2
5 x 4
:= Q x 1
> divide(P,Q,x);
true
On cherche les polynomes Q et R pour que A=B.Q+R
> restart:P:=x^3-5*x^2+4;
B:=x+2;
Q:=quo(P,B,x);
R:=rem(P,B,x);
:= P + x
3
5 x
2
4
:= B + x 2
:= Q + x
2
7 x 14
:= R -24
> Q*B+R;expand(%);
( ) + x
2
7 x 14 ( ) + x 2 24
+ x
3
5 x
2
4
- On peut aussi dvelopper et factoriser les polynmes:
> G:=(x+4)*(5*x+10);
:= G ( ) + x 4 ( ) + 5 x 10
> expand(G);
+ + 5 x
2
30 x 40
> factor(5*x^2+30*x+40);
5 ( ) + x 4 ( ) + x 2
- On peut aussi factoriser sur C (lensemble des complexes)
> restart:H:=x^2+4;
:= H + x
2
4
> factor(H);
+ x
2
4
> factor(H,complex);
Maple
CPGE Khouribga 19 Professeur : SEHMAOUI
( ) + x 2.000000000 I ( ) x 2.000000000 I
- On peut substituer un oprande laide des fonctions subs et subsop.
>Subs(ancien oprande = nouvel oprande, expression) ;
>Subsop(rang de loprande=nouvel valeur, expression) ;
> restart:
q2:=a+b+c;
q2:=subs( b=y, q2 );
:= q2 + + a b c
:= q2 + + a y c
> q2;
+ + a y c
> q2:=subsop(1=n,q2);
:= q2 + + n y c
> q2;
+ + n y c
-La fonction collect permet de regrouper les coefficients suivant les puissances d'une
variable choisie.
> restart:q3:=expand((x-a*y)*(x-a*y)^3+b*x^2-x*(a*x*y+b*x)-a*(y-
1)+a);
:= q3 + + + x
4
4 a x
3
y 6 x
2
a
2
y
2
4 x a
3
y
3
a
4
y
4
a x
2
y a y 2 a
> collect(q3,y);
+ + + + a
4
y
4
4 x a
3
y
3
6 x
2
a
2
y
2
( ) 4 a x
3
a a x
2
y x
4
2 a
> collect(q3,x);
+ + + x
4
4 a x
3
y ( ) + a y 6 a
2
y
2
x
2
4 x a
3
y
3
a
4
y
4
a y 2 a
>
> collect(q3,a);
+ + + a
4
y
4
4 x a
3
y
3
6 x
2
a
2
y
2
( ) + 4 x
3
y y 2 x
2
y a x
4
Maple
CPGE Khouribga 20 Professeur : SEHMAOUI
VI- Les fonctions :
1 Rappel :
Voir le tableau de la page : 7 pour les fonctions prdfinis de Maple.
Simplement une fonction est un objet f qui agit sur des arguments pour renvoyer un rsultat
f (arg
1
,, arg
n
) reprsente limage par f de la squence darguments arg
1
,,arg
n.
Un nombre peut tre considr comme une fonction constante :
> x:=2; x(4), x(2,6);
:= x 2
, 2 2
2 Sommes et produits :
La fonction sum permet de sommer les expressions (expr(i) )pour i variant de i_min au i_max.
La fonction Sum (S en majuscule) permet dobtenir la forme inerte.
>sum(exp(i),i=i_min..i_max) ;
> Sum(k^3,k=1..n)=factor(sum(k^3,k=1..n));
k 1
n
k
3
n
2
( ) + n 1
2
4
On peut approximer la valeur de e par :
> Sum(1/k!,k=0..1000)=evalf(sum(1/k!,k=0..1000));
k 0
1000
1
! k
2.718281828
> Sum(1/k^4,k=1..infinity)=sum(1/k^4,k=1..infinity);
k 1
1
k
4
4
90
La fonction product ralise le produit des expressions (expr(i), i variant de i_min i_max, la
fonction Product (avec P en majuscule) permet de donner la forme inerte.
> Product(k^2/(k+1),k=1..20)=product(k^2/(k+1),k=1..20);
k 1
20
k
2
+ k 1
115852476579840000
3 Comment dfinir des fonctions personnalises ? :
Le nombre de fonctions intgres Maple est important, mais on a souvent besoin de dfinir ses
propres fonctions. La syntaxe est :
- pour une fonction dune seule variable :
> f :=var->expr; # (->):les signes moins et suprieur
- pour une fonction de n variables :
> f :=(var
1
,,var
n
)->expr;
> f:=x->x^3+5*x+4;
:= f x + + x
3
5 x 4
Maple
CPGE Khouribga 21 Professeur : SEHMAOUI
> f(0), f(1), f(-2);
, , 4 10 -14
> g:=(x,y)->x*y+x-y;
:= g ( ) , x y + x y x y
> g(0,0), g(5,2), g(-4,-8);
, , 0 13 36
> h:=x->x^2+5*x+4;solve(h(x));
:= h x + + x
2
5 x 4
, -1 -4
> factor(h(x));
( ) + x 4 ( ) + x 1
> estart:g:=x->sqrt(x^2);
:= g x x
2
> simplify(g(x),assume=real);
x
> simplify(g(x),assume=positive);
x
4 Fonctions dfinies par intervalles :
La fonction piecewise permet de dfinir une fonction partir de conditions sur diffrents
intervalles : piecewise(cond1,f1,cond2,f2,,condN,fN,f_autrement)
> f:=x->piecewise(x<0,exp(x),x<=4,x/4+1,2);
:= f x
|
.
`
,
piecewise , , , , < x 0 e
x
x 4 +
1
4
x 1 2
> f(-1),f(1),f(3),f(8);
, , , e
( ) -1 5
4
7
4
2
Extrama dune fonction : avec les fonctions minimise et maximize :
> minimize(x^2+x-3),maximize(-x^4+x^2+1);
,
-13
4
5
4
5 Oprateurs sur les fonctions :
* Loprateur @ arrobas permet de composer des fonctions :
> restart:
> f:=x->x^2+x;f(2);
:= f x + x
2
x
6
> g:=x->x^3;g(6);
:= g x x
3
Maple
CPGE Khouribga 22 Professeur : SEHMAOUI
216
> (g@f)(2);# les parenthses sont obligatoires.
216
> (f@g)(2);
72
> (g@f)(z);
( ) + z
2
z
3
> (f@g)(a);
+ a
6
a
3
* On utilise la syntaxe f@@n pour former ... f f f o o o
> restart:
> g:=x->x^3;
:= g x x
3
> h:=x->(g@@3)(x);
:= h g
( ) 3
> h(2);
134217728
6 Drivation.
La fonction diff permet de driver une fonction. (Voir aussi la fonction D).
> restart:
> g:=x->x^8+3*x^5;
:= g x + x
8
3 x
5
> diff(g(x),x);
+ 8 x
7
15 x
4
( ) ( ) g
( ) -1
8
> diff(diff(g(x),x),x);
+ 56 x
6
60 x
3
> diff(g(x),x$2);
+ 56 x
6
60 x
3
On Remarque bien que diff(g(x),x$2)= diff(diff(g(x),x),x)
> diff(g(x),x$8);# la drive 8ime
40320
7 Intgration.
La fonction int permet dintgrer une fonction. int(expr,x) et int(expr,x=a..b) ;
> > Int( sin(x), x ); # remarquer le Int avec I en majuscule
d
11
( ) sin x x
Maple
CPGE Khouribga 23 Professeur : SEHMAOUI
> int( sin(x), x ); # remarquer le int avec i en minuscule
( ) cos x
On peut aussi intgrer entre deux bornes a et b.
> Int( exp(-x^2)*ln(x), x=0..infinity )=int( exp(-x^2)*ln(x), x=0..infinity );
d
1
1
1
0
e
( ) x
2
( ) ln x x
4
1
2
( ) ln 2
On obtient alors sa valeur approche laide de la fonction evalf :
> Int( exp(-x^2)*ln(x), x=0..infinity )=evalf(int( exp(-x^2)*ln(x), x=0..infinity ));
d
1
1
1
0
e
( ) x
2
( ) ln x x -0.8700577270
> > Int( cos(x)^2, x=0..Pi/4)=int( cos(x)^2, x=0..Pi/4 );
d
1
1
0
4
( ) cos x
2
x +
1
4
8
Maple
CPGE Khouribga 24 Professeur : SEHMAOUI
V- Les limites et dveloppements asymptotiques :
1- Limite dune expression, dune suite, dune fonction somme dune
srie
Limites : avec la fonction limit(expr,x=a,option)
option=(left = gauche), (right = droite)
> limit(sin(x)/x,x=0);
1
> limit(1/x^3,x=0);
undefined
Utilisation de la forme inerte Limit.
> Limit(1/x^3,x=0,right)=limit(1/x^3,x=0,right);
lim
+ x 0
1
x
3
> q:=sum((1+i^2)/i^5,i=1..n);
:= q + + +
1
24
( ) , 4 + n 1
1
2
( ) , 2 + n 1 ( ) 5 ( ) 3
> limit(q,n=infinity);
+ ( ) 5 ( ) 3
> evalf(%);
2.238984658
2- Suites rcurrentes
Maple permet de trouver des rcurrences. Ainsi partir lexpression U
n+1
=f(U
n
) Maple peut trouver
une expression de la forme Un=g(n) qui ne ncessite plus le calcul des termes prcdents :
Pour trouver la forme rcurrente en utilise la fonction rsolve :
>rsolve({quations de rcurrences, conditions initiales},f(variable)) ;
> restart: # voir le help
rsolve({u(n)=u(n+1)-2*u(n-1),u(0)=1,u(1)=2},u(n));
2
n
> restart:
rsolve({f(n) = -3*f(n-1) - 2*f(n-2), f(1)=1,f(2)=1}, {f});
{ } ( ) f n + 3 ( ) -1
n
( ) -2
n
3- Dveloppements limits et asymptotiques
Les fonctions :
taylor(expression, var = point, ordre) ;Pour raliser des dveloppements limits ou de Taylor
series(expr, x=a, n) ou asympt(expr, x, n). Pour des dveloppements asymptotiques plus gnraux
Lordre n est facultatif et vaut 6 par dfaut.
Maple
CPGE Khouribga 25 Professeur : SEHMAOUI
le DL de sin(x) au voisinage de zero lordre 8 secrit:
> taylor(sin(x),x=0,8);
+ + x
1
6
x
3
1
120
x
5
1
5040
x
7
( ) O x
8
Pour rutiliser le dveloppement limit, il sera ncessaire de le convertir en polynme en utilisant la
fonction convert :
> P:=convert(taylor(sin(x),x=0),polynom);
:= P + x
1
6
x
3
1
120
x
5
> asympt(x/(1-x-x^2),x);
+ + +
1
x
1
x
2
2
x
3
3
x
4
5
x
5
|
.
`
,
O
1
x
6
> asympt(sum(1/k,k=1..n)-ln(n),n,10);#la constante d'Euler
+ + + +
1
2 n
1
12 n
2
1
120 n
4
1
252 n
6
1
240 n
8
|
.
`
,
O
1
n
10
> gamma=evalf(gamma);
0.5772156649
> taylor(sqrt(sin(x)), x=0, 4);
Error, does not have a taylor expansion, try series()
> series(sqrt(sin(x)), x=0, 4);
+ x
x
( ) / 5 2
12
( ) O x
( ) / 9 2
Leadterm donne le terme principal dune srie:
> series(leadterm(sin(x^3)/(2*x)),x=0);
1
2
x
2
Maple
CPGE Khouribga 26 Professeur : SEHMAOUI
VI- Rsolution formelle ou numrique dquations et de
systmes dquations.
1- Equation de degr quelconque :
Pour rsoudre lquation de degr n, on utilise la fonction solve :
>solve(a
n
x
n
+a
n-1
x
n-1
+a
1
x+a
0
,x) ;
Pours rsoudre lquation 4x
2
+5x-9=0, on entre:
> solve(4*x^2+5*x-6=0,x);
,
3
4
-2
La commande assume
La commande assume permet de prciser des conditions sur des variables. Par exemple si x est
positif, alors l'quation x
2
=4 a une seule solution x=2.
> solve(sqrt(x^2)=2);
, 2 -2
> assume(x>0);# x est positif
> solve(sqrt(x^2)=2);
2
> x:='x'; #Pour rtablir x comme variable sans valeur.
:= x x
> solve(sqrt(x^2)=2);# deux solutions nouveau.
, 2 -2
Maple peut rsoudre formellement une quation de degr infrieur ou gal trois :
> solve(a*x^2+b*x+c=0,x);
,
+ b b
2
4 a c
2 a
b b
2
4 a c
2 a
Si lquation est dfinie numriquement et ne comporte quune seule variable, on peut ne pas
spcifier expr=0 aussi par rapport quelle variable :
> solve(x^3+2*x^2+x+2=0,x);
, , -2 I I
> solve(x^3+2*x^2+x+2,x);
, , -2 I I
> solve(x^3+2*x^2+x+2);
, , -2 I I
Cherchons maintenant rsoudre lquation : xe
x
-1=0.
> solve(x*exp(x)=1,x);
( ) LambertW 1
> evalf(%);
0.5671432904
Maple
CPGE Khouribga 27 Professeur : SEHMAOUI
LambertW(x) est en fait dfinie comme tant lune des solutions de ye
y
=x, il faut alors rsoudre
numriquement lquation.
La rsolution numrique se fait avec la fonction fsolve :
>fsolve(quation,var,option) ;
> fsolve(x*exp(x)=1,x);
0.5671432904
> q := 3*x^4 - 16*x^3 - 3*x^2 + 13*x + 16:
fsolve(q, x);
, 1.324717957 5.333333333
> fsolve(q, x,1..2);
1.324717957
> fsolve(q, x,5..6);
5.333333333
Pour donner Maple le nombre maximum de solutions trouver en utilise la fonction maxsols:
> fsolve(x^5-2*x^4+2*x^3-3*x^2-2*x+2,x);
, , -0.7589676366 0.5934719689 1.911366223
> fsolve(x^5-2*x^4+2*x^3-3*x^2-2*x+2,x,maxsols=1);
-0.7589676366
> fsolve(x^5-2*x^4+2*x^3-3*x^2-2*x+2,x,maxsols=2);
, -0.7589676366 0.5934719689
Pour rsoudre les quations dans on utilise la fonction isolve :
> q:=x^3+1/2*x^2-13/2*x+3;
:= q + + x
3
1
2
x
2
13
2
x 3
> isolve(q,x);
, { } x 2 { } x -3
> solve(q,x);
, ,
1
2
2 -3
Remarque :
Lors de la rsolution dequations, il arrive que le rsultat soit exprim en utilisant la fonction
RootOf(expr), qui dsigne les racines de expr. Celles-ci ne sont pas toujours exprimables laide
des fonctions usuelles. On peut cependant utiliser
evalf(...) pour voir les racines exprimables ou des valeurs approches de ces racines.
> solve(x-cos(x)=0,x);
( ) RootOf + _Z ( ) cos _Z
> evalf(%);
0.7390851332
2- Systmes dquations :
Maple permet de rsoudre un systme dquations avec la mme fonction solve.
>solve({equa1, equa2, , equaN},{var1, var2, , varN}) ;
Pour rsoudre le systme :
Maple
CPGE Khouribga 28 Professeur : SEHMAOUI
3 1
5 2 0
x y
x y
+
'
+
On crit:
> solve({x+3*y=1,5*x+2*y=0},{x,y});
{ } , y
5
13
x
-2
13
Lquation peut tre de degr quelconque (ne pad dpasser la capacit du machine).
> solve({x^2+y^2-1=0,x+y+1=0},{x,y});
, { } , y 0 x -1 { } , y -1 x 0
Maple
CPGE Khouribga 29 Professeur : SEHMAOUI
VII- Commandes graphiques 2D
La premire fonction connatre cest plot :
plot(expression(var), var=min..max, options) ;
Cordonnes cartsiennes :
La courbe reprsentative de la fonction f telle que f(x)= x
2
sobtient par :
> plot(x^2,x);
On peut tracer cette courbe pour des valeurs choisies de x ou de y par :
> plot(x^2,x=-2..2);
> plot(x^2,x=-2..2,y=0..2);
On utilise les options :
color =name-color: pour choisir la couleur de la courbe.
thickness = n: pour changer lpaisseur de la courbe.
style=point or line pour choisir le style de la courbe en ligne ou points
> plot(cos(x)+sin(x), x=-Pi..Pi,color=[blue],thickness=4,style=line);
On peut galement tracer une expression ou une fonction dfinie par intervalles. On
notera que f est maintenant le nom d'une expression, d'o la syntaxe correcte de la
fonction plot.
> f:=piecewise(x<=1,exp(2*x),1+(1-exp(-x))+0.8*sin(5*x)*exp(x)):
plot(f,x=-2..4,thickness=3 );
Maple
CPGE Khouribga 30 Professeur : SEHMAOUI
Tracs dans le plan complexe
La fonction complexplot de plots permet d'obtenir la reprsentation dans le plan
complexe des valeurs d'une fonction valeurs complexes.
> > with(plots):
plots[complexplot](sin(t^2+I*t/2),t=0..3*Pi,color=blue);
On peut galement prsenter deux ou plusieurs courbes sur le mme graphe on utilise aussi: plot.
> plot([cos(x) + sin(x),cos(x),sin(x) -1],x=-
Pi..Pi,color=[blue,red,magenta] ,thickness=[1,2,3]);
On peut afficher plusieurs graphiques grce la fonction display du package plots.
> with(plots):
F:=plot(cos(x),x,color=red):
G:=plot(sin(x),x,color=blue):
Maple
CPGE Khouribga 31 Professeur : SEHMAOUI
display({F,G});
Courbe paramtre :
Pour tracer une courbe paramtre, taper la syntaxe :
>plot([x(t),y(t),t=min..max],options) ;
> plot([sin(t/5)-t/5, cos(t/5), t=-Pi..Pi],color=blue,thickness=5);
> plot([sin(t^2),cos(sqrt(t)),t=0..2*Pi],color=gold,thickness=5);
Cordonnes polaires :
Le trac dune courbe en coordonnes polaires sobtient par :
>plot(r(theta),theta=min..max,cords=polar,options);
>polarplot(
> plot([cos(4*x),x,x=0..2*Pi],coords=polar,thickness=3);
Maple
CPGE Khouribga 32 Professeur : SEHMAOUI
> with(plots):
polarplot([cos(t),sin(t)],t=0..2*Pi,color=blue);
> with(plots):
polarplot([cos(t),sin(t),t=0..2*Pi],color=blue);
Maple
CPGE Khouribga 33 Professeur : SEHMAOUI
VIII- Commandes graphiques 3D
On appelle tracs 3D des dessins de surfaces ou de courbes dans l'espace dans une reprsentation
perspective.
Il existe en 3D la fonction plot3d, qui permet qui permet de gnrer la pluparts des graphes..
Exemple dans les cordonnes cartsiennes :
>plot3d(expr(x,y),x=min1..max1,y=min2..max2,options) ;
> plot3d(sin(x)*sin(y),x=-Pi..Pi,y=-Pi..Pi);
Exemples dans les cordonnes cylindriques :
Pour tracer une courbe en coordonnes cylindriques, on utilise lune des fonctions : cylinderplot ou
bien plot3d (avec coords=cylindrical)
> with(plots):
cylinderplot(1,theta=0..2*Pi,z=-1..1);
> f := (5*cos(y)^2 -1)/3;
>plot3d(f, x=0..2*Pi,y=-Pi..Pi,coords=cylindrical,style=PATCH,
color = f);
> plot3d(exp(-sin(Pi*z)),phi=0..2*Pi,z=-2.2..0,
coords=cylindrical,grid=[40,50],orientation=[0,50]);
Maple
CPGE Khouribga 34 Professeur : SEHMAOUI
Exemples dans les cordonnes sphriques :
Pour tracer une courbe en coordonnes sphriques cylindriques, on utilise lune des fonctions :
sphereplot ou bien plot3d (avec coords=spherical)
> with(plots):
plot3d(1,theta=0..2*Pi,phi=0..Pi,coords=spherical);
sphereplot((1.3)^z * sin(theta),z=-
1..2*Pi,theta=0..Pi,style=patch,color=z);
Maple
CPGE Khouribga 35 Professeur : SEHMAOUI
IX-Rsolution graphique dun systme dinquations :
Maple permet de rsoudre graphiquement les systmes dinquations laide de la fonction inequal
du package plots :
Pour rsoudre le systme :
2 0
1
6 2
x y
x y
x y
+
'
on tape :
> with(plots):
inequal( { 2*x+y>=0, x-y<=1,x+6*y<=2}, x=-3..3, y=-3..3
,optionsfeasible=(color=red),optionsexcluded=(color=white));
Maple
CPGE Khouribga 36 Professeur : SEHMAOUI
X- Calcul matriciel :
1: Dfinition d'une matrice:
La dfinition d'une matrice se fait l'aide de la fonction matrix
> nom:=matrix(n,m);
> A:=matrix(2,3);
:= A ( ) array , , .. 1 2 .. 1 3 [ ]
Utilisez la fonction evalm pour afficher la matrice A dans la forme habituelle
evalm(A);
]
]
]
]
]
A
, 1 1
A
, 1 2
A
, 1 3
A
, 2 1
A
, 2 2
A
, 2 3
> B:=matrix(2,3,(i,j)->i+j); # i= nombre de lignes, j=nombrer de colonnes
2 Oprations courantes sur les matrices
Opration Notation
Addition +
Soustraction -
Multiplication &*
Puissance ^ ou **
> A1:=matrix([[1,2,3],[4,5,6],[7,8,9]]);
:= A1
]
]
]
]
]
]
]
1 2 3
4 5 6
7 8 9
> B1:=matrix([[0,1,2],[3,1,2],[5,1,0]]);
:= B1
]
]
]
]
]
]
]
0 1 2
3 1 2
5 1 0
Somme:
> A1+B1=evalm(A1+B1);
+ A1 B1
]
]
]
]
]
]
]
1 3 5
7 6 8
12 9 9
Produit:
> P:=A1&*B1;
> evalm(P);
]
]
]
]
]
]
]
21 6 6
45 15 18
69 24 30
:= B
]
]
]
]
2 3 4
3 4 5
:= P A1 &* B1
Maple
CPGE Khouribga 37 Professeur : SEHMAOUI
> evalm(2*A1);
]
]
]
]
]
]
]
2 4 6
8 10 12
14 16 18
Puissance:
> S:=A1^3;
:= S A1
3
> evalm(S);
]
]
]
]
]
]
]
468 576 684
1062 1305 1548
1656 2034 2412
3 Fonctions du package linalg (algbre linaire)
Le package linalg est compos de trs nombreuses fonctions qui permettent des manipulations
volues sur les matrices.
3.1 Oprations lmentaires:
Chargez le package linalg avec l'instruction:
>with(linalg):
On peut utiliser la fonction matadd du package (linalg) pour calculer la somme de deux matrices
matadd(A1,B1);
]
]
]
]
]
]
]
1 3 5
7 6 8
12 9 9
On peut utiliser la fonction multiply du package (linalg) pour calculer le produit de deux matrices
> multiply(A1,B1);
]
]
]
]
]
]
]
21 6 6
45 15 18
69 24 30
3.2 Oprations sur les matrices:
Fonctions Manipulations
trace Calcule la trace de la matrice
det Calcule le dterminant de la matrice
transposee Calcul la transpose de la matrice
inverse Calcule l'inverse de la matrice
rank Calcule le rang de la matrice
gausselim Effectue un pivot de Gauss sur la matrice
eigenvals Calculs les valeurs propres de la matrice
eigenvectors Calcule les vecteurs propres de la matrice
charpoly Calcule le polynme caractristique de la matrice
> idm:=Matrix(3,3,shape=identity); det(x*idm-A)=charpoly(A,x)
Maple
CPGE Khouribga 38 Professeur : SEHMAOUI
> A:=matrix(4,4,(i,j)->i*j-1);
:= A
]
]
]
]
]
]
]
]
]
]
0 1 2 3
1 3 5 7
2 5 8 11
3 7 11 15
> B:=matrix(4,4,(i,j)->`if`(i=j,1,0));
:= B
]
]
]
]
]
]
]
]
]
]
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
> with(linalg):
> C:=matrix([[1,3],[-2,4]]);trace(C);
:= C
]
]
]
]
1 3
-2 4
5
> det(C);
10
> inverse(C);
]
]
]
]
]
]
]
]
]
2
5
-3
10
1
5
1
10
> eigenvectors(C);
,
]
]
]
]
, , +
5
2
1
2
I 15 1 { }
]
]
]
]
,
3
4
1
4
I 15 1
]
]
]
]
, ,
5
2
1
2
I 15 1 { }
]
]
]
]
, +
3
4
1
4
I 15 1
> eigenvals(C);
, +
5
2
1
2
I 15
5
2
1
2
I 15
> charpoly(C,x);
+ x
2
5 x 10
> solve(%);
, +
5
2
1
2
I 15
5
2
1
2
I 15
Maple
CPGE Khouribga 39 Professeur : SEHMAOUI
XI-Equations diffrentielles
Rsolution dquations diffrentielles linaires du premier ordre :
La rsolution des quations diffrentielles se fait laide de la fonction dsolve :
Soit lquation : xy' + y - 3x
2
= 0
> eq:=x*diff(y(x),x) + y(x) - 3*x^2 = 0;
>
:= eq + x
|
.
`
,
d
d
x
( ) y x ( ) y x 3 x
2
0
> dsolve(eq);
( ) y x
+ x
3
_C1
x
Rsolution dquations diffrentielles du deuxime ordre :
dsolve({equ diff , cond init},{fonctions(variables)}) ;
soit lquation :
>
dsolve({diff(theta(t),t$2)+omega^2*theta(t),D(theta)(0)=0,theta(0)
=Pi/6},theta(t));
( ) t
1
6
( ) cos t
Maple
CPGE Khouribga 40 Professeur : SEHMAOUI
CPGE KHOURIBGA.......................................................................................................................... 1
Utilisation de dun logiciel de calcul formel. ....................................................................................... 1
I Dcouverte des premires fonctionnalits de Maple. .................................................................... 2
1- Dfinition rapide.......................................................................................................................... 2
2- Concurrence :............................................................................................................................... 2
3- Session : ....................................................................................................................................... 2
4 Interface utilisateur : .................................................................................................................. 2
a- Syntaxe des entres :................................................................................................................ 2
b- Interruption : ............................................................................................................................ 3
c- Utilisation dun rsultat prcdent :......................................................................................... 3
d- Les commentaires : .................................................................................................................. 4
e- Besoin daide : ......................................................................................................................... 4
f- Important : ................................................................................................................................ 5
5 - Les oprateurs, les fonctions et les constantes: .......................................................................... 5
a- Les oprateurs : ........................................................................................................................ 5
b- Les fonctions............................................................................................................................ 7
6 - Majuscules et minuscules : ......................................................................................................... 8
7 Packages:..................................................................................................................................... 8
II Calculs usuels de type arithmtique ou flottant ............................................................................... 9
1 Les variables dans Maple :.......................................................................................................... 10
2 Manipulation dexpressions : ...................................................................................................... 10
3 Assignation, dsassignation et indexation.................................................................................. 10
4 Lettres grecques .......................................................................................................................... 12
5 Les nombres : ............................................................................................................................. 12
5.1 : Nombres entiers : ............................................................................................................... 12
5.2 : Nombres rationnels : .......................................................................................................... 14
5.3 : Nombres rels et Evaluation force au format rel:........................................................... 14
5.4 : Nombres complexes :......................................................................................................... 15
III- Les Dveloppement et factorisation des polynmes : ................................................................. 17
VI- Les fonctions : ............................................................................................................................. 20
1 Rappel : ....................................................................................................................................... 20
2 Sommes et produits :................................................................................................................... 20
3 Comment dfinir des fonctions personnalises ? :...................................................................... 20
4 Fonctions dfinies par intervalles : ............................................................................................. 21
5 Oprateurs sur les fonctions :...................................................................................................... 21
6 Drivation. ................................................................................................................................... 22
7 Intgration. .................................................................................................................................. 22
V- Les limites et dveloppements asymptotiques :............................................................................ 24
1- Limite dune expression, dune suite, dune fonction somme dune srie ................................ 24
2- Suites rcurrentes....................................................................................................................... 24
3- Dveloppements limits et asymptotiques ................................................................................ 24
VI- Rsolution formelle ou numrique dquations et de systmes dquations............................... 26
1- Equation de degr quelconque :................................................................................................. 26
Remarque : ................................................................................................................................. 27
2- Systmes dquations : .............................................................................................................. 27
VII- Commandes graphiques 2D....................................................................................................... 29
Cordonnes cartsiennes :.............................................................................................................. 29
Tracs dans le plan complexe ........................................................................................................ 30
Courbe paramtre : ....................................................................................................................... 31
Cordonnes polaires :..................................................................................................................... 31
VIII- Commandes graphiques 3D...................................................................................................... 33
Exemple dans les cordonnes cartsiennes :.................................................................................. 33
Maple
CPGE Khouribga 41 Professeur : SEHMAOUI
Exemples dans les cordonnes cylindriques : ................................................................................ 33
Exemples dans les cordonnes sphriques :................................................................................... 34
IX-Rsolution graphique dun systme dinquations :..................................................................... 35
X- Calcul matriciel :........................................................................................................................... 36
1: Dfinition d'une matrice: ........................................................................................................... 36
2 Oprations courantes sur les matrices ......................................................................................... 36
3 Fonctions du package linalg........................................................................................................ 37
3.1 Oprations lmentaires:...................................................................................................... 37
3.2 Oprations sur les matrices:................................................................................................. 37
XI-Equations diffrentielles ............................................................................................................... 39
Rsolution dquations diffrentielles linaires du premier ordre :............................................... 39
Rsolution dquations diffrentielles du deuxime ordre : .......................................................... 39