TP Analyse Numerique PDF
TP Analyse Numerique PDF
TP Analyse Numerique PDF
Licence
C.MAAOUI
TP Analyse numrique
I.
Objectif du Tp
Crez un rpertoire sur votre compte dans lequel vous devrez mettre tous vos
programmes (fchiers .m).
Lancez MatLab.
Configurez le PATH avec le rpertoire cr plus haut.
II.
Exercices
Systme linaire
Exercice l :
Rsoudre le systme suivant sous MATLAB :
x 4y z w 2
2 x 7 y z 2w 16
x 4 y z 2w 1
3 x 10 y 2 z 5w 15
Exercice 2 :
Soit le systme d'quations linaires mal conditionn suivant :
C.MAAOUI
1 1 1
2 3 4 x1 0.95
1 1 1 x 0.67
3 4 5 2
0
.
52
x
1 1 1 3
4 5 6
Exercice 3:
Soit le circuit lectrique suivant :
40
i1
i2
i3
12V
6V
10
Figure1. Un rsaeu CC
- En utilisant la loi de Kirchhoff, calculer la valeur des trois courants il, i2, i3 sous MATLAB.
Equation polynomiale
Exercice 4 :
On donne le polynme suivant : px x 3 6 x 2 72 x 27
-Calculer les racines de ce polynme.
Exercice 5 :
La figure 2 reprsente le schma d'un systme de rtroaction, o K reprsente le gain.
R(s) +
-
G(s)
C(s)
K
Figure2. Systme rtroaction
1.
2.
C.MAAOUI
G s
K
avec K=6.5
ss 2s 2 4s 5
x 13 0
Rgression et interpolation:
Exercice7 :
Etude de la viscosit dynamique d'un liquide en fonction de la temprature :
La variation de la viscosit dynamique de l'eau en fonction de la temprature T est modlise
par la formule de Walther :
n
T
. ln
0
T
e
o est la viscosit de ce liquide la temprature To = 273K et T = t + To.
Aprs une srie de mesures, on a relev les valeurs suivantes de (en Poise) et de t (en C)
t (C)
10
15
20
25
30
35
40
45
50
55
60
(Po)
1.7940
1.7393
1.6899
1.6451
1.6044
1.5673
1.5334
1.5023
1.4737
1.4474
1.4232
1.4007
1.3799
t (C)
65
70
75
80
85
90
92
93
94
95
97
98
100
(Po)
1.3606
1.3427
1.3260
1.3104
1.2959
1.2822
1.2770
1.2745
1.2720
1.2695
1.2646
1.2622
1.2575
1. Tracer l'volution de en fonction de T pour les valeurs mesures (en nuage de points *).
2. Ecrire un algorithme valuant les paramtres inconnues, par la mthode des moindres carrs,
partir de l'ensemble des donnes (i, Ti).
3. Dterminer la valeur de l'exposant n.
4. Sur le mme graphe, tracer (en trait continu) l'volution du modle prdit ( en fonction de T).
5. Prdire la valeur de pour T= 32 C
6. Conclusions?
ln( )
T
, x 0 , ensuite on cherche un polynme de degr
Indications : On pourra choisir y
T
ln( 0 )
n (modle de prdiction).
C.MAAOUI
Intgration numrique:
Exercice 8 :
2
Calculer xdx par la rgle de trapze en utilisant cinq ordonnes. Que peut-on conclure ?
0
Exercice 9:
Les donnes mtorologiques, telles que les vitesses de vent, sont importantes dans la conception
des systmes de chauffage et d'air conditionn. Le tableau 1 contient les vitesses de vent
moyennes, mesures en janvier de chaque anne de 1969 1974, Berlin-tempelhof.
Les donnes, en m/s, sont reproduites partir du standard allemand DIN 4710.
1.
Complter le tableau en calculant la moyenne arithmtique des vitesses dans toutes
les directions.
2.
En considrant que les vitesses de vent V, sont des chantillons de fonctions
continues de la direction , calculer la moyenne telle que :
2
Vd
m 0
2
O est bien sr exprime en radians.
3.
Comparer les rsultats obtenus par (1) et par (2).
N
3.4
NE
3.5
E
4.0
Direction
SE
S
3.6
3.3
SW
3.6
W
3.8
NW
4.6
Moyenne
?
2.
3.
6
sin xdx
0
crire la fonction sinus et utiliser la fonction quad pour calculer lintgrale.
Comparer votre rsultat avec la valeur obtenue en (2).
Exercice 11:
C.MAAOUI
1.
2.
3.
4.
6 2x
e sin xdx
0
crire la fonction expsin et utiliser la fonction quad pour calculer lintgrale.
Tracer la fonction expsin avec la fonction fpIot;
Comparer votre rsultat avec la valeur obtenue en 2.
C.MAAOUI
Annexe
III. Rsolution d'quations
III.1 Systmes d'quations linaires
Un systme d'quations
a 21 a 22 ... a 2n
x2
b2
A
,
X
,
B
... ... ...
...
...
a
b
a
... a
x
mn
m1 m2
n
m
A est appel la matrice de coefficient et X le vecteur de solution.
On peut distinguer plusieurs critres pour caractriser ces quations par:
1.
le nombre d'quation m qui peut tre infrieur, gal ou suprieur au nombre
d'inconnues n;
2.
les valeurs, nulles ou non, des termes b , b ,............, bm ;
1 2
3.
la valeur de certains dterminants forms par les coefficients a , a ,...., a
, et les
11 12
mm
termes y , y ,..............., y .
1 2
m
Si nous analysons ces diffrents cas, il est possible de savoir si une solution existe et dans ce cas
si elle est unique.
2x x 2
1
2
x x 5
1
2
Nous pouvons utiliser MATLAB pour calculer
A=[2 -1;1 1];
B=[2;5];
X=inv(A)*B
X=
2.3333
2.6667
Conclusion
Si le nombre d'quations est gal au nombre d'inconnues, c'est dire si m=n et si det(A)0, le
systme admet alors une solution unique.
III.1.2 Equations linaires homognes
Un systme d'quations linaires dont les membres de droite sont nuls est dit homogne.
AX 0
1.
si det(A) # 0, la seule solution possible est X = 0 (toutes les variables sont nulles),
appele solution triviale.
2.
Si det(A)=0, plusieurs solution sont possibles.
Dans ce cas, il faut calculer le rang de la matrice A pour dduire le nombre de variables
indpendantes. Plus gnralement, supposons qu' partir de A, on puisse extraire une matrice rpar-r mineure o les r lignes et les r colonnes slectionnes ne sont pas ncessairement contigus,
dont le dterminant (d'ordre r) est non nul, et telle que tout dterminant d'ordre r+l extrait de la
mme matrice A soit nul : on dit alors que A est de rang r.
La fonction MATLAB rank donne directement le rang d'une matrice
A=[3 4 -2;-2 3 -4
5 1 2;-9 5 -10];
rank(A)
ans =
2
C.MAAOUI
Cela signifie que nous sommes en mesures de rsoudre un systme de deux quations deux
inconnues; la troisime inconnues a une valeur choisie arbitrairement.
III.1.3 Rsolution dquations linaires avec MATLAB
Considrons nouveau les equations:
2x x 2
1
2
x x 5
1
2
Avec MATLAB, nous pouvons les rsoudre l'aide de l'oprateur anti-slash, \ , comme suit :
A=[2 -1;1 1];
B=[2;5];
X=A\B
X=
2.3333
2.6667
Cette solution repose sur la modification d'une technique appele l'limination de Gauss.
L'oprateur anti-slash,'\', donne systmatiquement un rsultat qui n'est pas ncessairement la
solution du systme, mais cela peut tre une solution particulire (c.a.d l'une des solutions
possibles). Le thorme de Kronecker-Capelli permettra de dterminer si le systme possde une
solution, et si elle est unique.
Pour un systme donn A.X B , la matrice augmente du systme est la matrice [A B]. Selon le
thorme de Kronecker-Capelli : Un systme possde une solution si et seulement si sa matrice
de coefficient appele A et sa matrice augmente sont de mme rang. Appelons r ce rang et n le
nombre d'inconnues. Si r =n, la solution est unique, et si r < n, le systme a un nombre infini de
solutions.
rank(A),rank([A B])
ans =
2
ans =
2
C.MAAOUI
10
La solution MATLAB est une solution particulire. Il est ais de vrifier que la solution gnrale
du systme est:
x 11 x , x 6 2 x
1
3
2
3
La matrice A, de dimensions 2 par 3 n'est pas une matrice carre et n'est par consquent pas
inversible. On peut dfinir une matrice P, de dimension 3 par 2 appele pseudo-inverse de A
La fonction MATLAB pinv permet de calculer la matrice pseudo-inverse.
X=pinv(A)*B
X=
7.1667
1.6667
-3.8333
Exemple
2 x1 x 2 2
x1 x 5 2
6 x1 x 2 5
A=[2 -1;1 1;6 -1];
B=[2;5;-5];
X1=inv(A'*A)*A'*B
X1 =
-0.0946
2.4459
Remarque
X2=A\B
X2 =
-0.0946
2.4459
Comme nous l'avons spcifie prcdemment, A\B retourne toujours un rsultat. La signification
de ce rsultat diffre des cas rencontrs. Ainsi dans cet exemple la solution obtenue est au sens
des moindres carrs.
C.MAAOUI
11
Si on affiche le rsultat avec le format long, on obtient une erreur trs faible qui est la solution
calcule par MATLAB.
format long
X=A\B
X=
1.00000000000002
0.99999999999998
Une modification de valeur des lments de la matrice A ou B provoque une variation du rsultat
X.
On peut estimer la sensibilit de la solution des changements de coefficients des matrices A ou
B, l'aide du nombre de conditionnement. Avec MATLAB, on peut obtenir le nombre de
conditionnement de la matrice A par la commande suivante:
cond(A)
ans =
806.0238
Un principe de base est que lorsque le nombre de conditionnement est exprim sous la forme
suivante a.10 k , 1 a 9 . On considre gnralement que les k derniers chiffres significatifs du
rsultat ne sont pas fiables et doivent tre ignors. Dans cet exemple, on peut exprimer le nombre
deconditionnement par 8 x 102, ce qui signifie que les deux derniers chiffres des solutions ne
doivent pas tre pris en compte.
C.MAAOUI
12
IV
2.0000
3.0000
1.0000
4.0000
Rgression et interpolation
IV. 1 Introduction
Dans cette partie, nous prsenterons des fonctions utilises pour l'interpolation polynomiale. Ces
fonctions peuvent tre utilises pour ajuster des courbes exponentielles et de puissance. Les
techniques dcrites dans cette partie sont employes pour obtenir des relations entre des donnes
exprimentales, c'est l'objet de la rgression. En ingnierie, les rgressions sont employes dans
C.MAAOUI
13
des applications qui vont au-del de la simple interpolation. Par exemple, la forme gnrale de
l'quation qui caractrise un certain processus peut tre connue thoriquement, mais pas les
valeurs des coefficients qui apparaissent dans l'quation. Des tests sont ensuite effectus pour ce
processus, et les variables concernes sont mesures. La courbe de la forme thorique attendue est
ajuste aux donnes exprimentales par regression.
IV.2 Ajustement polynomial
Considrons la table de temprature par rapport la densit de l'eau suivante. On peut dterminer
la densit de l'eau en interpolant linairement.
Densite t/m3
0.99987
0.99997
1
0.99997
0.99988
0.99973
0.99953
0.99927
0.99897
Temprature C
0
2
4
6
8
10
12
14
16
0.9998
0.9996
0.9994
0.9992
0.999
0.9988
10
12
14
16
Densit de leau
L'tude graphique nous montre qu'une courbe du second ou du troisime degr serait plus
adapte.
Supposons que l'exprience a fourni m couple de donnes (xi,yi), et qu'une courbe du second degr
s'ajuste parfaitement ces donnes, nous devons dterminer les trois coefficient cl,, c2,, c3 de
l'quation suivante :
y c x 2 c x c ..(4)
1
2
3
qui minimisent la somme des erreurs au carr
C.MAAOUI
14
2
m
2
y c x c x c
i 1 i
2 i
3
i 1
Nous pouvons construire des matrices A, Y et C et utiliser l'oprateur anti-slash pour obtenir la
matrice des coefficients cl,, c2,, c3. Nous pouvons galement dfinir la drivation de la mthode
des moindres carrs
x12 x1 1
y1
c1
2
y
x2 x2 1
2
A
, Y
, C c 2
...
... ... ...
c 3
y
x m2 x m 1
m
et montrer que C At A At Y
Ces oprations peuvent tre ralises plus rapidement avec MATLAB. La fonction polyfit gnre
la matrice A et la rsout pour C.
1
C2=polyfit(x,y,2)
C2 =
-0.0000
0.0001
0.9999
A partir des valeurs de y, nous avons dduit la relation entre x, y. La technique est par consquent
appele rgression.
Remarque:
On peut tester des rgressions polynomiales de degr plus lev. Il y a cependant une limite pour
le degr du polynme capable de s'ajuster un jeu de donnes.
Soit n le degr dsir, on doit dterminer n+ 1 coefficients. Si le nombre m d'observations de
couples (x, y) est tel que:
1.
m < n+l, alors le problme est indtermin.
2.
Si m = n + 1, et qu'il n'y a pas deux valeurs de x gales entre elle, la procdure des
moindres carrs fournit le polynme qui passe par tous les points donns.
C.MAAOUI
15
3.
0.9998
0.9996
0.9994
0.9992
0.999
0.9988
10
12
14
16
C.MAAOUI
16
C3=polyfit(x,y,3)
C3 =
0.00000005997475 -0.00000862012987 0.00006624278499 0.99987030303030
y3=polyval(C3,x);
Pour comparer entre les deux approximations, nous allons calculer la somme des erreurs au carr
resid2=y-y2;
resid3=y-y3;
SSE2=sum(resid2.^2)
SSE2 =
3.465800865807020e-010
SSE3=sum(resid3.^2)
SSE3 =
1.839826839831241e-011
Il apparat que les rsidus de la rgression du troisime degr sont plus faibles que ceux de la
rgression du second degr.
l'quation avec
v ln y , nous
17
u=x ; v=log(y);
c=polyfit(u,v,1);
a=exp(c(2));
b=c(1);
y=a*exp(b*x);
Intgration numrique
Cette partie prsente la fonction d'intgration trapz. Les exemples sont bass essentiellement sur
des fonctions intgrer dfinies par des expressions mathmatiques.
De nombreux problmes d'ingnierie ncessitent le calcul de l'intgrale d'une function borne
un intervalle [a,b].
b
f x dx
a
Il est souvent difficile, voire impossible, de calculer cette intgrale de manire analytique.
Dans de pareil cas, nous pouvons l'approcher par la somme pondre d'un certain nombre de
valeurs, f(xo), f(xl), .... f(xn), values, ou mesures en n points.
b
n
f x dx ai f xi
i 1
a
Les coefficients ai sont appels multiplicateurs ou poids. Voici les exemples o il faut recourir
l'intgration numriques:
1. La fonction intgrer est donne sous forme d'expression mathmatique, mais son
intgrale ne peut s'exprimer en termes de fonctions lmentaires. En voici quelques
exemples:
1
x
dx
x 2 sin x dx, cos x dx,
e
x
x
ln x , 1 x 4 .
0
2. Certaines intgrales de fonctions sont dfinies par des tableaux de valeurs, values ou
mesures, en un certain nombre de points. Pour ces fonctions n'ayant pas d'expressions
mathmatiques, nous utilisons le terme de fonction intgrer sous forme de tableau.
Il est existe plusieurs mthodes pour extraire des formules d'intgration numrique, galement
appeles formules de quadrature.
b
1. En suivant un raisonnement gomtrique, considrons f x dx l'aire situe sous la
a
courbe f(x), entre x=a et x=b.
C.MAAOUI
18
x1
x2
x3
x4
x5
x6
x7
x8
I h f x f x f x ... f x
1
2
3
n
2
La fonction MATLAB trapz permet de calculer l'intgrale de la fonction.
Exemple
90
90
sin xdx,
cos xdx
Nous savons que les deux intgrales valent exactement 1. Avec MATLAB, nous pouvons
procder de la faon suivante:
C.MAAOUI
19
angle=0:15:90;x=(pi*angle/180)';
y=[sin(x) cos(x)];
trapz(x,y)
ans =
0.99428188829216 0.99428188829216
C.MAAOUI
20
area=quad(-3*x.^2+3,-1,1);
area =
4.0000
C.MAAOUI
21