introduction aux méthodes numériques et projet
TRANSCRIPT
Introduction aux methodes numeriques et projet
Quentin Louveaux, Frederic Nguyen, Olivier Bruls
4 fevrier 2014
Quentin Louveaux, Frederic Nguyen, Olivier Bruls Introduction aux methodes numeriques et projet 4 fevrier 2014 1 / 26
Organisation du cours
Methodes numeriques et projet
1e bac. Ingenieur civil
8 heures de cours theorique
Un projet matlab a realiser par groupes de 4
Note basee sur la participation, le rapport ecrit du projet et un examen oral (sur leprojet) qui se deroule au mois d’avril.
Introduction aux methodes numeriques
1e bac. Sciences InformatiquesAnnee preparatoire au master en Sciences Informatiques2e bac. Ingenieur civil Architecte
8 heures de cours theorique
6 heures de repetition
8 heures de repetition matlab en salles informatiques
Un examen matlab
Un examen ecrit de theorie et d’exercices
Quentin Louveaux, Frederic Nguyen, Olivier Bruls Introduction aux methodes numeriques et projet 4 fevrier 2014 2 / 26
Organisation du cours
Cours theorique
4 cours theoriques communs aux ingenieurs civils, ingenieurs architectes et sciencesinformatiques
Cours les mercredis 5/2, 19/2, 26/2 et le 5/3 de 13h45 a 15h45 au 304 (B4)
Repetitions pour les sciences informatiques et les ingenieurs architectes
Les 12/3, 19/3, 26/3 de 13h45 a 15h45 (1.94 pour les sc. info. et 1.97 (B28) pourles ing. archi. et annee prep.)
Repartition en 2 groupes d’une quarantaine d’etudiants
Les 2/4, 23/4, 30/4, 7/5 : initiation a matlab dans les salles infos (B37) de 13h30 a15h pour les sc. info., et de 15h a 16h30 pour les ing. archi. et annee prep.
Mercredi 14/5 : examen matlab
Quentin Louveaux, Frederic Nguyen, Olivier Bruls Introduction aux methodes numeriques et projet 4 fevrier 2014 3 / 26
Organisation du cours
Projet pour les ingenieurs civils
A realiser avec le langage matlab par groupes de 4
Encadre le vendredi apres-midi ( !preparer ces seances !)
Vendredi 7/2, 14/2 : initiation au langage matlabRepartition des etudiants sur ecampus!Remplir l’enquete Portable et MATLAB sur ecampus !http://www.ecampus.ulg.ac.be/
Introduction au projet et presentation de l’enonce
mercredi 12/2 de 13h45 a 15h45
26/2 Seance de formation au travail en groupe 16h -16h45
Milestones 28/2 et 21/3
Presentation de la grille d’evaluation generale. Comment rediger un rapport ? par P.Tossings le 2/4
Remise du projet le 13/4
Inscrire les groupes de 4 sur le site ecampus du cours avant le mardi 11/2 a 23h59
Evaluation du projet 22/4-28/4
Feedback semaine 5/5
Quentin Louveaux, Frederic Nguyen, Olivier Bruls Introduction aux methodes numeriques et projet 4 fevrier 2014 4 / 26
Exemple de realisation de projet 2012
Quentin Louveaux, Frederic Nguyen, Olivier Bruls Introduction aux methodes numeriques et projet 4 fevrier 2014 5 / 26
Supports
Notes de cours
Syllabus disponible a la CdC et en format pdf sur les sites web des cours
Transparents imprimables a la CdC et disponibles en format pdf sur les sites descours
Pour les sciences informatiques et architectes, feuilles de repetitions disponiblesprochainement sur le site du cours
Pour les ingenieurs, tutoriel matlab et enonce du projet disponibles sur le site web ducours
Sites web
Pour les ingenieurshttp://www.ecampus.ulg.ac.be/
Pour les sciences informatiques et les architecteswww.montefiore.ulg.ac.be/˜louveaux/methnum.html
Quentin Louveaux, Frederic Nguyen, Olivier Bruls Introduction aux methodes numeriques et projet 4 fevrier 2014 6 / 26
Cours d’analyse numerique
Qu’est-ce que c’est ?
Savoir transposer la connaissance mathematique pure a un ordinateur auxperformances finies
Resoudre numeriquement des problemes dont la solution analytique est connue ounon
Analyser le comportement des methodes
Quentin Louveaux, Frederic Nguyen, Olivier Bruls Introduction aux methodes numeriques et projet 4 fevrier 2014 7 / 26
Quentin Louveaux, Frederic Nguyen, Olivier Bruls Introduction aux methodes numeriques et projet 4 fevrier 2014 8 / 26
Matlab
MATrix LABoratory
Mode interactif
Syntaxe tres simple pour le calcul matricielOn peut utiliser des operations aussi simples que
I A=[1 2 3;4 5 6;7 8 9] 1 2 34 5 67 8 9
I A*b, rank(A), A(1,:), A.*B,. . .
De nombreuses fonctions de haut niveau sont pre-implementeesI Resolution de systemes non lineairesI Operations complexes sur des polynomesI Integration numeriqueI Dessin de graphes en 2D ou 3D
Quentin Louveaux, Frederic Nguyen, Olivier Bruls Introduction aux methodes numeriques et projet 4 fevrier 2014 9 / 26
Des exemples typiques de methodes numeriques
Des problemes dont la solution analytique est connue
Resolution de systemes d’equations lineaires
Evaluation de la constante e.A partir du theoreme de Taylor,
ex = 1 + x +x2
2!+
x3
3!+
x4
4!+ · · ·
Si on utilise les 4 premiers termes, on a donc, comme approximation
e ≈ 1 + 1 +1
2+
1
6+
1
120≈ 2.71667
Quentin Louveaux, Frederic Nguyen, Olivier Bruls Introduction aux methodes numeriques et projet 4 fevrier 2014 10 / 26
Des exemples typiques de methodes numeriques
L’evaluation de ex
Erreur relative : εt = a−aa
ou a est la valeur exacte et a la valeur approximee.
Si |εt | ≤ 0.5× 101−s , on dit que a a s chiffres significatifs.
Evaluation de la constante e en ajoutant successivement des termes de la series(processus iteratif).A partir du theoreme de Taylor,
ex ≈ 1, iteration i=0
ex ≈ 1 + x , iteration i=1
...
...
Quand s’arreter si on veut trois chiffres significatifs ?
→ |εt | ≤ 0.005 ou |εt |(%) ≤ 0.5%
Quentin Louveaux, Frederic Nguyen, Olivier Bruls Introduction aux methodes numeriques et projet 4 fevrier 2014 11 / 26
Approximation de l’erreur
N’ayant pas acces a la vraie valeur, on peut utiliser une approximation de l’erreur relative
εa =ai − ai−1
ai
Iter. Resultats εt( %) εa( %)0 1.00000 63.212061 2.00000 26.42411 50.000002 2.66667 1.89882 25.000003 2.70833 0.36598 1.538464 2.71667 0.05942 0.306755 2.71805 0.00832 0.051106 2.71825 0.00102 0.00730
Quentin Louveaux, Frederic Nguyen, Olivier Bruls Introduction aux methodes numeriques et projet 4 fevrier 2014 12 / 26
Resolution de systemes lineaires
Soit le systeme lineaire 1 3 2 82 0 0 11 3 5 60 1 1 4
x1
x2
x3
x4
=
101294
Methode connue 1
Methode de Cramer
D =
∣∣∣∣∣∣∣∣1 3 2 82 0 0 11 3 5 60 1 1 4
∣∣∣∣∣∣∣∣ , x1 =
∣∣∣∣∣∣∣∣10 3 2 812 0 0 19 3 5 64 1 1 4
∣∣∣∣∣∣∣∣D
, x2 =
∣∣∣∣∣∣∣∣1 10 2 82 12 0 11 9 5 60 4 1 4
∣∣∣∣∣∣∣∣D
, . . .
Quentin Louveaux, Frederic Nguyen, Olivier Bruls Introduction aux methodes numeriques et projet 4 fevrier 2014 13 / 26
Resolution de systemes lineaires
Methode 2
Elimination de Gauss Obtention de la forme echelonnee par combinaison des lignes1 3 2 80 1 1 40 0 3 −20 0 0 31
x1
x2
x3
x4
=
104−150
Ensuite, substitution arriere
x4 =50
31, x3 =
−1 + 2x4
3, x2 = 4− 4x4 − x3, x1 = 10− 8x4 − 2x3 − 3x2.
Comparaison des 2 methodes
Si on a n variables et equations :
Cramer : on doit calculer n + 1 determinants de matrices carrees de taille n.Au total (n + 1)! operations
Gauss : En gros, il faut n3 operations pour obtenir la forme echelonnee et n2 operationspour resoudre la substitution arriere.Au total n3 + n2 operations
Quentin Louveaux, Frederic Nguyen, Olivier Bruls Introduction aux methodes numeriques et projet 4 fevrier 2014 14 / 26
Comparaison du temps de calcul
Machine effectuant 1012 operations par seconde :
n Cramer GaussOperations Temps Operations Temps
4 120 0 80 010 4 107 0 1100 020 5 1019 591 jours 8400 027 329 Age de la terre 105 0
500 +∞ . . . 108 1 sec
. . . sans compter les erreurs potentielles dans le calcul des determinants. . .
Quentin Louveaux, Frederic Nguyen, Olivier Bruls Introduction aux methodes numeriques et projet 4 fevrier 2014 15 / 26
Exemple d’application : des reacteurs couples
Melange de substances non reactives
Que valent les differentes concentrations Ci ?
Quentin Louveaux, Frederic Nguyen, Olivier Bruls Introduction aux methodes numeriques et projet 4 fevrier 2014 16 / 26
Bilan de masse
Le premier reacteur donne en entree : Q01 × C01 + Q31 × C3 et en sortieQ15 × C1 + Q12 × C1 ce qui donne 6C1 − C3 = 50 Le second donne −C1 + C2 = 0 etainsi de suite jusqu’a construire le systeme :
6C1 − C3 = 50
−C1 + C2 = 0
−C2 + 9C3 = 160
−C2 − 8C3 + 11C4 − 2C5 = 0
−3C1 − C2 + 4C5 = 0
Resolution dans matlab
Ceci se resout en ecrivant dans matlabA=[6 0 -1 0 0 ; -3 3 0 0 0 ; 0 -1 9 0 0; 0 -1 -8 11 -2; -3 -1 0 0 4]
b=[50;0;160;0;0]’
C=A\b[C=11.51 11.51 19.06 17.00 11.51] en mg/m3
Quentin Louveaux, Frederic Nguyen, Olivier Bruls Introduction aux methodes numeriques et projet 4 fevrier 2014 17 / 26
Problemes pour l’analyse numerique
Des problemes dont la solution analytique n’est pas connue
Resolution d’equations non lineaires
Approximation de l’integrale definie d’une fonction
Resolution de systemes d’equations differentielles ordinaires
Problemes d’optimisation de fonctions avec contraintes
Quentin Louveaux, Frederic Nguyen, Olivier Bruls Introduction aux methodes numeriques et projet 4 fevrier 2014 18 / 26
Resolution numerique d’une equation non lineaire
Cherchons une racine a l’equation
f (x) = x3 + x − 1 = 0.
Iter. x y z := x+y2
f (z)0 0.000000 1.000000 0.500000 -0.3750001 0.500000 1.000000 0.750000 0.1718752 0.500000 0.750000 0.625000 -0.1308593 0.625000 0.750000 0.687500 0.0124514 0.625000 0.687500 0.656250 -0.0611275 0.656250 0.687500 0.671875 -0.0248306 0.671875 0.687500 0.679688 -0.0063147 0.679688 0.687500 0.683594 0.0030378 0.679688 0.683594 0.681641 -0.0016469 0.681641 0.683594 0.682617 0.000694
10 0.681641 0.682617 0.682129 -0.000477
Quentin Louveaux, Frederic Nguyen, Olivier Bruls Introduction aux methodes numeriques et projet 4 fevrier 2014 19 / 26
Graphe de la fonction f (x) = x3 + x − 1
0 0.2 0.4 0.6 0.8 1
−1
−0.8
−0.6
−0.4
−0.2
0
0.2
0.4
0.6
0.8
1
a
b
x1
x2
x3
x4
Quentin Louveaux, Frederic Nguyen, Olivier Bruls Introduction aux methodes numeriques et projet 4 fevrier 2014 20 / 26
Analyse du comportement des methodes
Critere d’arret et precision
Nombre d’iterations necessaires pour arriver a une precision desiree.Exemple : Cas de la dichotomie ou xn → x
On part d’un intervalle [a, b]
A l’iteration i , la taille de l’intervalle est b−a2i
Si on veut s’assurer que |xn − x | ≤ ε, on a
1
2
b − a
2i≤ |xn − x | ≤ ε
c’est-a-dire 2i ≥ b−a2ε
ou
i ≥ln(b−a2ε
)ln 2
.
Quentin Louveaux, Frederic Nguyen, Olivier Bruls Introduction aux methodes numeriques et projet 4 fevrier 2014 21 / 26
Analyse du comportement des methodes
Pour obtenir un precision ε de 0.001, il faut que
i ≥ln( b−a
2×0.001)
ln(2)≈ 9
Iter. x y z := x+y2
f (z)0 0.000000 1.000000 0.500000 -0.3750001 0.500000 1.000000 0.750000 0.1718752 0.500000 0.750000 0.625000 -0.1308593 0.625000 0.750000 0.687500 0.0124514 0.625000 0.687500 0.656250 -0.0611275 0.656250 0.687500 0.671875 -0.0248306 0.671875 0.687500 0.679688 -0.0063147 0.679688 0.687500 0.683594 0.0030378 0.679688 0.683594 0.681641 -0.0016469 0.681641 0.683594 0.682617 0.00069410 0.681641 0.682617 0.682129 -0.000477
Quentin Louveaux, Frederic Nguyen, Olivier Bruls Introduction aux methodes numeriques et projet 4 fevrier 2014 22 / 26
Analyse du comportement des methodes
Ordre de convergence
Vitesse a laquelle l’itere se rapproche de la solution desiree.
Lorsque yn → y avec |yn − y | ≤ c0cpn,
pour c0, p > 0 et 0 < c < 1, on parle de convergence d’ordre p.
|xn − x | ≤ b−a2n
= (b − a)0.5n
La dichotomie a un ordre de convergence d’ordre 1 ou lineaire.
Quentin Louveaux, Frederic Nguyen, Olivier Bruls Introduction aux methodes numeriques et projet 4 fevrier 2014 23 / 26
Analyse du comportement des methodes
Sensibilite aux erreurs des donnees
Certains problemes sont mal conditionnes.Une petite perturbation des donnees entraıne une grosse variation de la solution.Exemple :Considerons le systeme 51 30 50
102 59 100152 90 149
x1
x2
x3
=
104
.
Solution :x = (−9 2 8)T .Petite erreur dans la matrice : 50.99 30 50
102 59 100152 90 149
x1
x2
x3
=
104
.
Nouvelle solution x = (−2.91 1.94 1.83)T
Quentin Louveaux, Frederic Nguyen, Olivier Bruls Introduction aux methodes numeriques et projet 4 fevrier 2014 24 / 26
Analyse du comportement des methodes
Les erreurs d’arrondi
L’ordinateur calcule en precision finie.Cela implique de devoir arrondir les nombres pour les stocker dans la memoire.Parfois anodin mais peut mener a des comportements aberrants.Exemple :On souhaite approximer la derivee de
f (x) = x4
en x = 1. Si les mathematiques sont correctes, on devrait avoir
f ′(x) = 4x3, f ′(1) = 4.
On calcule
f ′(1) ≈ f (1 + h)− f (1)
h
pour h suffisamment petit.
Quentin Louveaux, Frederic Nguyen, Olivier Bruls Introduction aux methodes numeriques et projet 4 fevrier 2014 25 / 26