Obtenir le pack complet des cours, TDs, TPs et projets sur analyse numérique!
Êtes-vous un étudiant passionné d'informatique et souhaitez-vous maîtriser analyse numérique ? Ne cherchez plus, nous avons le pack parfait pour vous.

Accédez à une collection complète des supports de cours, des travaux dirigés (TD), des travaux pratiques (TP) et des projets.
Obtenir le pack maintenantUniversit ́e Hassan II CasablancaM.I.P
Facult ́e des Sciences et Techniques Mohammedia
D ́epartement de math ́ematiques
Analyse num ́erique
TP : MapleMaple Le logicielMapleest un syst`eme de calcul formel. C’est un langage symbolique.
C’est-`a-dire que tout ce qu’il peut faire avec des nombres, il peut le faire avec des
symboles.
Premiers calculs
Pour ex ́ecuter des calculs sousMaple, on veillera `a respecter une certaine syn-
taxe : ils seront toujours pr ́ec ́ed ́es du symboleet seront valid ́es par la touche
Entr ́ee.
18+20;30−14;82∗5;12/4;2100 ;
Si on ne souhaite pas afficher des calculs interm ́ediaires, on pourra remplacer le
symbole ; par le symbole :8/5 2: Le symbole % sera tr`es utile puisqu’il rappelle le dernier r ́esultat calcul ́e, qu’il a ́et ́e affich ́e ou non.4 5; %/2;
De mˆeme, le symbole %% et %%% remplacent l’avant dernier r ́esultat ex ́ecut ́e
et l’avant avant dernier r ́esultat ex ́ecut ́e.
Des calculs formels
Maplepermet d’ex ́ecuter des calculs symboliques au moyen des commandes
sp ́ecifiques sous forme d’une fonction :
sqrt(512)/18;# pour calculer une racine carr ́ee
solve(x3 −7 x+6=0,x);# pour r ́esoudre une ́equation
sum(1/k,k=1..n);# pour calculer une somme1 Les nombres
•Les nombres entiers
Soienta, b, netkdes entiers
ifactor;# donne la d ́ecomposition en facteurs premiers de a
isprime(a);# teste la primalit ́e de a
igcd(a,b);# d ́etermine le PGCD de a et b
ilcm(a,b);# d ́etermine le PPCM de a et b
iquo(a,b);# donne le quotient dans la division euclidienne de a et b
irem(a,b);# donne le reste dans la division euclidienne de a et b
n!;# calcule la factorielle n
binomial(n,k);# calcule le coefficient binomial( nk )
•Les nombres rationnels
18+13/6;
•Les nombres r ́eels
3+4∗sqrt(5);
Si on souhaite obtenir une valeur approch ́ee, on utilisera la commandeevalf
sqrt(2);
evalf(sqrt(2));# 10 chiffres significatifs par d ́efaut
evalf(sqrt(2),20);# 20 chiffres significatifs
Les fonctions math ́ematiques : Fonction ou expression
Les fonctions trigonom ́etriques :
sin(x), cos(x), tan(x), arcsin(x), arccos(x), arctan(x)
Les fonctions trigonom ́etriques hyperboliques :
sinh(x), cosh(x), tanh(x), arcsinh(x), arccosh(x), arctanh(x)2 Des fonctions pr ́ed ́efinies:
ln(x);# logarithme n ́ep ́erien de x
exp(x);# exponentielle de x
sqrt(x);# racine carr ́ee de x
floor(x);# partie enti`ere de x
ceil(x);# entier imm ́ediatement sup ́erieur `a x
abs(x);# valeur absolue de x
On peut d ́efinir de nouvelles fonctions :
•sous forme d’une expression :
a:= (x2 +1)/(x−2);
•sous forme d’une fonction :
f:=x→3∗tan(x)−1;
Etude d’une fonction math ́ematique
•Limites
f:=x→sin(x)/x;limit(f(x),x=0);
f:=x→x+exp(−x);limit(f(x),x=infinity);
limit(tan(x),x=Pi/2);
limit(tan(x),x=Pi/2,left);limit(tan(x),x=Pi/2,right);
•D ́eriv ́eesg:=x→x 5
−3∗x+7;diff(g(x),x);
h:=x→2∗sin(x);D(h);
diff(h(x),x$3); (D@@3)(h);# d ́eriv ́ee troisi`eme
•Evaluation
f:=x→2∗arctan(x);f(1);
u:= (sin(x))2 (x);eval(u,x=sqrt(2)/2);
•Repr ́esentation graphiquev:=2∗x 2
+3∗x−4;plot(v,x=−5..5);
plot(v,x=−5..5,y=−10..10,discont=true);3 Calcul int ́egral
int(sin(x)−x,x);# calcul de primitive
int(sin(x)−x,x=0..Pi);# calcul d’int ́egrale d ́efinie
evalf(int(1/(2∗sqrt(x)),x=0..Pi));# int ́egrer num ́eriquement
Equations diff ́erentielles
deq:=diff(y(x),x$2)−5∗diff(y(x),x)−6∗y(x) =2∗exp(x);
dsolve(deq,y(x));# r ́esolution d’une ́equation diff ́erentielle
D ́eveloppement en s ́eries
taylor(exp(−x)∗sin(2∗x),x=0,6);# d ́eveloppement en s ́eries au-
tour de 0 jusqu’au terme d’ordre 6
mtaylor(sin(x2 +y2 ),{x,y},8,[2,1]);# d ́eveloppement en s ́eries par
rapport au couple de variables{x,y}jusqu’`a l’ordre 8, et autour du point [2,1]
Les structures de donn ́ees ́el ́ementaires
Maplenous donne les moyens de construire des structures de donn ́ees :
•Les listes
Pour construire une liste, il suffit d’entourer une s ́equence d’une paire de cro-
chets. Les listes sont des structures ordonn ́ees.Mapleconserve exactement
l’ordre dans lequel les ́el ́ements ont ́et ́e plac ́es dans la liste.
liste1:= [0,2,3,−8,5];
liste2:= [seq(i,i=1..5)];# une liste construite par la commandeseq
liste1+liste2;# ajouter la liste2 `a la liste1
liste3:= [seq(i2 ,i=1..10)];
liste3[8];# extraire le 8 `eme ́el ́ement de la liste3
•Les ensembles
Pour construire un ensemble, il suffit d’entourer une s ́equence d’une paire
d’accolades{}.Maple ́elimine automatiquement les r ́ep ́etitions entre les{}.
ensemble1:={1,2,3,4};
ensemble2:={a,b,c,d,1,3,5,3};
Mapleeffectue les op ́erations ensemblistes habituelles :
ensemble1unionensemble2;# la r ́eunion de deux ensembles4 ensemble1intersectensemble2;# l’intersection de deux ensembles
ensemble1minusensemble2;# la diff ́erence de deux ensembles
L’alg`ebre lin ́eaire
Pour manipuler les matrices (Matrix) et les vecteurs (Vector), il existe le pack-
ageLinearAlgebradans lequel on trouve un grand nombre de fonctions pour les
op ́erations sur les matrices et les vecteurs.
with(LinearAlgebra);
v1:=Vector([1,5,8]);
v2:=Vector([2,−5,3]);
mat1:=Matrix([[1,2,4],[3,5,1],[1,0,−2]]);
mat2:=Matrix([[7,2,−4],[4,−3,−1],[1,2,−2]]);
Pour ́evaluer des expressions alg`ebriques :
+et-repr ́esentent l’addition et la soustraction
*repr ́esente le produit par un scalaire
.repr ́esente le produit matriciel
ˆrepr ́esente l’ ́el ́evation d’une matrice `a une puissance enti`ere, qui peut ˆetre
n ́egative pour l’inverse
v1+v2;v1−v2;3∗v1+2∗v2;
2∗mat1−5∗mat2;mat1.mat2;mat12 ;mat2−1 ;
Determinant(mat1−x∗IdentityMatrix(3));# calcule le d ́eterminant
Sans faire appel `a ce package, on peut utiliser la fonctionevalmqui permet
d’ ́evaluer les expressions alg`ebriques matricielles :
U:=array([[1,2],[3,4]]);
V:=array([[1,1],[2,−1]]);
evalm(U+2∗V);
evalm(U2 );
evalm(U−1 );
evalm(sin(U));
evalm(U ∗V);5 Programmation en Maple
1.Structures alternatives
ifconditionthenaction elseaction fi;Exemple x:=2;y:=−3;
ifx > ythen
print(”Le minimum est y= ”, y)else print(”Le minimum est x= ”, x)fi; 2.Structures r ́ep ́etitives
•Si le nombre de r ́ep ́etitions est connu d’avance, une telle structure se
construit par :
forifrom1to15do;print(i 2) od;
•Si le nombre de r ́ep ́etitions n’est pas connu d’avance, on recourt `a :x:=3; whilex 10do
x:=x+ 2;
print(x);od; 3.Proc ́edure
Une proc ́edure est un ensemble d’instructions ordonn ́ees. Elle se construit
selon la syntaxe :
proc(donnees)
local(variables locales);action end;6 Les variables locales sont utilis ́ees durant l’ex ́ecution de la proc ́edure mais ne
sont pas accessibles `a l’ ́ext ́erieur de celle-ci.
Les variables globales sont utilis ́ees durant l’ex ́ecution de la proc ́edure mais sont
accessibles `a l’ ́ext ́erieur de celle-ci.Exemple restart:# r ́einitialisation de la sessionMaple
fact:=proc(n)
locali, p:
p:= 1;
forifrom1tondop:=p∗i; od;
print(”F actorielle n= ”, p)end; fact(10);
Si on tape p, on re ̧coit la lettre p
Reprenons l’exemple pr ́ec ́edent mais d ́eclarons la variable p comme variable glob-
ale : il suffit d’ajouter l’instruction
global p;
Alors si on tape p, on re ̧coit 3628800
7