520 likes | 788 Views
Calcul numérique (avec Maple). Maplesoft http://www.maplesoft.com/ Maple version 9.5. Le logiciel de calcul formel Maple. Sources utilisées pour ce cours : Raphaël Giromini http://www.giromini.org/maple/index.html M. Chare (cours-tds années précédant 2006).
E N D
Calcul numérique(avec Maple) Maplesoft http://www.maplesoft.com/ Maple version 9.5
Le logiciel de calcul formel Maple • Sources utilisées pour ce cours : • Raphaël Giromini http://www.giromini.org/maple/index.html • M. Chare (cours-tds années précédant 2006). • José-Marconi Rodrigues (tps précédant 2006).
Brainstorming …qu’a t on vu la dernière fois ? • Digits, printf • plot, plot2d • Re, Im, abs, argument, conjugate, polar • mod, igcd, ilcm • isprime, ithprime, nextprime • expand, simplify, factor, ifactor • collect, nomal, sort, degree, coeff, lcoeff, solve
Fonctions • Une fonction sous Maple se définit de la façon suivante : nom := variable -> définition • Exemple : définition d’une fonction polynôme : > f := x -> 2*x^2 -3*x +4; # Définition de f f(2); # Valeur de f en 2 plot(f(x), x=-5..5); # Tracé de f sur # l’intervalle [-5, 5]
Fonctions > f := x -> 2*x^2 -3*x +4; # Définition de f f(2); # Valeur de f en 2 plot(f(x), x=-5..5); # Tracé de f sur # l’intervalle [-5, 5] f := x 2x2 -3x +4 6
Fonctions à plusieurs variables • On peut définir des fonctions à plusieurs variables ; exemple : > f := (x,y) -> sin(x)*cos(y); # Définition de f 'f(15,2)' = f(15,2); # Valeur de f en (15,2) 'f(15,2)' = evalf(f(15,2)); # Valeur numérique plot3d(f(x,y), x=-5..5, y=-5..5); # Tracé de f
Exercice • Donner les instructions Maple pour répondre aux questions suivantes. • Définir la fonction f1 par f1(x) = sin(x)cos(x) • Tracer la fonction entre 0 et . • f1 est elle injective ou surjective ?
Exercice > f1:= x -> sin(x)*cos(x); plot(f1(x), x=0..Pi); • f1 est elle injective ou surjective ?
Rappel : Injection • Let f be a function defined on a set A and taking values in a set B. • Then f is said to be an injection (or injective map, or embedding) if, whenever f(x)=f(y), it must be the case that x=y. Equivalently, xy implies f(x) f(y). • An injection is sometimes also called one-to-one. mathworld.wolfram.com/
Rappel : Surjection • Let f be a function defined on a set A and taking values in a set B. • Then f is said to be a surjection (or surjective map) if, for any b in B, there exists an a in A for which b=f(a). • A surjection is sometimes referred to as being "onto." mathworld.wolfram.com/
Exercice > f1:= x -> sin(x)*cos(x); plot(f1(x), x=0..Pi); • f1 est elle injective ou surjective ?
R R Exercice • La fonction est périodique et n’est donc pas injective dans puisque certaines valeurs de l’ensemble d’arrivée ont plusieurs antécédents. • La fonction n’est pas surjective dans puisque certaines valeurs de l’ensemble d’arrivée n’ont pas d’antécédents
Fonctions composés • Maple sait composer les fonctions entres elles. On se sert de l’opérateur @. On peut également composer une fonction par elle même. On utilise alors l’opérateur @@. > (sin @ cos)(x); g := x -> x^3 + 2; h := y -> ln(y); ‘g(h(x))’ = (g@h)(x); ‘h(g(x))’ = (h@g)(x); ‘g(g(x))’ = (g@@2)(x); ‘g(g(g(x)))’ = (g@@3)(x);
Suites définies par des fonctions • Les suites sont des fonctions « comme les autres », si ce n’est qu’elle sont définies dans au lieu de . > u := n ->3*n + 4: # Suite u_n u(3); # Évaluation pour n=3 13 > u := n -> u(n-1) + 2*u(n-2): # Suite u_n u(0) := 1; # Valeur initiale u(1) := 2; # Valeur initiale u(3); # Évaluation pour n=3 u(0) := 1 u(1) := 2 8
Exercice • Donner les instructions Maple pour répondre aux questions suivantes. • Soit la suite u0 = 3, un = ln(un-1) + 5 • Calculez les termes 1, 50 et 100.
Limites • La syntaxe pour calculer la limite de la fonction f au point a est la suivante : • limit(f(x), x=a) • Si l’on veut écrire la limite de manière symbolique, c’est à dire sans que Mapple l’évalue, on utilise Limit avec un ‘ L ’ majuscule : • Limit(f(x), x=a)
Limite à gauche et à droite • Exemple : > limit(floor(x), x=1); limit(floor(x), x=1, right); limit(floor(x), x=1, left); undefined 0 1
Exercice • Donner les instructions Maple pour répondre aux questions suivantes. • Soit la fonction f par f(x) = sin(x)cos(x)/x • Donnez les limite en + et -
Exercice • Donner les instructions Maple pour répondre aux questions suivantes. • Soit la fonction f par f(x) = sin(x)cos(x)/x • Donnez les limites en + et - > restart; f := x -> sin(x)*cos(x)/x: limit(f(x), x=-infinity); limit(f(x), x=+infinity); plot(f(x), x=-20..20);0 0
Dérivées • Pour évaluer la dérivée en fonction d’une variable, on utilise de la commande diff
Dérivée multiple • Les dérivées multiples peuvent être évaluées en répétant la variable plusieurs fois ou bien de manière équivalente en écrivant x\$n, où n est le nombre de fois où l’on dérive
Notation dérivée partielle Première dérivation Deuxième dérivation Dérivée partielles
Dérivéeavec la commande D • Un autre moyen pour dériver les fonctions est d’utiliser le symbole D, qui peut être appliqué à une fonction sans avoir à spécifier ses arguments. Exemple : > D(sin); cos
Dérivée avec la commande D • Dérivée d’ordre n : • D@@n • Dérivée selon la ième variable • D[i] • Dérivée selon plusieurs variables • D[i,j] • Dérivée d’ordre n selon la ième variable • D[i\$n]
Exercice • Donner les instructions Maple pour répondre aux questions suivantes. • Quelle est la dérivée de u(x)/v(x) • Calculez la dérivée seconde du dénominateur
Intégrales • Maple sait calculer les intégrales, grâce à la commande int. • Pour les intégrales indéfinies (les « primitives ») la syntaxe est : int ( expr, x), avec expr l’expression à intégrer ; et x la variable par rapport à laquelle intégrer. • Pour les intégrales définies, la syntaxe est : int ( expr, x=a..b), avec a..b l’intervalle d’intégration.
Petite remarque :Étude rapide d’une fonction grâce à Maple • Exemple avec la fonction erf ...
The error function is defined for all complex x by erf(x) = 2/sqrt(Pi) * int(exp(-t^2), t=0..x) Erf • Consulter le manuel en ligne : > ?erf • Vérification sous Maple : > 2/sqrt(Pi) * int(exp(-t^2), t=0..x); erf(x) • Affichage symbolique sous Maple : > 2/sqrt(Pi) * Int(exp(-t^2), t=0..x);
Erf • Graphique de la fonction erf sous Maple : > plot(erf(x), x=-10..10); • Limite en l’infini sous Maple : > limit(erf(x), x=infinity); > limit(erf(x), x=-infinity); 1 -1
R Exercice • Donner les instructions Maple pour répondre aux questions. • Soit f = exp(-x2). Calculez l’intégrale de f entre 0 et +, puis sur tout . • Donnez l’aire comprise entre les deux courbes définies par y = et y = x/2 lorsque x varie entre 0 et 16.
Exercice • Donner les instructions Maple pour répondre aux questions. • Donnez l’aire comprise entre les deux courbes définies par y = et y = x/2 lorsque x varie entre 0 et 16. x/2