CIMENT - Calcul Intensif, Modélisation, Expérimentation Numérique et Technologique
Calcul numérique (avec Maple)
description
Transcript of Calcul numérique (avec Maple)
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 ?
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
Chapitre 3 : Fonctions, dérivées, intégrales
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
Fonctions à plusieurs variables
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 ?
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
R
R
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);
Fonctions composées
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=3u(0) := 1u(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.
Exercice
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)
Limites
Limite à gauche et à droite
• Exemple : > limit(floor(x), x=1); limit(floor(x), x=1, right); limit(floor(x), x=1, left);
undefined01
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 -
• 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);
00
Exercice
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
Dérivée partielles
Notation dérivée partielle
Première dérivation
Deuxième dérivation
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 avec la commande D
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]
Dérivée avec la commande D
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
Exercice
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.
Intégrales
Petite remarque :Étude rapide d’une fonction
grâce à Maple
• Exemple avec la fonction erf ...
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);
The error function is defined for all complex x by
erf(x) = 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
Intégrales
Intégrales définies
Intégrales multiples
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.
x4
R
Exercice
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.
x4
x4
x/2
Exercice