Tp analyse numérique - analyse numérique avec matlab - téléc

Télécharger PDF

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.

pack complet des cours, TDs, TPs et projets sur analyse numérique

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 maintenant

Universit ́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