Vous êtes sur la page 1sur 4

Maple examen PCSI

MAPLE EXAMEN
Consignes
Ouvrir Maple, sauvegarder tout de suite dans le dossier
S:\profs-pcsi\classe\travail\Informatique
sous le nom :
mon_nom_sujet_numrosujet.mws (par exemple Dupont_sujet_05.mws)
Sauvegarder rgulirement (CTRL + S)
Sur la feuille de calcul, indiquer le numro de sujet et le numro de question > # Question 1 etc ... pour clairement dlimiter les
diffrentes questions.
Rajouter des commentaires (introduits par #), pour expliquer votre dmarche et les calculs effectus. Faire des commentaires
aussi dans les procdures pour les documenter et indiquer le type des paramtres.
Ne pas hsiter prendre des initiatives, soit pour rpondre partiellement une question donne, simplifier la question pose
(cas particuliers, moins de paramtres, ... ), rpondre la question pose par des moyens moins labors que ceux suggrs,
soit pour prolonger une question donne, etc ...

Commandes utiles

Il est indispensable de rinitialiser les variables qui servent de paramtre dans seq, solve, dsolve, ...

Bien distinguer expressions et fonctions, notamment pour les paramtres des procdures : cos et x # exp( x2) sont des

> x:='x'; ou bien

> unassign('x');

fonctions, cos(t) , exp( x) sont des expressions o apparaissent les variables t, x qui doivent tre rinitialises.

D, I variables prdfinies dans Maple !

Chargement des packages : > with(linalg) ; with(plots); with(DEtools); etc ...

Chargement de commandes particulires : >readlib(coeftayl) ; readlib(realroot) ; etc ...

Penser effectuer des valuations numriques pour que les tests puissent se faire correctement.

Pour accder l'aide, menu Help ou bien positionner le curseur sur le nom de la commande puis CTRL + F1. En
gnral, au bas de chaque rubrique, il y a des exemples d'utilisation.

1)

Chargement dun package


with(plots) (package graphique), with(linalg) (package d'algbre inaire), with(DEtools) package pour les quations
diffrentielles.

2)

Manipulations des variables et des expressions


unassign(variable) ou bien x := x : pour rinitialiser les variables
subs({anciennes valeurs = nouvelles valeurs}, expression o doit se faire la substitution);
assign(rsultat d'un solve) permet d'affecter les valeurs trouves aux variables servant d'inconnues; attention, ces
variables ne peuvent plus servir d'inconnues moins d'tre rinitialises.
Prfrer la commande subs(rsultat d'un solve de la forme x = ... , expression o x apparat) : la variable x est
remplace par la valeur fournie par solve. Exemple sol :=solve({x+ y = 0 , 2*x-y = 1} , {x,y}) ; pt:=subs(sol, [x,y]) ;

Une variable qui possde une valeur ne peut pas servir de paramtre dans seq, solve ...

Maple examen PCSI

3)

Evaluation
evalf(expression) = valation numrique des rels , evalf(expression, nombre chiffres significatifs)
evalc(expression) = evaluation des complexes
evalm(matrice) = evaluation des matrices.

4)

Commandes de rptition
seq(expression paramtre par un entier k , intervalle pour le paramtre k) construction d'objets paramtrs par un
paramtre entier
seq(expression paramtre par k, k = [liste des valeurs prises par k, pas forcment entires])
map(application, liste) appliquer une commande ou une fonction tous les termes d'une liste.
sum(nombre index par k, k = ... ) calcul dune somme, mme syntaxe que seq.
product((nombre index par k, k = ... ) calcul dun produit, mme syntaxe que seq.

5)

Listes
nops(liste) = nombre de termes d'une liste
liste[k] = k-ime terme d'une liste k entier 1
[] liste vide
L:= [op(L) , nouveau_terme] rajoute un terme la liste L.
subsop permet de retirer un terme d'une liste.

6)

Rsolution dquations
solve({systme dquations} , {inconnues})
fsolve({systme dquations } , {inconnues}) pour une rsolution approche
fsolve(quations , inconnue, intervalle) rsolution approche en spcifiant lintervalle de recherche.

7)

