69

Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

Méthodes numériques II (cours du 5 janv. 2016)

François Cuvelier

Laboratoire d'Analyse Géométrie et Applications

Institut Galilée

Université Paris XIII.

2017/01/02

2017/01/02 1 / 55

Page 2: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

Divers

‚ Volume horaire : 8ˆ 3h cours/TD, 2ˆ 8h TP.

‚ Prérequis des cours :

§ Cours commun Mathématiques pour l'ingénieur (L. El Alaoui), ...§ Algorithmique

§ Langage de programmation : Matlab/Octave

‚ Note �nale : pP1 ` P2 ` TPq{3 si possible.

§ P1 : partiel 1 du 7 février 2017 (1h30/2h00),§ P2 : partiel 2 du 21 mars 2017 (1h30/2h00),§ TP : travaux pratiques en mai et juin.

2017/01/02 2 / 55

Page 3: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

Objectifs

‚ Algorithmique numérique.

‚ Poursuite de l'apprentissage de Matlab/Octave.

‚ Résolution numériques d'équations di�érentielles ordinaires (E.D.O.[fr]ou O.D.E.[en]).

‚ Résolution numériques d'équations aux dérivées partielles (E.D.P.[fr]ou P.D.E.[en]) par des méthodes de di�érences �nies.

2017/01/02 3 / 55

Page 4: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

Plan du cours

Chapitre I : Algorithmique numériqueChapitre II : Dérivation numériqueChapitre III : Résolution numérique des E.D.O.Chapitre IV : Résolution numérique des E.D.P.

2017/01/02 4 / 55

Page 5: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

Part I

Algorithmique numérique

2017/01/02 5 / 55

Page 6: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

Plan

1 Introduction

2 Pseudo-langage algorithmique

3 Méthodologie de construction

4 Pseudo-langage algorithmique (suite)

5 Histoire de ponts

Introduction 2017/01/02 6 / 55

Page 7: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

Dé�nition

De�nition 1.1 (Petit Robert 97)

Algorithmique : Enchaînement d'actions nécessaires à l'accomplissementd'une tâche.

Introduction 2017/01/02 7 / 55

Page 8: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

Exemple 1 : permutation

Nous voulons permutter deux voitures sur un parking de trois placesnumérotées de 1 à 3 et ceci sans géner la circulation.La première voiture, une Saxo, est sur l'emplacement 2, la seconde, uneClio, est sur l'emplacement 3.Donner un algorithme permettant de résoudre cette tâche.

Introduction 2017/01/02 8 / 55

Page 9: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

Exemple 2 : équation du premier degré

Donner un algorithme permettant de résoudre

ax “ b

Introduction 2017/01/02 9 / 55

Page 10: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

Caractéristiques d'un bon algorithme

‚ Il ne sou�re d'aucune ambiguité ñ très clair.

‚ Combinaison d'opérations (actions) élémentaires.

‚ Pour toutes les données d'entrée, l'algorithme doit fournir un résultaten un nombre �ni d'opérations.

Introduction 2017/01/02 10 / 55

Page 11: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

Première approche méthodologique

Etape 1 : Dé�nir clairement le problème.

Etape 2 : Rechercher une méthode de résolution (formules, ...)

Etape 3 : Ecrire l'algorithme (par ra�nement successif pour desalgorithmes compliqués).

Introduction 2017/01/02 11 / 55

Page 12: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

Première approche méthodologique

Etape 1 : Dé�nir clairement le problème.

Etape 2 : Rechercher une méthode de résolution (formules, ...)

Etape 3 : Ecrire l'algorithme (par ra�nement successif pour desalgorithmes compliqués).

Introduction 2017/01/02 11 / 55

Page 13: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

Première approche méthodologique

Etape 1 : Dé�nir clairement le problème.

Etape 2 : Rechercher une méthode de résolution (formules, ...)

Etape 3 : Ecrire l'algorithme (par ra�nement successif pour desalgorithmes compliqués).

Introduction 2017/01/02 11 / 55

Page 14: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

Plan

1 Introduction

2 Pseudo-langage algorithmiqueLes basesLes instructions structurées

3 Méthodologie de construction

4 Pseudo-langage algorithmique (suite)

5 Histoire de ponts

Pseudo-langage algorithmique 2017/01/02 12 / 55

Page 15: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

Vocabulaire de base

‚ constantes,variables,

‚ opérateurs (arithmétiques, relationnels, logiques),

‚ expressions,

‚ instructions (simples et composées),

‚ fonctions.

Pseudo-langage algorithmique Les bases 2017/01/02 13 / 55

Page 16: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

Données et constantes

‚ Donnée ñ introduite par l'utilisateur

‚ Constante ñ symbole, identi�cateur non modi�able

Pseudo-langage algorithmique Les bases 2017/01/02 14 / 55

Page 17: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

Variables

De�nition 2.1

Une variable est un objet dont la valeur est modi�able, qui possède un nomet un type (entier, caractère, réel, complexe, tableau, matrice, vecteur...).

Pseudo-langage algorithmique Les bases 2017/01/02 15 / 55

Page 18: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

Opérateurs arithmétiques

Nom Symbole Exemple

addition ` a ` b

soustraction ´ a ´ b

opposé ´ ´a

produit ˚ a ˚ b

division { a{b

Pseudo-langage algorithmique Les bases 2017/01/02 16 / 55

Page 19: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

Opérateurs relationnels

Nom Symbole Exemple

identique ““ a ““ b

di�érent „“ a „“ b

inférieur ă a ă b

supérieur ą a ą b

inférieur ou égal ă“ a ă“ b

supérieur ou égal ą“ a ą“ b

Pseudo-langage algorithmique Les bases 2017/01/02 17 / 55

Page 20: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

Opérateurs logiques

Nom Symbole Exemple

négation „ „ a

ou | a|b

et & a&b

Pseudo-langage algorithmique Les bases 2017/01/02 18 / 55

Page 21: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

Opérateur d'a�ectation

Nom Symbole Exemple

a�ectation Ð aÐ b

Pseudo-langage algorithmique Les bases 2017/01/02 19 / 55

Page 22: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

Expressions

De�nition 2.2

Une expression est un groupe d'opérandes (i.e. nombres, constantes,variables, ...) liées par certains opérateurs pour former un terme algébriquequi représente une valeur (i.e. un élément de donnée simple)

Exemple d'expression numérique

pb ˚ b ´ 4 ˚ a ˚ cq{p2 ˚ aq

Opérandes ñ identi�ants a, b, c,constantes 4 et 2.

Opérateurs ñ symboles ˚, ´ et {

Pseudo-langage algorithmique Les bases 2017/01/02 20 / 55

Page 23: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

Expressions

De�nition 2.2

Une expression est un groupe d'opérandes (i.e. nombres, constantes,variables, ...) liées par certains opérateurs pour former un terme algébriquequi représente une valeur (i.e. un élément de donnée simple)

Exemple d'expression numérique

pb ˚ b ´ 4 ˚ a ˚ cq{p2 ˚ aq

Opérandes ñ identi�ants a, b, c,constantes 4 et 2.

Opérateurs ñ symboles ˚, ´ et {

Pseudo-langage algorithmique Les bases 2017/01/02 20 / 55

Page 24: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

Expressions

De�nition 2.2

Une expression est un groupe d'opérandes (i.e. nombres, constantes,variables, ...) liées par certains opérateurs pour former un terme algébriquequi représente une valeur (i.e. un élément de donnée simple)

Exemple d'expression numérique

pb ˚ b ´ 4 ˚ a ˚ cq{p2 ˚ aq

Opérandes ñ identi�ants a, b, c,constantes 4 et 2.

Opérateurs ñ symboles ˚, ´ et {

Pseudo-langage algorithmique Les bases 2017/01/02 20 / 55

Page 25: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

Expressions

De�nition 2.2

Une expression est un groupe d'opérandes (i.e. nombres, constantes,variables, ...) liées par certains opérateurs pour former un terme algébriquequi représente une valeur (i.e. un élément de donnée simple)

Exemple d'expression numérique

pb ˚ b ´ 4 ˚ a ˚ cq{p2 ˚ aq

Opérandes ñ identi�ants a, b, c,constantes 4 et 2.

Opérateurs ñ symboles ˚, ´ et {

Pseudo-langage algorithmique Les bases 2017/01/02 20 / 55

Page 26: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

Expressions

De�nition 2.3

Une expression est un groupe d'opérandes (i.e. nombres, constantes,variables, ...) liées par certains opérateurs pour former un terme algébriquequi représente une valeur (i.e. un élément de donnée simple)

Exemple d'expression booléenne

px ă 3.14q

Opérandes ñ identi�ants x et contantes 3.14Opérateurs ñ symboles ă

Pseudo-langage algorithmique Les bases 2017/01/02 21 / 55

Page 27: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

Expressions

De�nition 2.3

Une expression est un groupe d'opérandes (i.e. nombres, constantes,variables, ...) liées par certains opérateurs pour former un terme algébriquequi représente une valeur (i.e. un élément de donnée simple)

Exemple d'expression booléenne

px ă 3.14q

Opérandes ñ identi�ants x et contantes 3.14

Opérateurs ñ symboles ă

Pseudo-langage algorithmique Les bases 2017/01/02 21 / 55

Page 28: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

Expressions

De�nition 2.3

Une expression est un groupe d'opérandes (i.e. nombres, constantes,variables, ...) liées par certains opérateurs pour former un terme algébriquequi représente une valeur (i.e. un élément de donnée simple)

Exemple d'expression booléenne

px ă 3.14q

Opérandes ñ identi�ants x et contantes 3.14Opérateurs ñ symboles ă

Pseudo-langage algorithmique Les bases 2017/01/02 21 / 55

Page 29: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

Instructions

De�nition 2.4

Une instruction est un ordre ou un groupe d'ordres qui déclenchel'exécution de certaines actions par l'ordinateur. Il y a deux typesd'instructions : simple et structuré.

Pseudo-langage algorithmique Les bases 2017/01/02 22 / 55

Page 30: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

Instructions simples

‚ a�ectation d'une valeur a une variable.

‚ appel d'une fonction (procedure, subroutine, ... suivant les langages).

Pseudo-langage algorithmique Les bases 2017/01/02 23 / 55

Page 31: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

Instructions structurées

1 les instructions composées, groupe de pulsieurs instructions simples,

2 les instructions répétitives, permettant l'exécution répétéed'instructions simples, (i.e. boucles �pour�, �tant que�)

3 les instructions conditionnelles, lesquels ne sont exécutées que si unecertaine condition est respectée (i.e. �si�)

Pseudo-langage algorithmique Les instructions structurées 2017/01/02 24 / 55

Page 32: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

Exemple : boucle �pour�

Algorithme 1 Exemple boucle �pour�

Données : n : un entier positif

1: S Ð 02: Pour i Ð 1 à n faire

3: S Ð S ` cospi ˆ2q4: Fin Pour

Mais que fait-il?

Calcul de S “

nÿ

i“1

cospi2q

Pseudo-langage algorithmique Les instructions structurées 2017/01/02 25 / 55

Page 33: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

Exemple : boucle �pour�

Algorithme 2 Exemple boucle �pour�

Données : n : un entier positif

1: S Ð 02: Pour i Ð 1 à n faire

3: S Ð S ` cospi ˆ2q4: Fin Pour

Mais que fait-il?

Calcul de S “

nÿ

i“1

cospi2q

Pseudo-langage algorithmique Les instructions structurées 2017/01/02 25 / 55

Page 34: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

Exemple : boucle �tant que�

1: i Ð 0, x Ð 12: Tantque i ă 1000 faire3: x Ð x ` i ˚ i

4: i Ð i ` 15: Fin Tantque

Mais que fait-il?

Calcul de x “ 1`999ÿ

i“0

i ˆ2

Pseudo-langage algorithmique Les instructions structurées 2017/01/02 26 / 55

Page 35: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

Exemple : boucle �tant que�

1: i Ð 0, x Ð 12: Tantque i ă 1000 faire3: x Ð x ` i ˚ i

4: i Ð i ` 15: Fin Tantque

Mais que fait-il?

Calcul de x “ 1`999ÿ

i“0

i ˆ2

Pseudo-langage algorithmique Les instructions structurées 2017/01/02 26 / 55

Page 36: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

Exemple : instructions conditionnelles �si�

Données :

age : un réel.

1: Si age ą“ 18 alors2: a�che('majeur')3: Sinon Si age ą“ 0 alors4: a�che('mineur')5: Sinon

6: a�che('en devenir')7: Fin Si

Pseudo-langage algorithmique Les instructions structurées 2017/01/02 27 / 55

Page 37: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

Plan

1 Introduction

2 Pseudo-langage algorithmique

3 Méthodologie de constructionPrincipeExercices

4 Pseudo-langage algorithmique (suite)

5 Histoire de ponts

Méthodologie de construction 2017/01/02 28 / 55

Page 38: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

Description du problème

‚ Spéci�cation d'un ensemble de donnéesOrigine : énoncé, hypothèses, sources externes, ...

‚ Spéci�cation d'un ensemble de buts à atteindreOrigine : résultats, opérations à e�ectuer, ...

‚ Spéci�cation des contraintes

Méthodologie de construction Principe 2017/01/02 29 / 55

Page 39: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

Recherche d'une méthode de résolution

‚ Clari�er l'énoncé.

‚ Simpli�er le problème.

‚ Ne pas chercher à le traiter directement dans sa globalité.

‚ S'assurer que le problème est soluble (sinon problème d'indécidabilité!)

‚ Recherche d'une stratégie de construction de l'algorithme

‚ Décomposer le problème en sous problèmes partiels plus simples :ra�nement.

‚ E�ectuer des ra�nements successifs.

‚ Le niveau de ra�nement le plus élémentaire est celui des instructions.

Méthodologie de construction Principe 2017/01/02 30 / 55

Page 40: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

Réalisation d'un algorithme

‚ Le type des données et des résultats doivent être précisés.

‚ L'algorithme doit fournir au moins un résultat.

‚ L'algorithme doit être exécuté en un nombre �ni d'opérations.

‚ L'algorithme doit être spéci�é clairement, sans la moindre ambiguïté.

Méthodologie de construction Principe 2017/01/02 31 / 55

Page 41: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

Exercices

Exercise 3.1

On cherche les solutions réelles de l'équation

ax2 ` bx ` c “ 0, (1)

en supposant que a P R˚, b P R et c P R sont donnés.Ecrire un algorithme permettant de résoudre cette équation.

Méthodologie de construction Exercices 2017/01/02 32 / 55

Page 42: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

Exercices

Exercise 3.2

Ecrire un algorithme permettant de calculer

Spxq “

nÿ

k“1

k sinp2 ˚ k ˚ xq

Méthodologie de construction Exercices 2017/01/02 33 / 55

Page 43: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

Exercices

Exercise 3.3

Ecrire un algorithme permettant de calculer

Ppzq “

n“1

sinp2 ˚ k ˚ z{nqk

Méthodologie de construction Exercices 2017/01/02 34 / 55

Page 44: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

Exercices

Exercise 3.4

Reprendre les quatre exercices précédants en utilisant les boucles �tantque�.

Méthodologie de construction Exercices 2017/01/02 35 / 55

Page 45: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

Plan

1 Introduction

2 Pseudo-langage algorithmique

3 Méthodologie de construction

4 Pseudo-langage algorithmique (suite)Les fonctionsExemple : résolution d'une équationExemple : résolution d'une équation du second degré

5 Histoire de ponts

Pseudo-langage algorithmique (suite) 2017/01/02 36 / 55

Page 46: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

Les fonctions

Les fonctions permettent

‚ d'automatiser certaines tâches répétitives au sein d'un mêmealgorithme,

‚ d'ajouter à la clarté de la l'algorithme,

‚ l'utilisation de portion de code dans un autre algorithme,

‚ ...

Pseudo-langage algorithmique (suite) Les fonctions 2017/01/02 37 / 55

Page 47: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

Les fonctions prédé�nies

‚ les fonctions d'a�chage et de lecture : A�che, Lit

‚ les fonctions mathématiques :

sin, cos, exp, ¨ ¨ ¨

‚ les fonctions de gestion de �chiers

‚ ...

Pseudo-langage algorithmique (suite) Les fonctions 2017/01/02 38 / 55

Page 48: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

Les fonctions prédé�nies

‚ les fonctions d'a�chage et de lecture : A�che, Lit

‚ les fonctions mathématiques :

sin, cos, exp, ¨ ¨ ¨

‚ les fonctions de gestion de �chiers

‚ ...

Pseudo-langage algorithmique (suite) Les fonctions 2017/01/02 38 / 55

Page 49: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

Les fonctions prédé�nies

‚ les fonctions d'a�chage et de lecture : A�che, Lit

‚ les fonctions mathématiques :

sin, cos, exp, ¨ ¨ ¨

‚ les fonctions de gestion de �chiers

‚ ...

Pseudo-langage algorithmique (suite) Les fonctions 2017/01/02 38 / 55

Page 50: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

Ecrire ses propres fonctions

1 Que doit-on calculer/réaliser précisement (but)?

2 Quelles sont les données (avec leurs limitations)?

Pseudo-langage algorithmique (suite) Les fonctions 2017/01/02 39 / 55

Page 51: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

Syntaxe

Fonction rargs1, . . . , argsns Ð NomFonction( arge1, . . . , argem )instructions

Fin Fonction

Fonction args Ð NomFonction( arge1, . . . , argem )instructions

Fin Fonction

Pseudo-langage algorithmique (suite) Les fonctions 2017/01/02 40 / 55

Page 52: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

équation du premier degré

Ecrire une fonction permettant de résoudre

ax ` b “ 0

‚ But :

trouver x P R solution de ax ` b “ 0.

‚ Données :

a P R˚ et b P R.

‚ Résultats :

x P R.

Pseudo-langage algorithmique (suite) Exemple : résolution d'une équation 2017/01/02 41 / 55

Page 53: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

équation du premier degré

Ecrire une fonction permettant de résoudre

ax ` b “ 0

‚ But :trouver x P R solution de ax ` b “ 0.

‚ Données :

a P R˚ et b P R.

‚ Résultats :

x P R.

Pseudo-langage algorithmique (suite) Exemple : résolution d'une équation 2017/01/02 41 / 55

Page 54: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

équation du premier degré

Ecrire une fonction permettant de résoudre

ax ` b “ 0

‚ But :trouver x P R solution de ax ` b “ 0.

‚ Données :a P R˚ et b P R.

‚ Résultats :

x P R.

Pseudo-langage algorithmique (suite) Exemple : résolution d'une équation 2017/01/02 41 / 55

Page 55: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

équation du premier degré

Ecrire une fonction permettant de résoudre

ax ` b “ 0

‚ But :trouver x P R solution de ax ` b “ 0.

‚ Données :a P R˚ et b P R.

‚ Résultats :x P R.

Pseudo-langage algorithmique (suite) Exemple : résolution d'une équation 2017/01/02 41 / 55

Page 56: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

équation du premier degré

Algorithme 3 Exemple de fonction : Résolution de l'équation du premierdegré ax ` b “ 0.

Données : a : nombre réel di�érent de 0b : nombre réel.

Résultat : x : un réel.

1: Fonction x Ð REPD( a, b )2: x Ð ´b{a

3: Fin Fonction

Pseudo-langage algorithmique (suite) Exemple : résolution d'une équation 2017/01/02 42 / 55

Page 57: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

équation du second degré

On cherche les solutions réelles de l'équation

ax2 ` bx ` c “ 0, (2)

Pour celà, on pose ∆ “ b2 ´ 4ac

‚ si ∆ ă 0 alors les deux solutions sont complexes,

‚ si ∆ “ 0 alors la solution est x “ ´ b2a,

‚ si ∆ ą 0 alors les deux solutions sont x1 “´b´

?∆

2aet x2 “

´b´?∆

2a.

Exercice1 Ecrire la fonction discriminant permettant de calculer le

discriminant de l'équation (2).

2 Ecrire la fonction RESD permettant de résoudre l'équation (2) enutilisant la fonction discriminant.

3 Ecrire un programme permettant de valider ces deux fonctions.

Pseudo-langage algorithmique (suite)Exemple : résolution d'une équation du

second degré 2017/01/02 43 / 55

Page 58: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

Plan

1 Introduction

2 Pseudo-langage algorithmique

3 Méthodologie de construction

4 Pseudo-langage algorithmique (suite)

5 Histoire de ponts

Histoire de ponts 2017/01/02 44 / 55

Page 59: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

Mais avant de pousuivre ...

(a) Pont de la Basse-Chaîne, Angers(1850)

(b) Takoma Narrows Bridge,Washington (1940)

(c) Millenium Bridge, London (2000)

Figure : Une histoire de ponts

Histoire de ponts 2017/01/02 45 / 55

Page 60: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

Part II

Dérivation numérique

2017/01/02 46 / 55

Page 61: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

De�nition 5.1

Soit N P N˚. On appelle discrétisation régulière de ra, bs à N pas

ou N ` 1 points l'ensemble des points a ` nh, n P v0,Nw où le pas hest donné par h “ pb ´ aq{N.

On note tn “ a ` nh, n P v0,Nw, une discrétisation régulière de ra, bs etpDyqn une approximation de y 1ptnq. On appelle

‚ di�érence �nie progressive l'approximation

pDyqPn “yptn`1q ´ yptnq

h, @n P v0,N ´ 1w (3)

‚ di�érence �nie rétrograde l'approximation

pDyqRn “yptnq ´ yptn´1q

h, @n P v1,Nw (4)

‚ di�érence �nie centrée l'approximation

pDyqCn “yptn`1q ´ yptn´1q

2h, @n P v1,N ´ 1w (5)

2017/01/02 47 / 55

Page 62: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

Proposition 5.2: Développement de Taylor

Soit f une application f : ra, bs ÝÑ R. Si f P Cr`1pra, bsq alors‚ @px , yq P ra, bs2 il existe un ξ Psx , y r tel que

f pxq “ f pyq `

rÿ

k“1

f pkqpyq

k!px ´ yqk `

f pr`1qpξq

pr ` 1q!px ´ yqr`1 (6)

‚ @x P ra, bs, @h P R˚ véri�ant x ` h P ra, bs, il existeξ Psminpx , x ` hq,maxpx , x ` hqr tel quel

f px ` hq “ f pxq `

rÿ

k“1

f pkqpxq

k!hk `

f pr`1qpξq

pr ` 1q!hr`1 (7)

2017/01/02 48 / 55

Page 63: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

Exercise 5.1

Q.1 Soit y P C2pra, bsq.1 Montrer qu'il existe ηnP Pst

n, tn`1r et ηnR Pstn´1, tnr tels que

pDyqPn “ y p1qptnq `h

2y p2qpηnPq

et

pDyqRn “ y p1qptnq ´h

2y p2qpηnRq

2 En déduire que

| y p1qptnq ´ pDyqPn | ď C1h, avec C1 “1

2max

tPrtn,tn`1s| y p2qptq|

et

|y 1ptnq ´ pDyqRn | ď C2h, avec C2 “1

2max

tPrtn´1,tns| y p2qptq|

Q.2 Soit y P C3pra, bsq.1 Montrer qu'il existe ηn1 Pst

n, tn`1r et ηn2 Pstn´1, tnr tels que

pDyqCn “ y p1qptnq ´h2

12py p3qpηn1q ` y p3qpηn2qq

2 En déduire que

| y p1qptnq ´ pDyqCn | ď Eh2, avec E “1

6max

tPrtn´1,tn`1s| y p3qptq|

2017/01/02 49 / 55

Page 64: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

De�nition 5.3

Soit g une fonction. On dit que g se comporte comme un grand O de hq

quand h tend vers 0 si et seulement si il existe H ą 0 et C ą 0 tel que

|gphq| ď Chq, @h Ps ´ H,Hr.

On note alors gphq “ Ophqq.

De�nition 5.4

La di�érence |y 1ptnq ´ pDyqn| est appelée erreur de troncature au

point tn. On dira que |y 1ptnq ´ pDyqn| est d'ordre p ą 0 si il existeune constance C ą 0 telle que

|y 1ptnq ´ pDyqn| ď Chp ðñ |y 1ptnq ´ pDyqn| “ Ophpq.

2017/01/02 50 / 55

Page 65: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

On a démontré le lemme suivant

Lemma 5.5

Si y P C2pra, bsq alorsˇ

ˇ

ˇ

ˇ

y 1ptnq ´yptn`1q ´ yptnq

h

ˇ

ˇ

ˇ

ˇ

“ Ophq, @n P v0,N ´ 1w, (8)

ˇ

ˇ

ˇ

ˇ

y 1ptnq ´yptnq ´ yptn´1q

h

ˇ

ˇ

ˇ

ˇ

“ Ophq, @n P v1,Nw. (9)

Si y P C3pra, bsq alorsˇ

ˇ

ˇ

ˇ

y 1ptnq ´yptn`1q ´ yptn´1q

2h

ˇ

ˇ

ˇ

ˇ

“ Oph2q, @n P v1,N ´ 1w. (10)

2017/01/02 51 / 55

Page 66: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

TD

Exercise 5.2

Soit f P C3pra, bs;Rq. On note tn, n P v0,Nw, une discrétisation régulière de ra, bsde pas h. On note FFF P RN`1 le vecteur dé�ni par Fn`1 “ f ptnq, @n P v0,Nw.Q.1

1 Déterminer en fonction de h et FFF , un vecteur VVV P RN`1 véri�ant

Vn`1 “ f 1ptnq `Ophq, @n P v0,Nw

2 Ecrire une fonction algorithmique permettant, à partir du vecteur FFF et de la

discrétisation régulière, de calculer le vecteur VVV précédant.

Q.2

1 Connaissant uniquement le vecteur FFF , déterminer un vecteur VVV P RN`1 véri�ant

WWW n “ f 1ptnq `Oph2q.

2 Ecrire une fonction algorithmique permettant, à partir du vecteur FFF et de la

discrétisation régulière, de calculer le vecteur WWW précédant.

2017/01/02 52 / 55

Page 67: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

Application

0 1 2 3 4 5 6 7

x

-1

-0.5

0

0.5

1

1.5

y

h=2 π /10

y=f'(x)

DeriveOrdre1

DeriveOrdre2

0 1 2 3 4 5 6 7

x

-1

-0.5

0

0.5

1

1.5

y

h=2 π /100

y=f'(x)

DeriveOrdre1

DeriveOrdre2

Figure : Représentation des dérivées numériques avec f pxq :“ sinpxq, a “ 0,b “ 2π. A gauche h “ 2π

10, à droite h “ 2π

100.

2017/01/02 53 / 55

Page 68: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

Application

0 1 2 3 4 5 6 7

x

0.05

0.1

0.15

0.2

0.25

0.3

0.35

err

or

Erreur DeriveOrdre1 : h=2 π /10

0 1 2 3 4 5 6 7

x

0

0.02

0.04

0.06

0.08

0.1

0.12

err

or

Erreur DeriveOrdre2 : h=2 π /10

0 1 2 3 4 5 6 7

x

0

0.01

0.02

0.03

0.04

err

or

Erreur DeriveOrdre1 : h=2 π /100

0 1 2 3 4 5 6 7

x

0

0.5

1

1.5

err

or

×10-3 Erreur DeriveOrdre2 : h=2 π /100

Figure : Erreur des dérivées numériques numériques avec f pxq :“ sinpxq, a “ 0,b “ 2π. A gauche h “ 2π

10, à droite h “ 2π

100.

‚ Dérivée ordre 1 :h a été divisé par 10 ùñ l'erreur, Ophq, divisée par 10.

‚ Dérivée ordre 2 :h a été divisé par 10 ùñ l'erreur, Oph2q, divisée par 100.

2017/01/02 54 / 55

Page 69: Méthodes numériques II (cours du 5 janv. 2016)cuvelier/docs/Enseignements/... · constantes,variables, ... logiques), expressions, instructions (simples et composées), fonctions

Application

10 -3 10 -2 10 -1

h

10 -5

10 -4

10 -3

10 -2

10 -1

Err

eur

ordres des methodes de dérivation

DeriveOrdre1 (0.99986)

DeriveOrdre2 (1.99941)

O(h)

O(h2)

Figure : Dérivation numérique : mise en évidence de l'ordre des méthodes

Figure en échelle logarithmique : intérêt de monter en ordre.

2017/01/02 55 / 55