Université d’Antananarivo Faculté des Sciences . Département de Physique COURS DE CALCUL FORMEL MAPLE CHAPITRE 1 Filière : LISTE 3 Année Universitaire – 2012 RAKOTOSALAMA EXCLU DE PRÊT Attention ! Toute reproduction intégrale ou partielle de cet ouvrage , par quelque procédé que ce soit constituerait une contre – façon sanctionnée par le code pénal 1 CoursMaple7Liste2011 / CoursMaple / Bureau / Toshiba1 CHAPITRE 1 : DÉCOUVERTE DES PREMIERES FONCTIONNALITÉS DU LOGICIEL MAPLE I – Introduction Maple est un système de calcul formel , c.à.d . un logiciel qui permet de faire des mathématiques en manipulant des expressions symboliques . Contrairement à la plupart des langages classiques de programmation il peut traiter non seulement des quantités numériques ( entières , réelles , complexes ) mais aussi des polynômes , des fonctions , des séries ,... et d'effectuer des opérations courantes : dérivation , intégration , limites , simplifications ,.etc ,... Maple permet aussi de faire les calculs numériques classiques : solution d'équations ou de systèmes d'équations , résolution d'équations différentielles ,.de faire des représentations graphiques ( tracer des courbes en 2D , 3D ) , …. Les possibilités sont nombreuses . Voici un exemple pour montrer un des avantages de l’utilisation de ce logiciel : Le calcul de la dérivée 5ème de cos(exp(ln(racine(x+2))) se fait en quelques secondes avec Maple plutôt que de faire plusieurs pages de calculs manuels . Soit y = cos( eLog x 2 ) , calculer y(5) II – Le logiciel Le logiciel piraté se trouve dans le dossier MapleInstal du flash . Vous devez être très discret puisque pirater un logiciel est passible d'une peine de 2 ans de prison et 2 Milliards Fmg d’amende . Ce logiciel doit être d’une utilisation personnelle . Maple est un logiciel commercial mais une vieille version ( la version 5rc4 - datant de 1996 ) est distribuée gratuitement . Cette version est largement suffisante pour le programme de cette formation . On peut le télécharger sur le site dynamaths.free.fr : Maple.zip (13,3Mio) . III – Installation Insérer le flash contenant le logiciel , puis l’ouvrir . Double Cliquer sur le répertoire MapleInstal Double Cliquer sur le sous dossier singleuser Double Cliquer sur le fichier Setup ( taille 53 Ko ) Suivre les instructions successives jusqu'à ce que l’installation soit terminée Le numéro de la série qu’il va vous demander est : 690387923 L’installation terminée , l’icône Maple 7 apparaît sur l’écran de votre ordinateur . 2 IV – Lancement Double Cliquer sur l’icône Maple 7 du bureau . La feuille se présente comme suit et vous pouvez commencer à taper après le prompt ( > ) Les zones après le symbole > ( prompt ) sont des zones d'entrée ( input ) . On presse la touche Entrée pour transmettre l'ordre au logiciel . Les lignes doivent impérativement se terminer par un point – virgule ; ou par deux points : Si la ligne se termine par un point-virgule , l'ordre est validé et le logiciel fournit une réponse dans une zone de sortie ( output ) : > 12+abs(4-3*sqrt(5)); 83 5 Si la ligne se termine par deux points , l'ordre est simplement validé sans réponse du logiciel . > 12+abs(4-3*sqrt(5)): Des messages d'erreur peuvent apparaître en cas de mauvaise saisie ou d'opérations illicites : > 12+abs(4-3*sqrt(5); Error, `;` unexpected > 1/cos(Pi/2); Error, numeric exception: division by zero On peut obtenir de l'aide sur une fonction en utilisant ? ou help . Ici on cherche de l'aide sur la fonction solve . > ? solve; > help(solve); Voici quelques exemples de calcul avec leurs résultats fournis par Maple : V – Faire des calculs simples Calculer 15 ! ( factoriel 15 ) > restart; > 15!; # ou factorial(15) 1307674368000 1 2 Calculer l’expression : 1 .1 7 3 > restart; > (1-1/7)*(1+2/3)^2; 2 50 21 3 Affecter une valeur à une variable en utilisant : = Calculer l’expression : expr = p – Log(p) avec p = 2,14 > restart; > p:=2.14; p := 2.14 > expr:=p-ln(p); expr := 1.379194171 Développer , factoriser , ou simplifier une expression : Développer l’expression f = ( a + b )6 > restart; > f:=(a+b)^6; f := ( ab )6 > expand(f); a66 a5 b15 a4 b220 a3 b315 a2 b46 a b5b6 Factoriser l’expression y = a4 + 4a3b + 6a2b2 + 4ab3 + b4 > restart; > y:=a^4+4*a^3*b+6*a^2*b^2+4*a*b^3+b^4; y := a 44 a 3 b6 a 2 b 24 a b 3b 4 > y:=factor(y); y := ( ab ) 4 Remarque : % permet de rappeler la dernière expression calculée (% est le Ditto Operator) %% permet de rappeler l'avant-dernière expression calculée. %%% permet de rappeler l'avant-avant-dernière expression calculée. Exemple : > expand(%); a 44 a 3 b6 a 2 b 24 a b 3b 4 Simplifier l’expression z = sin2(x) + cos2(x) > restart; > z:=sin(x)^2+cos(x)^2; z := sin ( x ) 2cos( x ) 2 > z:=simplify(z); z := 1 Substituer en utilisant la fonction : subs ( variable = remplacement , expression ) > restart; > f:=(a+b)^6; f := ( ab )6 > subs(a=c,f); ( cb )6 4 Calculer à une précision voulue: evalf (expression) ou evalf(expression , nbdécimales) > evalf(sqrt(3)); # sqrt désigne la racine carrée 1.732050808 > evalf(sqrt(3),50); 1.7320508075688772935274463415058723669428052538104 # permet de définir un commentaire dans une ligne (tout ce qui est après le signe # est ignoré) Ecrire une expression avec print ou lprint ou printf > f:=a-3/a+1/(a*a+1); 3 1 f := a 2 a a 1 3 1 a 2 a a 1 > print(f); > lprint(f); a-3/a+1/(a^2+1) Définir une fonction à une ou plusieurs variables: Définir la fonction f(t) = sin(t) – t , puis calculer q = f(3) et g = f(3x+2) > restart; > f:=t-> sin(t)-t; f := tsin( t )t > q:=f(3); q := sin ( 3 )3 > evalf(%); -2.858879992 > g:=f(3*x+2); g := sin ( 3 x2 )3 x2 Définir la fonction g(u,v,w) = 1 eu v (u v w) 2 puis calculer X = g(1,1,1) et Y = g(a,b2,c) u > restart; > g:=(u,v,w)-> 1/u+exp(u+v)+(u-v+w)^2; 1 ( uv ) g := ( u, v, w ) e ( uvw ) 2 u > X:=g(1,1,1); X := 2e 2 > X:=evalf(X); X := 9.389056099 > Y:=g(a,b^2,c); 2 2 ( ab ) 1 Y := e ( ab2c ) a 5 Dériver une fonction à une ou plusieurs variables en utilisant la fonction diff : Calculer la dérivée de la fonction f(t) = sin(t) – t > restart; > f:=t-> sin(t)-t; f := tsin( t )t > diff(f(t),t); cos( t )1 1 eu v (u v w) 2 par rapport à v u Calculer la dérivée de la fonction g(u,v,w) = > restart; > g:=(u,v,w)-> 1/u+exp(u+v)+(u-v+w)^2; ( uv ) 1 g := ( u, v, w ) e ( uvw ) 2 u > diff(g(u,v,w),v); e ( u v ) 2 u2 v2 w > Diff(g(u,v,w),v)=diff(g(u,v,w),v); ( uv ) 1 ( uv ) ( uvw ) 2 e 2 u2 v2 w e v u Noter la forme inerte Diff qui affiche le signe de dérivée et la forme diff qui calcule la dérivée Intégrer une fonction à une variable en utilisant la fonction int : Calculer la primitive de la fonction f(t) = sin(t) – t > restart; > f:=t-> sin(t)-t; f := tsin( t )t > int(f(t),t); # donne une primitive de f 1 cos( t ) t 2 2 > Int(f(t),t)=int(f(t),t); sin ( t )t dtcos( t )1 t 2 2 Calculer l’intégrale 0 (sin( t ) t ).dt > restart; > f:=t-> sin(t)-t; ( intégrale définie ) f := tsin( t )t > Int(f(t),t=0..Pi)=int(f(t),t=0..Pi); sin ( t )t dt21 2 2 0 6 Calculer l’intégrale 1 u e (u v ) (u v w) 2 .dv > restart; > g:=(u,v,w)-> 1/u+exp(u+v)+(u-v+w)^2; 1 ( uv ) g := ( u, v, w ) e ( uvw ) 2 u > int(g(u,v,w),v); ( uv ) 1 v e ( uvw ) 3 u 3 > Int(g(u,v,w),v)=int(g(u,v,w),v); 1 e ( uv )( uvw ) 2 dv v e ( uv )1 ( uvw ) 3 u 3 u Noter la forme inerte Int qui affiche le signe intégrale ( ) et la forme int qui calcule l'intégrale . Calcul de limites , de sommes , de produits : 2.t 3 t 3.t 4 > restart; > limit((2*t-3)/(3*t+4),t=infinity); Calculer Lim 2 3 Calculer 2.t 3 3.t 4 4 t Lim 3 > restart; > X:=(2*t-3)/(3*t+4); X := 2 t3 3 t4 > Limit(X,t=-4/3,right)=limit(X,t=-4/3,right); #limite à droite lim t ( -4/3 )+ 2 t3 3 t4 Noter la forme inerte Limit qui affiche le symbole limit et la forme limit qui calcule la limite . 10 Calculer i2 i 1 > restart; 10 > Sum(i^2,i=1..10)= sum(i^2,i=1..10); Noter la forme inerte Sum qui affiche le symbole 7 i 2385 i 1 et la forme sum qui calcule la somme . 5 Calculer 1 i i 1 > restart; > Product(1/i,i=1..5)=product(1/i,i=1..5); 5 i 120 1 1 i 1 Noter la forme inerte Product qui affiche le symbole et la forme product qui calcule le produit . Résoudre une équation à une inconnue en utilisant la fonction solve : Résoudre l’ équation à une inconnue suivante : 2.t + 3 = – t + 6. 2 > restart; > solve(2*t+3=-t+6*sqrt(2)); 12 2 Résoudre par rapport à u l’ équation suivante : > restart; > u:=solve(t-15/4*u = 5/2*(u-t)+3,u); u := 14 12 t 25 25 Résoudre un système d'équations à plusieurs inconnues en utilisant la fonction solve : Résoudre le système d’ équations suivant : a b 2 a 3.b 7 > restart; > solve({a-b=2,a+3*b=7},{a,b}); 13 5 { a , b } 4 4 Approcher les solutions d'une équation ou d'un système d'équations en utilisant la fonction fsolve : Trouver une racine approchée de l’ équation suivante : cos(t) = t > restart; > fsolve(cos(t)=t); .7390851332 Trouver les racines approchées du système suivant : t 3 u 1 u (t 1)3 t > restart; > fsolve({t^3+u=1,u-(t-1)^3=t},{t,u}); { t.6941457205, u.6655340191 } 8 Représenter une fonction à une ou plusieurs variables en utilisant la fonction plot ou plot3d sin( x) Tracer la courbe y = avec –20 ≤ x ≤ 20 x > restart; > with(plots): Warning, the name changecoords has been redefined > plot(sin(x)/x,x=-20..20); Tracer la surface d’équation z = x2 + y2 ( graphiques en 3 dimensions ) avec avec –2 ≤ x ≤ 2 et –2 ≤ y ≤ 2 > restart; > with(plots): > plot3d(x^2+y^2,x=-2..2,y=-2..2,axes=boxed,style=patchnogrid); 9 FonctionMathMaple / TDMaple2011 / CourTDMapl011 / Bureau / Toshiba1 PRINCIPALES FONCTIONS MATHEMATIQUES DANS LE LANGAGE MAPLE Fonctions sin(x) , cos(x) , tan(x) , arcsin(x) , arcos(x) , arctan(x) sinh(x) , cosh(x) , tanh(x) , arcsinh(x) , arcosh(x) , arctanh(x) Description Fonctions trigonométriques Exemples > restart; > sin(Pi); 0 > cos(Pi); -1 > tan(Pi); 0 1 > arcsin(1); 2 > arccos(1); 0 1 > arctan(1); 4 Fonctions trigonométriques hyperboliques > restart; > sinh(2); sinh ( 2 ) > evalf(%); 3.626860408 > cosh(2); cosh( 2 ) > evalf(%); 3.762195691 > tanh(2); tanh ( 2 ) > evalf(%); .9640275801 > arcsinh(1)= evalf(%); ln ( 1 2 ).8813735869 > arccosh(1); 0 > arctanh(2); arctanh ( 2 ) > evalf(%); .54930614431.570796327 I ln(x) , log(x) sqrt(x) floor(x) ceil(x) abs(x) exp(x) log[b](x) iquo(a , b) irem(a , b) binomial(n,k) > restart; ln( 2 ) > log(2); > evalf(%); .6931471806 Racine carrée de x > sqrt(2)=evalf(%); 2 1.414213562 Partie entière de x > floor(3.1416); 3 Entier immédiatement > ceil(3.1416); 4 supérieur à x Valeur absolue de x > abs(-1.678); 1.678 Exponentielle de x > exp(1)=evalf(%); e2.718281828 > log[10](2)=evalf(%); ln ( 2 ) Logarithme de base b .3010299957 ln ( 10 ) Logarithme népérien Quotient entier de la division des 2 entiers a et b Reste entier de la division des 2 entiers a et b C kn = n! k!.(n k )! > iquo(16,3); 5 > irem(-16,3); -1 > binomial(6,3); 20 10