Tracs de courbes
plot([f1(t) , ... , fn(t)], t = intervalles, options) : courbes de f1 , ... , fn simultanes, intervalles sous la forme a .. b
plot([x(t) , y(t), intervalle des t], view = [intervalle des x, intervalle des y], options);
display(plot(...) , plot(...), ... , plot(...)); superpose plusieurs graphiques (ncessite le package plots).
plot(liste de points, options); trace la ligne polygonale reliant les points, chaque point tant une liste de deux rels.
plot(liste de segments, options); chaque segment tant une liste de deux points.
options : color = red .... , scaling = constrained (repre orthogonorm) , numpoints = 1000 (nombre de points dans
lchantillonnage servant au trac) ...

8)

Fonctions standarts
ln(x) : logarithme nprien, cos (cosinus), sin (sinus), tan, arctan, sinh, cosh, arcsinh, etc ...
floor(x) = partie entire de x, ceil(x) = plus petit entier x , abs(x) = valeur absolue ou module
argument(z) = argument du complexe z , Re(z) et Im(z) parties relles et imaginaires du complexe z

9)

Drivation - intgration
diff(expression f (t) , t) calcule f ' (t)
diff(expression f (t) , t$k) calcule f (k)(t) , le rsultat est encore une expression.
D(fonction) calcule la drive de la fonction, le rsultat tant encore une fonction.

dans une expression la variable n'est pas muette, dans une fonction la variable est muette.
int(f(x) , x = a..b) : intgrale de f sur [a,b] ; int(f(x), x) : primitive de f
10)

Equations diffrentielles
dsolve({quation diffrentielle en y(t) , condition(s) initiale(s)}, y(t), options); pour rsoudre une quation diffrentielle.

Maple examen PCSI

11)

Algbre linaire
Utiliser la commande evalm() pour tout calcul matriciel.
evalm(A&*B) produit matriciel, vector([composantes]) cration d'un vecteur
matrix([ligne1, ... , lignen]); matrix(nb lignes, nb colonnes, (i,j) > formule donnant ai, j )
A[i , j] = coefficient d'indices (i,j) de la matrice A
vector([x1, ... xn]) cre un vecteur colonne.
map(simplify, matrice), map(evalf, matrice) simplification d'une matrice
det(matrice) : dterminant ; rank(matrice) : rang .
inverse(matrice) ou evalm(A^( 1)) : inverse de la matrice carre A
linsolve(matrice A , vecteur colonne Y) : rsout AX = Y
kernel(matrice) : base du noyau
Pour faire une substitution lintrieur dune matrice A : subs({quations}, evalm(A))

12)

Commandes de simplification
normal(fraction) simplifie les fractions ;
expand(expression) dveloppe une expression
combine(expression trigonomtrique) linarise une expression trigonomtrique
radsimp(expression) simplifie les radicaux
factor(expression) factorise un polynme, simplifie aussi les radicaux

13)

Polynmes
degree(P(t) , t) = degr d'un polynme
coeff(polynme P(t), t, numro) donne le coefficient de tnumro dans P(t)
coeffs(polynme P(t), t) suite des coefficients de P mais pas forcment dans l'ordre !
seq(coeff(polynme P(t), t, k) , k = 0..degree(P(t), t)) donne la suite des coefficients dans l'ordre
convert(f , parfrac, x) : dcompose la fraction rationnelle f (x) en lments simples.

14)

Dveloppements limits
taylor(f (x) , x = a, ordre) donne le dveloppement limit de f en a, reste en O(xordre)
series(f (x) , x = a, ordre) donne le dveloppement limit gnralis de f en a, reste en O(xordre)
coeftayl(f (x) , x = a, numro) donne le coefficient d'indice numro dans le DL de f en a; se charge avec readlib(coeftayl)
mtaylor(f (x) , x = a, ordre) partie rgulire d'un DL; se charge avec readlib

15)

Gomtrie
dotprod(X,Y) : produit scalaire de deux vecteurs; le rsultat est un rel.
crossprod(X,Y) : produit vectoriel de deux vecteurs de 3 ; le rsultat est un vecteur de 3.

16)

Elments de programmation
tests conditionnels > if condition1 vraie then calcul1 elif condition2 vraie then calcul2 ... else dernier calcul fi
boucle > while condition vraie do ... od
boucles
> for variable entire from valeur initiale to valeur finale do ... od
ou bien : > while condition do .. od

Maple examen PCSI

17)

Procdures
> nom_proc:= proc (par1, par2, , parn)

pas de point virgule sur cette ligne

local var1, , varp ; # variables locales


options;
liste d'instructions ; # instructions spares par des ; ou :
RETURN(rsultat de la procdure)
end;
Appel de la procdure :
> nom_proc( par1, par2, , parn) ;
etc ...