introduction aux méthodes numériques et projet

26
Introduction aux m´ ethodes num´ eriques et projet Quentin Louveaux, Fr´ ed´ eric Nguyen, Olivier Bruls 4 f´ evrier 2014 Quentin Louveaux, Fr´ ed´ eric Nguyen, Olivier Bruls Introduction aux m´ ethodes num´ eriques et projet 4 f´ evrier 2014 1 / 26

Upload: vanphuc

Post on 30-Dec-2016

234 views

Category:

Documents


2 download

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

10−20 10−15 10−10 10−5 1000

1

2

3

4

5

6

7

8

f (1+h)−f (1)h

en fonction de h

Quentin Louveaux, Frederic Nguyen, Olivier Bruls Introduction aux methodes numeriques et projet 4 fevrier 2014 26 / 26