Upload
cyrine-ch
View
14
Download
0
Embed Size (px)
DESCRIPTION
programmation en Maple
Citation preview
Actions lmentaires de MAPLE
HAMMAMI Mohamed Page 1
Etude de fonctions une seule variable relle
Commande et Syntaxe Rle Nom_fct :=varexpression ;
Dfinir une fonction une seule variable var limage dun point x0 est donne par f(x0).
unapply Nom_fct :=unapply(E , var)
Convertir lexpression E en une fonction une seule variable var.
evalb evalb(f(x) = -f(x)) evalb(-f(x) = -f(x))
Etudier la parit de la fonction f
singular singular(f(x))
Dterminer lensemble des points singuliers de la fonction f. (points dans les quels la fonction nest pas dfinie)
iscont iscont(f(x) , x = a..b) iscont(f(x) , x = a..b , closed)
Vrifier la continuit de la fonction f dans lintervalle
ouvert ,a b . Le paramtre closed permet la vrification dans
lintervalle ferm ,a b .
discont discont(f(x))
Dterminer lensemble des points de discontinuit de la fonction f.
limit limit(f(x) , x = a (fini ou infini)) limit(f(x) , x = a , left) limit(f(x) , x = a , right)
Calculer la limite de la fonction f au point a. Le paramtre left pour calculer la limite gauche et right pour la limite droite.
D D(f) (D@@n)(f)
Dterminer la fonction drive f .
Loprateur @@ permet de dterminer la fonction drive
n-ime nf .
D(f)(x0) et (D@@n)(f)(x0) donnent les drives au point
x0.
diff diff(f(x) , x) diff(f(x) , x$n)
Dterminer lexpression de la drive f x . Loprateur $ permet de dterminer lexpression de la
drive n-ime nf x .
int int(f(x) , x) int(f(x) , x = a..b)
Dterminer la primitive (expression) ou lintgrale (valeur) dune fonction f.
taylor taylor(f(x) , x = a , ord)
Dterminer un dveloppement limit de la fonction f au voisinage de a et lordre ord
asympt asympt(f(x) , x)
Dterminer un dveloppement asymptotique de la
fonction f.
plot plot(f) plot(f , a..b) plot(f , a..b , c..d) plot(f(x) , x) plot(f(x) , x = a..b) plot(f(x) , x = a..b , c..d) plot({f , g , h , })
Reprsenter graphiquement la fonction f. La reprsentation peut tre soit partir de la fonction (f) ou lexpression (f(x)). a..b est laxe des abscisses et c..d laxe des ordonnes. (MAPLE prend par dfaut -10..10 comme axe des
abscisses)
Actions lmentaires de MAPLE
HAMMAMI Mohamed Page 2
Etude de fonctions deux variables relles
Les diffrents outils (commandes de MAPLE) proposs pour manipuler les fonctions
numriques une seule variable relle sont valables galement pour les fonctions deux
variables relles (dfinition de la fonction, points singuliers, limites, dveloppements limits
et asymptotique etc.). Dans ce TP on se focalisera sur les commandes prsentant une syntaxe
diffrente lorsque la fonction est deux variables.
Dans la suite on suppose que g est une fonction numrique deux variables x et y.
Commande et Syntaxe Rle g :=(x,y)expression ;
Dfinir la fonction g. limage dun couple (x0,y0) est donne par g(x0,y0).
unapply Nom_fct :=unapply(E , (x,y))
Convertir lexpression E en une fonction deux variables (x,y).
D D[1](g) D[2](g) D[1,2](g) (D[1]@@n)(g) (D[2]@@m)(g)
Dterminer les fonctions drives par rapport x (la
premire variable, y (la deuxime variable) et par
rapport x et y.
Loprateur @@ permet de dterminer les fonctions drives n-ime.
D[1,2](g)(x0,y0) donne limage dun couple (x0,y0) de la fonction drive par rapport x et y.
diff diff(g(x,y) , x) diff(g(x,y) , x) diff(g(x,y) , x , y) diff(g(x,y) , x$n) diff(g(x,y) , y$m) diff(g(x,y) , x$n , y$m)
Dterminer les drives partielles par rapport x, y
et x et y.
Loprateur $ permet de dterminer les drives partielles n-ime.
int int(int(g(x,y) , x) , y) int(int(g(x,y) , x = a ..b) , y = c..d)
Dterminer les intgrales doubles.
plot3d plot3d(g , a..b , c..d) plot3d(g(x,y) , x = a..b , y = c..d) plot3d({f , g , h , } a..b , c..d)
Reprsenter graphiquement la fonction g. La reprsentation peut tre soit partir de la fonction
(g) ou lexpression (g(x,y)). a..b est laxe des abscisses et c..d laxe des ordonnes.
Actions lmentaires de MAPLE
HAMMAMI Mohamed Page 3
Etude de fonctions variables complexes
Les diffrents outils (commandes de MAPLE) proposs pour manipuler les fonctions
numriques une seule variable relle sont valables galement pour les fonctions deux
variables relles (dfinition de la fonction, points singuliers, limites, dveloppements limits
et asymptotique etc.).
La commande prsentant une syntaxe diffrente est celle de reprsentation graphique
(commande de changement graphique dans le plan complexe).
Dans la suite on suppose que h est une fonction variable complexe z.
Commande et Syntaxe Rle h :=zexpression ;
Dfinir la fonction h. limage dun point complexe z0 est donne par
h(z0).
unapply Nom_fct :=unapply(E , var)
Convertir lexpression complexe E en une fonction variable complexe var.
conformal with(plots) conformal(h , a..b) with(plots) conformal(h(z) , z = a..b)
Reprsenter graphiquement la fonction h. (changement graphique dans le plan complexe)
La reprsentation peut tre soit partir de la fonction
(h) ou lexpression (h(z)). a..b est laxe complexe des abscisses.
Manipulation des nombres complexes avec MAPLE
Un nombre complexe scrit sous la forme .a b I avec I en MAPLE reprsente le nombre
imaginaire tel que 2 1I .
Plusieurs commandes de manipulations des nombres complexes sont fournies par MAPLE.
Dans la suite on suppose que c est un nombre complexe.
Commande et Syntaxe Rle Re Re(c)
Donner la partie relle dun nombre complexe.
Im Im(c)
Donner la partie imaginaire dun nombre complexe.
abs abs(c)
Donner le module dun nombre complexe.
argument argument(c)
Donner largument dun nombre complexe.
conjugate conjugate(c)
Donner le conjug dun nombre complexe.
polar polar(c)
Donner les coordonnes polaires (module et argument) dun nombre complexe.
evalc evalc(c) evalc(polar( ,r ))
Mettre un nombre complexe ou les coordonnes polaires ,r
(module et argument) sous la forme .a b I .
Actions lmentaires de MAPLE
HAMMAMI Mohamed Page 4
Les suites avec MAPLE
Une suite est dfinie et manipule comme tant une fonction une seule variable.
Commande et Syntaxe Rle VAR :=nexpression ; Exemple : w :=n2*n^2 + 2 ;
Dfinir une suite explicite.
w(k) seq(w(i) , i = 1..m)
Donne un terme dune suite.
La commande seq donne la suite des termes
rsolve t :=rsolve({sys de rcurrence},u(n))
Dterminer le terme gnral t (expression en n) de la suite rcurrente u.
unapply u :=unapply(t , n)
Convertir lexpression t (terme gnral de la suite u) en une suite.
sum sum(w(k) , k = a..b)
Calculer une somme ou une srie entire.
product product(w(k) , k = a..b)
Calculer un produit.
limit L:=limit(w(n) , n = +infinity) ; if type(L , infinity) then print(la suite est divergente) else print(la suite est convergente) ;
Calculer la limite en + linfinie. Remarque : avec la commande type on peut tudier
la convergence de la suite.
Actions lmentaires de MAPLE
HAMMAMI Mohamed Page 5
Les polynmes
Un polynme est dfini et manipul comme tant une expression, qui dans lequel peut
intervenir une ou plusieurs variables. Une telle expression est de type polynom.
Commande et Syntaxe Rle VAR :=expression ; Exemple :
P :=(x^2 + 1)^5 ; Q :=X^3*Y^2 + X^2 + X Y + 1 ;
Dfinir un polynme.
subs subs(x = a , P) subs({X = a , Y = b} , Q)
eval eval(P , x = a) eval (Q , {X = a , Y = b})
Evaluer un polynme en une valeur a ou b donnes.
expand expand(P)
Mettre un polynme sous la forme dvelopp.
sort sort(expand(P)) sort(Q , X) sort(Q , Y)
Donner la forme dveloppe et ordonne selon les
puissances dcroissantes.
Remarque 1 : la commande sort sapplique sur les polynmes dvelopps.
Remarque 2 : dans le cas des expressions de plusieurs
variables il faut indiquer la variable du polynme
comme deuxime paramtre.
factor factor(expression) factor(expression , complex) Exemple :
factor(x^2 1) ; factor(x^2 + 1 , complex) ;
Mettre une expression (polynme) sous la forme
factorise.
Remarque : le paramtre optionnel complex permet
la factorisation dans le corps des complexes.
collect collect(expression , terme)
Regrouper les coefficients dun mme terme dune expression.
simplify simplify(expression)
Simplifier si possible une expression.
degree degree(P) degree(Q , X) degree(Q , Y)
Dterminer le degr (plus haut degr) dun polynme. Remarque : dans le cas des expressions de plusieurs
variables il faut indiquer la variable du polynme
comme deuxime paramtre.
ldegree ldegree(P) ldegree(Q , X) ldegree(Q , Y)
Dterminer le plus bas degr dun polynme. Remarque : dans le cas des expressions de plusieurs
variables il faut indiquer la variable du polynme
comme deuxime paramtre.
lcoeff lcoeff(P) lcoeff(Q , X) lcoeff(Q , Y)
Dterminer le coefficient dominant dun polynme. Remarque : dans le cas des expressions de plusieurs
variables il faut indiquer la variable du polynme
comme deuxime paramtre.
Actions lmentaires de MAPLE
HAMMAMI Mohamed Page 6
tcoeff tcoeff(P) tcoeff(Q , X) tcoeff(Q , Y)
Dterminer le coefficient du terme du plus bas degr
dun polynme. Remarque : dans le cas des expressions de plusieurs
variables il faut indiquer la variable du polynme
comme deuxime paramtre.
coeff coeff(P , x , i) coeff(Q , X , i) coeff(Q , Y , i)
Dterminer le coefficient dun terme de degr i dun polynme.
coeffs coeffs(expand(P) ) coeffs(Q , X) coeffs(Q , Y)
Dterminer la squence de tous les coefficients dun polynme.
Remarque 1 : la commande coeffs sapplique sur les polynmes dvelopps.
Remarque 2 : dans le cas des expressions de plusieurs
variables il faut indiquer la variable du polynme
comme deuxime paramtre.
quo quo(P1 , P2 , VAR) Exemple :
quo(P , x - 1 , x) ; quo(Q , X + Y , X) ; quo(Q , X + Y , Y) ;
Dterminer le quotient de la division euclidienne de
P1 par P2 par rapport la variable VAR.
rem rem(P1 , P2 , VAR) Exemple : rem(P , x - 1 , x) ; rem (Q , X + Y , X) ; rem (Q , X + Y , Y) ;
Dterminer le reste de la division euclidienne de P1 par P2 par rapport la variable VAR.
gcd gcd(P1 , P2)
Dterminer le PGCD des deux polynmes P1 et P2.
lcm lcm(P1 , P2)
Dterminer le PPCM des deux polynmes P1 et P2.
divide divide(P1 , P2)
Vrifier si P1 et P2 sont divisibles ou non. (P1 est divisible par P2)
Actions lmentaires de MAPLE
HAMMAMI Mohamed Page 7
Les fractions rationnelles
Une fraction rationnelle est dfinie et manipule comme tant une expression.
Une telle expression est de type ratpoly.
Commande et Syntaxe Rle VAR:=expression ; Exemple :
F :=(x^2 2*x + 1)^3 / (x^3 1)^2 ;
Dfinir une fraction rationnelle.
subs subs(x = a , F)
eval eval(F , x = a)
Evaluer une fraction rationnelle en une valeur a donne.
numer numer(F)
Donner le numrateur dune fraction rationnelle.
denom denom(F)
Donner le dnominateur dune fraction rationnelle.
normal normal(F)
Simplifier si possible une fraction rationnelle.
convert convert(F , parfrac , x) convert(F , parfrac , x , complex)
Dcomposer une fraction rationnelle en lments
simples.
Remarque : le paramtre optionnel complex permet
la dcomposition dans le corps des complexes.
Actions lmentaires de MAPLE
HAMMAMI Mohamed Page 8
Rsolution des quations, inquations et systmes dquations
algbriques
Commande et Syntaxe Rle solve solve(quation , inconnue)
Rsoudre une quation.
Remarque 1 : linconnue est optionnelle dans le cas o lquation comporte une seule variable.
Remarque 2 : lgalit 0 est aussi optionnelle.
Remarque 3 : le rsultat de la rsolution dune quation est la squence des racines.
solve solve(inquation , inconnue) solve(inquation , {inconnue})
Rsoudre une inquation.
Remarque 1 : linconnue est optionnelle. Remarque 2 : le rsultat de la rsolution dune inquation peut tre donn sous forme
dintervalles ou encadrement.
solve solve({eq1 , eq2 , } , {inc1 , inc2 , })
Rsoudre un systme dquations.
fsolve Donner des solutions flottantes.
isolve Donner des solutions entires.
Actions lmentaires de MAPLE
HAMMAMI Mohamed Page 9
Algbre Linaire
I. Les vecteurs
Commande et Syntaxe Rle vector V1 :=vector(taille) ; V2 :=vector([lments]) ; V3 :=vector(taille , Nom_fct) ;
Crer un vecteur (tableau une dimension).
Remarque 1 :
On peut initialiser un vecteur par une liste des
lments.
Remarque 2 :
On peut initialiser un vecteur par une fonction
prdfinie de MAPLE.
Remarque 3 :
Laccs un lment dun vecteur se fait par son
indice et laffichage avec la commande print.
Vector V :=Vector([lments]) ;
Donne le format mathmatique dun vecteur (format sur lequel les commandes prdfinies de lalgbre linaire oprent).
II. Les matrices
Commande et Syntaxe Rle
matrix M1 :=matrix(L , C) ; M2 :=matrix(L , C , [lments]) ; M3 :=matrix(L , C , Nom_fct) ;
Crer une matrice (tableau deux
dimensions).
L : nombre de lignes. C : nombre de colonnes.
Remarque 1 :
On peut initialiser une matrice par une liste
des lments.
Remarque 2 :
On peut initialiser une matrice par une
fonction prdfinie de MAPLE.
Remarque 3 :
Laccs un lment dune matrice se fait par son indice de ligne suivi de son indice de
colonne et laffichage avec la commande
print. M4 :=matrix(L , C , Valeur) ; Initialiser une matrice par llment Valeur.
Matrix M :=Matrix(L , C) ;
Donne la matrice nulle.
Matrix M5 :=Matrix(n , n , shape = identity) ;
Donne la matrice identit dordre n.
Matrix M6 :=Matrix(n , n , shape = diagonal) ;
Donne une matrice diagonale.
Matrix M7 :=Matrix(n , n , shape = symmetric) ;
Donne une matrice symtrique.
Matrix M8 :=Matrix(n , n , shape = antisymmetric) ;
Donne une matrice antisymtrique.
Actions lmentaires de MAPLE
HAMMAMI Mohamed Page 10
Commande et Syntaxe Rle , , * , &* , ^ Ces oprateurs permettent les oprations algbriques
sur les matrices. : somme. : diffrence. * : multiplication par un scalaire.
&* : produit matriciel.
^ : puissance.
with(linalg); Charger la bibliothque de lalgbre linaire.
evalm evalm(M) ;
Evaluer une matrice.
matadd matadd(M1 , M2) ;
Somme de deux matrices.
scalarmul scalarmul(M1 , scalaire) ;
Multiplication dune matrice par un scalaire.
multiply multiply(M1 , M2) ;
produit de deux matrices.
Commande et Syntaxe Rle
det det(M) ;
Donne le dterminent dune matrice.
trace trace(M) ;
Donne la trace dune matrice.
transpose transpose(M) ;
Donne la transpos dune matrice.
inverse inverse(M) ;
Donne linverse dune matrice.
rank rank(M) ;
Donne le rang dune matrice.
kernel kernel(M) ;
Donne le noyau dune matrice.
colspace colspace(M) ;
Donne limage dune matrice.
Commande et Syntaxe Rle
charpoly charpoly(M , variable) ;
Donne le polynme caractristique dune matrice. Remarque :
variable reprsente la variable du polynme.
eigenvals eigenvals(M) ;
Donne les valeurs propres dune matrice. (la squence des racines du polynme caractristique).
eigenvects eigenvects(M) ;
Donne une squence de listes contenant les vecteurs
propres dune matrice. Remarque :
Actions lmentaires de MAPLE
HAMMAMI Mohamed Page 11
Le rsultat de la commande eigenvects est une squence de listes dont chaque liste contient dans
lordre la valeur propre, son ordre de multiplicit et le vecteur propre associ (contenu dans un ensemble).
N.B : on rappelle quon peut rcuprer les vecteurs propres en utilisant les commandes manipulant les
squences, les listes et les ensembles.
jordan jordan(M) ; jordan(M , P) ;
Donne la rduction de jordan dune matrice.
Remarque 1 :
Cette commande permet de diagonaliser une matrice
si la matrice est diagonalisable et donne une matrice
triangulaire suprieure sinon.
Remarque 2 :
P reprsente la matrice de passage.
linsolve linsolve(M , V) ;
Rsoudre le systme linaire .M X V .
M : matrice des coefficients ,i ja du systme linaire.
V : vecteur second membre. X : vecteur des inconnus.
III. Complments
Commande et Syntaxe Rle diag diag(Val1 , Val2 , ) ;
Donne une matrice diagonale avec Val1 , Val2 , les coefficients diagonaux.
map map(Nom_fct , M) ;
Appliquer une fonction prdfinie de MAPLE sur
tous les lments dune matrice.
equal equal(M1 , M2) ;
Vrifier si deux matrices sont identiques ou non.
concat concat(V1 , V2 , ) ;
Donne une matrice par concatnation des vecteurs V1 , V2 , . N.B :
La concatnation est en colonne.
augment augment(M1 , M2 , ) ;
Donne une matrice par concatnation des matrices
M1 , M2 , . N.B :
La concatnation est en colonne.
genmatrix genmatrix(S , [var1 , var2 , ]) ;
Gnrer une matrice partir dun systme dquations (var1 , var2 , reprsente les variables du systme).
geneqns geneqns(M , [var1 , var2 , ]) ;
Gnrer un systme dquations partir dune matrice. (var1 , var2 , reprsente les variables du systme).
rowdim rowdim(M) ;
Donne le nombre de lignes dune matrice.
coldim coldim(M) ;
Donne le nombre de colonnes dune matrice.
Actions lmentaires de MAPLE
HAMMAMI Mohamed Page 12
row row(M , i) ; row(M , i..k) ;
Extraire une ou plusieurs lignes dune matrice.
col col(M , j) ; col(M , j..k) ;
Extraire une ou plusieurs colonnes dune matrice.
swaprow swaprow(M , i , j) ;
Permuter les lignes i et j dune matrice.
swapcol swapcol(M , i , j) ;
Permuter les colonnes i et j dune matrice.
hilbert hilbert(n) ;
Donne la matrice dHilbert dordre n.
vandemonde vandermondet([e1 , e2 , ]) ;
Donne la matrice de Vandermonde partir des
lments e1 , e2 , .
charmat charmat(M , var) ;
Donne la matrice caractristique dune matrice. (matrice dont son dterminant est le polynme
caractristique)
Actions lmentaires de MAPLE
HAMMAMI Mohamed Page 13
Equations diffrentielles
Lobjet de ce TP est de voir les possibilits que nous offre MAPLE pour la rsolution des
quations diffrentielles. Il sera galement loccasion de parler de rsolution formelle et
rsolution numrique dune quation diffrentielle.
La rsolution avec MAPLE se fait en gnral laide de la commande dsolve.
I. Rsolution formelle
Dans cette partie nous cherchons rsoudre nos quations diffrentielles dune manire
exacte : c'est--dire que nous exprimons les solutions des quations laide de fonctions
usuelles.
Commande et Syntaxe Rle dsolve dsolve(ED , inconnue) ; dsolve({ED , CI} , inconnue) ;
Rsoudre formellement une quation diffrentielle.
N.B :
ED : lquation diffrentielle. CI : les conditions initiales.
rhs rhs(E)
Rcuprer le membre droit dune expression de relations.
Remarque 1 :
Le rsultat de la rsolution formelle dune quation diffrentielle est une expression dgalit tel que le membre droit reprsente lexpression de la solution.
Remarque 2 :
On rappelle que la commande unapply permet de convertir une expression en une fonction et la
commande plot pour une ventuelle reprsentation graphique.