0% ont trouvé ce document utile (0 vote)
11 vues234 pages

Exercices et aide-mémoire en mathématiques

Transféré par

FirHtamAsking
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
11 vues234 pages

Exercices et aide-mémoire en mathématiques

Transféré par

FirHtamAsking
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

UE 731 – Remise à niveau

Mathématiques
Recueil d’exercices corrigés et aide-mémoire

Gloria Faccanoni
i [Link]
Master Informatique

Dernière mise-à-jour : Mardi 30 septembre 2025


1 ère année
Gloria FACCANONI

IMATH Bâtiment M-117 T 0033 (0)4 83 16 66 72


Université de Toulon
Avenue de l’université B [Link]@[Link]
83957 LA GARDE - FRANCE i [Link]
Table des matières

Syllabus 5

I Contenu principal du cours 9


1. Calcul différentiel et intégrale dans R2 11
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.2 Lignes ou courbes de niveau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.3 Dérivées partielles du premier ordre et gradient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.4 Dérivées partielles de deuxième ordre et matrice Hessienne . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.5 Optimisation (dans un ouvert et sans contraintes) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.6 Optimisation approchée: principe de la méthode “descente de gradient” . . . . . . . . . . . . . . . . . . 25
1.7 Intégrales doubles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
1.8 Fonctions prédéfinies en Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
1.9 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

2. Interpolation 89
2.1 Interpolation polynomiale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
2.2 Généralisation: l’interpolation dans un espace vectoriel quelconque . . . . . . . . . . . . . . . . . . . . . 100
2.3 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

3. Approximation au sens des moindres carrés 131


3.1 Fitting par une relation affine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
3.2 Fitting polynomiale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
3.3 Fitting dans un espace vectoriel quelconque . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
3.4 Résumé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
3.5 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149

4. Initiation aux réseaux de neurones 159


4.1 Perceptron: fonction paramétrique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
4.2 Réseau de neurones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
4.3 Calcul des poids d’un réseau de neurones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
4.4 Application ①: l’approximation au sens des moindres carrées par un réseau de neurones . . . . . . . . . 180
4.5 Application ② : Physics-Informed Neural Network (PINN) . . . . . . . . . . . . . . . . . . . . . . . . . . . 192

II Annexes 199
A. Exercices de calcul différentiel et intégral dans R 201
A.1 Dérivées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
A.2 Primitives et intégrales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214

B. Exercices sur la Méthode de Gauss 227


B.1 Systèmes carrés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
B.2 Systèmes avec plus d’équations qu’inconnues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
B.3 Systèmes avec plus d’inconnues que d’équations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233

3
Syllabus
L’UE 731 de la première année du Master Informatique se compose de deux volets : une remise à niveau en mathéma-
tiques et une remise à niveau en informatique.
Vous recevrez deux notes distinctes : une pour les mathématiques (CCM ) et une pour l’informatique (CCI ). La note
finale est déterminée de manière à favoriser votre meilleur résultat, selon la formule suivante :
n o
Note finale = max 0.4 × CCM + 0.6 × CCI ; 0.6 × CCM + 0.4 × CCI .

Une page Moodle dédiée à l’UE (contenant ce polycopié ainsi que d’autres ressources) est accessible librement (i.e.
même en accès anonyme) à l’adresse [Link]

Partie “Informatique”
La partie remise à niveau en informatique est coordonnée par Mme Valérie G ILLOT. Elle fait intervenir plusieurs
enseignants-chercheurs. L’organisation précise de cette partie, ainsi que les modalités de calcul de la note CCI , vous
seront présentées lors de sa première séance.

Partie “Mathématiques”
Contenu
La partie remise à niveau en mathématiques a pour objectif de consolider les acquis de licence tout en introduisant
des méthodes mathématiques appliquées à des situations concrètes
Le contenu se décline en quatre grands thèmes.

1. Optimisation sans contrainte. Fonctions de plusieurs variables, courbes de niveau, dérivées partielles du pre-
mier et du second ordre, gradient, matrice hessienne, conditions d’optimalité dans un ouvert sans contraintes,
intégrales doubles.
2. Interpolation. Interpolation polynomiale avec les bases canonique, de Lagrange et de Newton, puis interpolation
dans un espace vectoriel plus général, avec une introduction à la base de Fourier.
3. Approximation au sens des moindres carrés. Ajustement de données (fitting) par des fonctions affines et
polynomiales, avec généralisation à des sous-espaces vectoriels quelconques.
4. Introduction aux réseaux de neurones. Modélisation d’un neurone simple à poids fixés (avec interprétation
géométrique), construction de réseaux multicouches à poids fixés (avec interprétation géométrique), calcul des
poids par minimisation d’une fonction d’énergie (rétropropagation), mise en perspective avec les méthodes de
fitting vues précédemment.

Nous utiliserons le langage Python pour vérifier certains calculs et illustrer des notions. Deux approches seront
distinguées :

• les calculs formels, réalisés à l’aide du module sympy, permettant de manipuler des expressions exactes ;
• les calculs numériques ou approchés, réalisés à l’aide de modules comme numpy, scipy ou pandas.

Les deux séances de TP seront consacrées à l’utilisation ou même à l’implémentation de certains algorithmes
mathématiques sous-jacents à ces bibliothèques, afin de mieux en comprendre les principes et les limites.

Polycopié
Tous les chapitres sont accompagnés d’un support pédagogique exposant les notions essentielles du cours et d’exer-
cices corrigés afin de renforcer la compréhension et la mise en pratique. L’aide-mémoire propose une explication
concise des concepts abordés en cours, mettant en avant les points clés pour structurer le travail personnel et faciliter la
compréhension d’autres ouvrages. Il contient de nombreux exercices corrigés. Toutefois, il ne saurait remplacer les
séances de cours ni la prise de notes. Il est conçu pour aider à se concentrer sur les explications orales. Enfin, notez que
ce document peut contenir des erreurs que vous êtes encouragés à signaler.

5
Syllabus Dernière mise à jour : Mardi 30 septembre 2025

Organisation
En ce qui concerne la partie “Mathématiques”, elle est organisée en 17 séances de 2h chacune. Voici le découpage des
séances :

Date Heure Séance n° Contenu Déroulement


lundi 8/9 10h-12h 1 Syllabus / Rappels 2h de CM/TD
lundi 8/9 14h-16h 2 2h de CM
mardi 9/9 14h-16h 3 Chapitre 1 2h de TD
jeudi 11/9 10h-12h 4 1h de TD + 45’ CC1 + 15’ corrections
lundi 15/9 10h-12h 5 2h de CM
mardi 16/9 10h15-12h15 6 Chapitre 2 2h de TD
mardi 16/9 14h-16h 7 1h de TD + 45’ CC2 + 15’ corrections
lundi 22/9 10h-12h 8 - 2h de TP (Jupyter)
lundi 22/9 14h-16h 9 2h de CM
mardi 23/9 10h15-12h15 10 Chapitre 3 2h de TD
mardi 23/9 14h-16h 11 1h de TD + 45’ CC3 + 15’ corrections
lundi 29/9 10h15-12h15 12 2h de CM
mardi 30/9 10h15-12h15 13 Chapitre 4 2h de TD
mardi 30/9 14h-16h 14 1h de TD + 45’ CC4 + 15’ corrections
vendredi 3/10 14h-16h 15 - 2h de TP (Jupyter)
lundi 6/10 10h-12h 16 - 2h de TD
lundi 6/10 14h-16h 17 - 2h CCFinal

Évaluation
La note CCM est obtenue comme moyenne pondérée de plusieurs évaluations :

1X 4 1
CCM = CCi + CCFinal .
8 i =1 2

• Le CCFinal est une évaluation écrite individuelle sur tout le programme. Une (et une seule !) feuille A4 recto-verso
manuscrite par étudiant est autorisée.
• Les quatre CCi sont des contrôles continus par équipe : chaque équipe doit rendre une seule copie. Lors de ces
évaluations, une (et une seule !) feuille A4 recto-verso manuscrite par équipe est autorisée.

Composition des équipes


Pour composer les équipes, je vous ai regroupés en 4 groupes comme suit :

A1 Falchi Ugo B1 Bigueure Pierre C1 Rodyhin Nikita D1 Cartry Ambre


A2 Cissé Fatou B2 Dixon Joshua C2 Dega Hugo D2 Phan Damien
A3 Fennech Nessia B3 Gesset Maxime C3 Boulidat Yassine D3 Dejean Thomas
A4 Pugni-Beaulieu Nathan B4 Marandon Lorenzo C4 Durogene Judyanne D4 Borel Yannis
A5 Viesier Agate B5 Ali-Moussa Naïm C5 Martin Dylan D5

Chaque équipe est constituée de 4 étudiants, un par groupe. La composition des équipes change d’un chapitre à
l’autre et est imposée.

Chapitre 1 Chapitre 2 Chapitre 3 Chapitre 4 TP Info


Equipe α A1 , B1 , C1 , D1 A1 , B2 , C3 , D4 A1 , B3 , C5 , D2 A1 , B4 , C2 , D5 A1 , B5 , C4 , D3
Equipe β A2 , B2 , C2 , D2 A2 , B3 , C4 , D5 A2 , B4 , C1 , D3 A2 , B5 , C3 , D1 A2 , B1 , C5 , D4
Equipe γ A3 , B3 , C3 , D3 A3 , B4 , C5 , D1 A3 , B5 , C2 , D4 A3 , B1 , C4 , D2 A3 , B2 , C1 , D5
Equipe δ A4 , B4 , C4 , D4 A4 , B5 , C1 , D2 A4 , B1 , C3 , D5 A4 , B2 , C5 , D3 A4 , B3 , C2 , D1
Equipe ε A5 , B5 , C5 , D5 A5 , B1 , C2 , D3 A5 , B2 , C4 , D1 A5 , B3 , C1 , D4 A5 , B4 , C3 , D2

Vous pouvez vérifier dans ce tableau de fréquences qu’un étudiant n’est en équipe avec un autre étudiant qu’une et
une seule fois (et jamais avec un étudiant de son groupe) :

6 © 2024-2026 G. Faccanoni
Dernière mise à jour : Mardi 30 septembre 2025 Syllabus

© 2024-2026 G. Faccanoni 7
Première partie

Contenu principal du cours

9
CHAPITRE 1

Calcul différentiel et intégrale dans R2

Dans ce chapitre

1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.1.1 Représentations de fonctions de deux variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.2 Lignes ou courbes de niveau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.3 Dérivées partielles du premier ordre et gradient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.3.1 Dérivées partielles premières . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.3.2 Dérivées des fonctions composées: règle de dérivation en chaîne (chain rule) . . . . . . . . . . . 15
1.3.3 Gradient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.3.4 Plan tangent et calcul approché . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.4 Dérivées partielles de deuxième ordre et matrice Hessienne . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.5 Optimisation (dans un ouvert et sans contraintes) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.6 Optimisation approchée: principe de la méthode “descente de gradient” . . . . . . . . . . . . . . . . . . 25
1.6.1 Descente de gradient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
1.7 Intégrales doubles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
1.7.1 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
1.8 Fonctions prédéfinies en Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
1.8.1 Calcul formel avec sympy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
1.8.2 Affichage avec matplotlib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
1.8.3 Descente de gradient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
1.9 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

1.1. Introduction
Une fonction f de Rn à valeurs réelles associe à tout point x ≡ (x 1 , x 2 , . . . , x n ) de Rn un réel f (x). Le point x ∈ Rn se note
aussi x ou x. Pour n = 2, on utilise souvent la notation (x, y), pour n = 3, (x, y, z).
Le domaine de définition ¯ f est ªl’ensemble
de D f ⊂ Rn des points x ≡ (x 1 , x 2 , . . . , x n ) ayant une image par f .
n+1
L’ensemble S = (x, f (x)) ¯ x ∈ D f de R
©
est la surface représentative de f , analogue à la courbe représentative
d’une fonction d’une variable. La représentation géométrique des fonctions de n variables se fait dans un espace à
n + 1 dimensions, ce qui dépasse la bidimensionnalité des pages d’un livre. Pour contourner cette difficulté, nous nous
limiterons aux représentations des fonctions de deux variables, sous forme de dessins en perspective ou de coupes par
des plans horizontaux ou verticaux, offrant des informations utiles bien que partielles. Ce problème de visualisation
introduit une rupture nette par rapport aux fonctions d’une variable étudiées antérieurement.

1.1.1. Représentations de fonctions de deux variables


Lorsque n = 2, le graphe et de la latitude). On visualise le graphe d’une fonction

G f ≡ (x, y, z = f (x, y)) ¯ (x, y) ∈ D f f : R2 → R


© ¯ ª

(x, y) 7→ f (x, y)

est tridimensionnel, et peut être vu comme le relief d’une


région (par exemple, l’altitude en fonction de la longitude par l’altitude z = f (x, y).

11
Chapitre 1. Calcul différentiel et intégrale dans R2 Dernière mise à jour : Mardi 30 septembre 2025

Les axes x et y sont conventionnellement situés dans un plan horizontal (le domaine D f apparaît alors comme un
sous-ensemble de ce plan), tandis que la dimension verticale est réservée aux valeurs de z. Ainsi, à tout (x, y) ∈ D f , dont
l’image est f (x, y) ∈ R, correspond le point du graphe (x, y, f (x, y)) ∈ R3 . Une mise en perspective permet de visualiser
les surfaces en trois dimensions, avec l’axe z toujours vertical. Pour des raisons de lisibilité, les axes x et y peuvent ne
pas être présentés selon la même orientation.
E XEMPLE
Le graphe de la fonction f : R2 → R définie par f (x, y) = x 2 − y 2 est une surface de R3 ayant la forme d’une selle de
cheval, comme visible ci-dessous.

1.2. Lignes ou courbes de niveau


Si on considère des coupes horizontales, on obtient des courbes planes, dites courbes ou lignes de niveau.
Définition 1.1 (Lignes de niveau)
Soit k ∈ R et f une fonction de R2 dans R ; la courbe de niveau k de f est la projection sur le© plan d’équation z = 0ª de
l’intersection de la surface représentative de f avec le plan horizontal z = k, i.e. l’ensemble (x, y) ∈ D ¯ f (x, y) = k .
¯

En pratique, on représente simultanément différentes courbes de niveau pour visualiser la progression du graphe.
Cette représentation s’apparente aux cartes géographiques où le niveau correspond à l’altitude. Les courbes de niveau
d’une fonction f (x, y) fournissent une représentation géométrique de f sur le plan, tandis que son graphe en donne
une dans l’espace.

E XEMPLE
L’image ci-contre montre les courbes de niveau d’une fonc-
tion f . On peut alors se faire une idée de l’allure de la
fonction supposée continue. Par exemple, f (1, 3) ≈ 72,
f (4, 5) ≈ 56, et 40 < f (3, 3) < 50 ou 50 < f (3, 3) < 60.

12 © 2024-2026 G. Faccanoni
Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 1. Calcul différentiel et intégrale dans R2

E XEMPLE (C ARTES MÉTÉOROLOGIQUE )

Sur une carte météorologique, les courbes


de niveau sont les isothermes (lignes re-
liant les points d’égale température) ou les
isobares (lignes reliant les points d’égale
pression).

E XEMPLE (C ARTES TOPOGRAPHIQUES )


On peut considérer le relief d’une région comme le graphe d’une fonction de deux variables (par exemple, l’altitude
en fonction de la longitude et de la latitude). Une courbe de niveau indique les points de même altitude (ici, l’altitude
du point A est 940 + d = 940 + cb/a). En dessinant les courbes de niveau avec leur altitude correspondante, on obtient
la carte topographique du relief. La lecture d’une carte topographique permet d’obtenir des mesures quantitatives du
relief et de faire des observations qualitatives sur sa nature. Par exemple, localiser les points de plus haute et de plus
basse altitude, les crêtes, les vallées, les cols, etc., ainsi que les endroits où les pentes sont plus escarpées ou plus douces,
correspondant respectivement aux courbes de niveau très rapprochées ou très distantes.
Attention : dans cette représentation, les couleurs ne correspondent pas à la représentation planaire, mais servent à
reproduire les ombres.

1.3. Dérivées partielles du premier ordre et gradient


Rappels Soit f une fonction à valeurs réelles définie sur I, un intervalle ouvert de R. On dit que f est dérivable en
x 0 ∈ I s’il existe la limite finie
f (x) − f (x 0 )
lim
x→x 0 x − x0
ce qui équivaut à
f (x 0 + h) − f (x 0 )
lim .
h→0 h

Cette limite, notée f (x 0 ), est la dérivée de f en x 0 .

© 2024-2026 G. Faccanoni 13
Chapitre 1. Calcul différentiel et intégrale dans R2 Dernière mise à jour : Mardi 30 septembre 2025

Pour une fonction f : R2 → R, dont le graphe est une surface de R3 , la situation est différente. Le plan R2 possède
une infinité de directions. Pour étudier comment une fonction f : R2 → R évolue lorsque la variable suit l’une ou
l’autre direction du plan, considérons d’abord la direction à y fixé. Prenons le point (x 0 , y 0 ) du domaine de f . Son
image est f (x 0 , y 0 ) ∈ R, et le graphe de la fonction, qui est la surface d’équation z = f (x, y) de R3 , comporte le point
(x 0 , y 0 , f (x 0 , y 0 )). L’intersection du graphe de f avec le plan vertical y = y 0 est la courbe d’équation z = f (x, y 0 ) de R2 . Le
point (x 0 , y 0 ) étant fixé, cette courbe peut être interprétée comme le graphe de la fonction f y=y 0 d’une seule variable
définie par f y=y 0 (x) = f (x, y 0 ). Si f y=y 0 est dérivable en x 0 , alors sa dérivée nous renseigne sur la variation de f lorsque
(x, y) se déplace le long de la droite horizontale de R2 passant par (x 0 , y 0 ).
Par analogie, on peut répéter le même raisonnement à x fixé. En conclusion, lorsqu’on fixe toutes les variables sauf
une, on obtient une fonction d’une seule variable qui peut être dérivée selon les règles habituelles.

1.3.1. Dérivées partielles premières


Définition 1.2 (Dérivées partielles premières)
Soit f une fonction à valeurs réelles définie sur une partie ouverte D de R2 . Soit (x 0 , y 0 ) ∈ D. Les dérivées partielles de f
en (x 0 , y 0 ) sont les dérivées des fonctions partielles f y 0 et f x0 évaluées en (x 0 , y 0 ), c’est-à-dire :

∂f f (x, y 0 ) − f (x 0 , y 0 ) f (x 0 + h, y 0 ) − f (x 0 , y 0 )
(x 0 , y 0 ) = lim = lim ,
∂x x→x 0 x − x0 h→0 h
∂f f (x 0 , y) − f (x 0 , y 0 ) f (x 0 , y 0 + k) − f (x 0 , y 0 )
(x 0 , y 0 ) = lim = lim .
∂y y→y 0 y − y0 k→0 k

Il s’agit de limites d’une fonction réelle de variable réelle !


Si f admet toutes les dérivées partielles premières, on dit que f est dérivable.

Pour une fonction d’une variable, la dérivée est la pente de la tangente au graphe de la fonction (le graphe étant alors
une courbe). Pour une fonction de deux variables (x, y) 7→ f (x, y), les dérivées partielles indiquent les pentes au graphe
de f selon certaines directions (le graphe étant ici une surface). Plus précisément :
∂f
• ∂x (x 0 , y 0 ) est la pente du graphe de f en (x 0 , y 0 ) suivant la direction de l’axe (Ox). En effet cette pente est celle de
∂f
la tangente à la courbe z = f (x, y 0 ) et est donnée par la dérivée de x 7→ f (x, y 0 ) en x 0 , c’est donc bien ∂x (x 0 , y 0 ).
∂f
• ∂y (x 0 , y 0 ) est la pente du graphe de f en (x 0 , y 0 ) suivant la direction de l’axe (Oy).

∂f
Sur la figure de gauche, la dérivée partielle ∂x indique la pente de la tranche parallèle à l’axe (Ox) (en orange). Sur la
∂f
figure de droite, la dérivée partielle ∂y indique la pente de la tranche parallèle à l’axe (Oy) (en vert).

14 © 2024-2026 G. Faccanoni
Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 1. Calcul différentiel et intégrale dans R2

y y
x x

y0 x0 y0 x0
v = (1, 0) v = (0, 1)

Remarque (Notation)
∂f ∂f ¯
¯
La dérivée ∂x se note aussi ∂x f , f ,x ou encore ∂x ¯ y en insistant sur la variable considérée constante. (Attention à ne pas
confondre f ,x , la dérivée de f par rapport à x, avec f x=x0 , la fonction partielle associée à f .)

Astuce
En pratique, pour calculer ∂x f (resp. ∂ y f ), on dérive f comme si elle était une fonction de la seule variable x (resp. y),
l’autre variable étant considérée comme une constante.

E XEMPLE
Soit f (x, y) = 4 − x 2 − 2y 2 . Le graphe de f est le paraboloïde z = 4 − x 2 − 2y 2 . On a ∂x f (x, y) = −2x et ∂ y f (x, y) = −4y.
Le plan vertical y = 1 intersecte le paraboloïde dans la parabole z(x) = 2 − x 2 (courbe C1 à gauche). La pente de la
tangente à cette parabole au point (1, 1) est ∂x f (1, 1) = −2.
De même, le plan vertical x = 1 intersecte le paraboloïde dans la parabole z(y) = 2 − 2y 2 (courbe C2 à droite). La pente
de la tangente à cette parabole au point (1, 1) est ∂ y f (1, 1) = −4.

E XEMPLE
1. Pour f : R2 → R définie par f (x, y) = 3x 2 + x y − 2y 2 , on a D f = R2 , f est continue, ∂x f (x, y) = 6x + y (car y est
considérée constante) et ∂ y f (x, y) = x − 4y (car x est considérée constante).
2. Pour la fonction f : R3 → R définie par f (x, y, z) = 5xz ln(1 + 7y), on a D f = {(x, y, z) | y > −1/7}, f est continue,
35xz
∂x f (x, y, z) = 5z ln(1 + 7y), ∂ y f (x, y, z) = , ∂z f (x, y, z) = 5x ln(1 + 7y).
1 + 7y

3. Pour f : R3 → R définie par f (x, y, z) = cos(x + y 2 )e −z on a


∂f ∂f ∂f
(x, y, z) = − sin(x + y 2 )e −z , (x, y, z) = −2y sin(x + y 2 )e −z , (x, y, z) = − cos(x + y 2 )e −z .
∂x ∂y ∂z

4. Soit f : Rn → R définie par f (x 1 , . . . , x n ) = x 12 + x 22 + · · · + x n2 , alors pour i = 1, . . . , n


∂f
(x 1 , . . . , x n ) = 2x i .
∂x i

1.3.2. Dérivées des fonctions composées : règle de dérivation en chaîne (chain rule)
Cas R → R2 → R Soit f une fonction de deux variables admettant des dérivées partielles premières et x et y deux
fonctions dérivables de R dans R :

f : R2 → R h : R → R2
µ ¶ µ ¶
x h 1 (t )
7→ f (x, y) t 7→
y h 2 (t )
Alors la fonction g

© 2024-2026 G. Faccanoni 15
Chapitre 1. Calcul différentiel et intégrale dans R2 Dernière mise à jour : Mardi 30 septembre 2025

h f
g:R R2 R
µ ¶
h 1 (t )
t h(t ) = g (t ) = f (h 1 (t ), h 2 (t ))
h 2 (t )

est dérivable et
∂f ∂f
g ′ (t ) = (x(t ), y(t )) × x ′ (t ) + (x(t ), y(t )) × y ′ (t )
∂x ∂y
avec x = h 1 (t ) et y = h 2 (t ).
Cas R2 → R2 → R Soit f une fonction de deux variables x et y elles-même fonctions des deux variables u et v.

f : R2 → R2 x : R2 → R y : R2 → R h : R2 → R2
µ ¶
x(u, v)
(x, y) 7→ f (x, y) (u, v) 7→ x(u, v) (u, v) 7→ y(u, v) (u, v) 7→
y(u, v)

On peut définir la fonction composée g (u, v) = f (x(u, v), y(u, v)) :

h f
g : R2 R2 R
µ ¶
x(u, v)
(u, v) h(x, y) = g (u, v) = f (x(u, v), y(u, v))
y(u, v)

Lorsque les dérivées partielles premières qui interviennent sont définies, on a


∂g ∂f ∂x ∂f ∂y
(u, v) = (x(u, v), y(u, v)) × (u, v) + (x(u, v), y(u, v)) × (u, v),
∂u ∂x ∂u ∂y ∂u
∂g ∂f ∂x ∂f ∂y
(u, v) = (x(u, v), y(u, v)) × (u, v) + (x(u, v), y(u, v)) × (u, v).
∂v ∂x ∂v ∂y ∂v

En notation matricielle
∂u g ∂u x ∂u y ∂x f
µ ¶ µ ¶µ ¶
=
∂v g ∂v x ∂v y ∂y f

Cas R2 → R → R Soit f une fonction d’une variable x et x elle-même une fonction de deux variables u et v.

f : R→R x : R2 → R
x 7→ f (x) (u, v) 7→ x(u, v)

On peut définir la fonction composée g (u, v) = f (x(u, v)) :

x f
g : R2 R R
(u, v) x(u, v) g (u, v) = f (x(u, v))

Lorsque les dérivées partielles premières qui interviennent sont définies, on a


∂g ∂x
(u, v) = f ′ (x(u, v)) × (u, v),
∂u ∂u
∂g ∂x
(u, v) = f ′ (x(u, v)) × (u, v).
∂v ∂v

1.3.3. Gradient
Définition 1.3 (Vecteur gradient)
Le gradient de la fonction f : Rn → R évalué au point x̂ = (x̂ 1 , x̂ 2 , . . . , x̂ n ), noté ∇ f (x̂) ou encore grad f (x̂), est le vecteur
dont les composantes sont les dérivées partielles premières :

∂x1 f (x̂)
 
 ∂ f (x̂) 
 x2 
∇ f (x̂) =  .. 
.
 
 
∂xn f (x̂)

16 © 2024-2026 G. Faccanoni
Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 1. Calcul différentiel et intégrale dans R2

Remarque
Le gradient est un élément de Rn écrit comme un vecteur colonne. Parfois, pour alléger l’écriture, on peut aussi l’écrire
sous la forme d’un vecteur ligne.

E XEMPLE µ ¶
2x
Considérons la fonction f (x, y) = x 2 + 3y. Son gradient est ∇ f (x, y) = . Par exemple, au point (1, 2), le gradient est
3
µ ¶
2
∇ f (1, 2) = .
3

E XEMPLE
2x y 3
µ ¶ µ ¶
4
• f (x, y) = x 2 y 3 , ∇ f (x, y) = 2 2 . Au point (x 0 , y 0 ) = (2, 1), ∇ f (2, 1) = .
3x y 12
 
2x sin(y z)
2 2
• f (x, y, z) = x sin(y z), ∇ f (x, y, z) =  x z cos(y z).
x 2 y cos(y z)
2x 1
 
 . 
• f (x 1 , . . . , x n ) = x 12 + x 22 + · · · + x n2 , ∇ f (x 1 , . . . , x n ) =  .. .
2x n

Définition 1.4 (Droite tangente en (x 0 , y 0 ) à la courbe de niveau f (x 0 , y 0 ))


Au point (x 0 , y 0 ), l’équation de la tangente à la ligne de niveau de f est :

∂f ∂f
(x 0 , y 0 )(x − x 0 ) + (x 0 , y 0 )(y − y 0 ) = 0
∂x ∂y
pourvu que le gradient de f en ce point ne soit pas le vecteur nul.

E XEMPLE ( TANGENTE À UNE COURBE DE NIVEAU )


2 y2
Considérons la fonction f : R2 → R définie par f (x, y) = ax 2 + b 2 . Considérons la ligne de niveau passant par le point
³ ´
(x 0 , y 0 ) = pa , pb . On a
2 2
a b x2 y 2 a2 b2
µ ¶
f p , p = 02 + 02 = 2 + 2 = 1.
2 2 a b 2a 2b
La courbe de niveau passant par (x 0 , y 0 ) a pour niveau 1 et c’est une ellipse. Calculons maintenant la droite tangente à
cette courbe au point (x 0 , y 0 ) : les dérivées partielles en (x 0 , y 0 ) sont
p p
∂f 2x 0 2 a 2 1 ∂f 2y 0 2 b 2 1
(x 0 , y 0 ) = 2 = 2 p = = , (x 0 , y 0 ) = 2 = 2 p = = .
∂x a a 2 a x 0 ∂y b b 2 b y 0

L’équation de la droite tangente à l’ellipse E en ce point est donc


1 1 1 1 y0 b p
(x − x 0 ) + (y − y 0 ) = 0 ⇝ x+ y =2 ⇝ y = 2y 0 − x ⇝ y = − x + 2b.
x0 y0 x0 y0 x0 a

∇ f (x 0 , y 0 )

(x 0 , y 0 )
a
x
p
b T:y = − ba x + 2b

© 2024-2026 G. Faccanoni 17
Chapitre 1. Calcul différentiel et intégrale dans R2 Dernière mise à jour : Mardi 30 septembre 2025

Proposition 1.5
Soit f : R2 → R une fonction différentiable. On considère les lignes de niveau f (x, y) = k. Le vecteur gradient ∇ f (x 0 , y 0 )
est orthogonal à la ligne de niveau de f passant au point (x 0 , y 0 ).

Il indique ainsi la direction dans laquelle la fonction varie le plus vite.


Sur ce premier dessin, sont dessinés la ligne de niveau passant par le point (x 0 , y 0 ) (en rouge), un vecteur tangent v en
ce point et la tangente à la ligne de niveau (en vert). Le vecteur gradient est un vecteur du plan qui est orthogonal à la
ligne de niveau en ce point (en bleu).
y

∇ f (x 0 , y 0 )

T v
(x 0 , y 0 )
x

À chaque point du plan, on peut associer un vecteur gradient. Ce vecteur gradient est orthogonal à la ligne de niveau
passant par ce point. Nous verrons juste après comment savoir s’il est orienté « vers le haut » ou « vers le bas ».
y

E XEMPLE k =7
Considérons la fonction de R2 dans R définie par f (x,©y) = x 2 + y.¯ Le gradient T
ª de f est le vecteur ∇ f (x, y) = (2x, 1) .
2¯ 2
La courbe de niveau k de la fonction f est l’ensemble (x, y) ∈ R k x= 6 + y = k , autrement dit la parabole d’équation
y = −x 2 + k. Le gradient est orthogonal à la courbe de niveau de f qui passe par le point (x, y).
Dans la figure ci-dessous on considère le point (−1, 1). Le vecteurk gradient
=5 de f dans ce point vaut (−2, 1)T . Le point
2
donné appartient à la courbe de niveau 2 qui a pour équation y = −x + 2. La droite tangente à cette courbe au point
(−1, 1) a pour équation y = 2x + 3 qui est orthogonale au gradient. k = 4
µ ¶ y
−2
∇ f (−1, 1) =
1
k =2

1
k =1

−1 k =0 x

k = −1

k = −2

18 © 2024-2026 G. Faccanoni
Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 1. Calcul différentiel et intégrale dans R2

1.3.4. Plan tangent et calcul approché


Définition 1.6 (Plan tangent)
Soit D une partie ouverte de R2 et soit f : D → R une fonction différentiable en (x 0 , y 0 ). L’équation du plan tangent au
graphe de la fonction f (x, y) en (x 0 , y 0 ) s’écrit

L(x, y) = f (x 0 , y 0 ) + (x − x 0 )∂x f (x 0 , y 0 ) + (y − y 0 )∂ y f (x 0 , y 0 )

ce qui équivaut, en notant (h, k) = (x − x 0 , y − y 0 ), à

L(x 0 + h, y 0 + k) = f (x 0 , y 0 ) + h∂x f (x 0 , y 0 ) + k∂ y f (x 0 , y 0 ).

Si h et k sont petits, alors on a


f (x, y) ≈ L(x, y).

E XEMPLE
Considérons la fonction de R2 dans R définie par f (x, y) = x 2 + y. Le gradient de f est le vecteur ∇ f (x, y) = (2x, 1)T . Le
plan tangent à f en x̂ = (−1, 1) s’écrit
µ ¶
−2
L(x) = f (x̂) + (x − x̂)T · ∇ f (x̂) = (−1)2 + 1 + (x + 1, y − 1) · = 2 − 2(x + 1) + (y − 1) = −2x + y − 1.
1

On peut approcher la valeur de f en (x 0 , y 0 ) par la valeur du plan tangent au graphe en ce point. Sur la figure ci-
dessous sont représentés le graphe de f (en rouge), le plan tangent au-dessus du point (x 0 , y 0 ) (en bleu). La valeur
z 1 = f (x 0 +h, y 0 +k) est la valeur exacte donnée par le point de la surface au dessus de (x 0 +h, y 0 +k). On approche cette
∂f ∂f
valeur par z 2 = f (x 0 , y 0 ) + h ∂x (x 0 , y 0 ) + k ∂y (x 0 , y 0 ) donnée par le point du plan tangent au dessus de (x 0 + h, y 0 + k).

z2
z1

y
(x 0 , y 0 )
x (x 0 + h, y 0 + k)

E XEMPLE
On veut calculer une valeur approchée de f (1.002, 0.997) si f (x, y) = x 2 y. Prenons (x 0 , y 0 ) = (1, 1), h = 2 × 10−3 et
∂f ∂f 2 ∂f ∂f
k = −3 × 10−3 . On a alors ∂x (x, y) = 2x y, ∂y (x, y) = x , donc ∂x (x 0 , y 0 ) = 2, ∂y (x 0 , y 0 ) = 1. Ainsi

f (1 + h, 1 + k) ≃ f (1, 1) + 2h + k ⇝ f (1.002, 0.997) ≃ 1 + 2 × 2 × 10−3 − 3 × 10−3 ≃ 1.001.

Avec une calculatrice, on trouve f (1.002, 0.997) = 1.000992 : l’approximation est bonne.

E XEMPLE
On peut calculer le plan tangent à la fonction f : R2 → R définie par f (x, y) = xe x y en (1, 0) et utiliser sa linéarisation
pour approcher f (1.1, −0.1). On a

f (x, y) = xe x y f (1, 0) = 1
∂x f (x, y) = e x y + x ye x y ∂x f (1, 0) = 1
∂ y f (x, y) = x 2 e x y ∂ y f (1, 0) = 1

Les trois fonctions f , ∂x f et ∂ y f sont continues, donc f est différentiable. Sa linéarisation donne

f (x, y) ≃ f (1, 0) + (x − 1)∂x f (1, 0) + (y − 0)∂ y f (1, 0) = 1 + (x − 1) + y = x + y,

autrement dit xe x y ≃ x + y lorsque (x, y) ≃ (1, 0), ainsi f (1.1, −0.1) ≃ 1.1 − 0.1 = 1. En effet, f (1.1, −0.1) = 1.1e −0.11 ≈
0.98542

© 2024-2026 G. Faccanoni 19
Chapitre 1. Calcul différentiel et intégrale dans R2 Dernière mise à jour : Mardi 30 septembre 2025

Cette notion se généralise naturellement pour n > 2 : il s’agit en fait d’un plan tangent pour n = 2 et d’un hyperplan
tangent pour n > 2. Dans un espace de dimension n, un hyperplan est une variété linéaire de dimension n − 1.
Définition 1.7 (Plan tangent en Rn )
Soit D une partie ouverte de Rn et soit f : D → R une fonction différentiable en x̂. L’équation du plan tangent au graphe
de la fonction f (x) en x̂ est
L(x) = f (x̂) + (x − x̂)T · ∇ f (x̂).
ce qui équivaut, en notant δh = (x − x̂), à

L(x̂ + δh) = f (x̂) + δh T · ∇ f (x̂).

Si toutes les composantes de δh sont petites, alors on a

f (x) ≈ L(x).

1.4. Dérivées partielles de deuxième ordre et matrice Hessienne


Si les fonctions dérivées partielles admettent elles-mêmes des dérivées partielles en (x 0 , y 0 ), ces dérivées sont appelées
dérivées partielles secondes, ou dérivées partielles d’ordre 2, de f en (x 0 , y 0 ). On peut, de la même façon, introduire les
dérivées partielles d’ordres supérieurs. Les définitions suivantes s’énoncent dans des ensembles ouverts pour éviter les
problèmes liés au calcul de limites au bord du domaine.
Définition 1.8 (Dérivées partielles d’ordre 2 pour une fonction de deux variables)
Soit la fonction f : D ⊂ R2 → R où D f est un ouvert de R2 . On a 2 dérivées partielles d’ordre 1 et donc 4 dérivées partielles
d’ordre 2 ainsi notées :
∂2 f ∂ ∂f
µ ¶
(x 0 , y 0 ) = (x 0 , y 0 ) (notée aussi ∂xx f (x 0 , y 0 )),
∂x 2 ∂x ∂x
∂2 f ∂ ∂f
µ ¶
(x 0 , y 0 ) = (x 0 , y 0 ) (notée aussi ∂x y f (x 0 , y 0 )),
∂x ∂y ∂x ∂y
∂2 f ∂ ∂f
µ ¶
(x 0 , y 0 ) = (x 0 , y 0 ) (notée aussi ∂ y x f (x 0 , y 0 )),
∂y ∂x ∂y ∂x
∂2 f ∂ ∂f
µ ¶
(x 0 , y 0 ) = (x 0 , y 0 ) (notée aussi ∂ y y f (x 0 , y 0 )).
∂y 2 ∂y ∂y

Les dérivées partielles d’ordre supérieur à 2 se définissent par récurrence de façon analogue. Soit la fonction f : Rn → R ;
on aura n dérivées partielles d’ordre 1, n 2 dérivées partielles d’ordre 2, etc. donc n k dérivées partielles d’ordre k.
Théorème 1.9 (Théorème de S CHWARZ (ou de C LAIRAUT))
Si les dérivées partielles mixtes ∂x y f et ∂ y x f sont continues en (x 0 , y 0 ) alors ∂x y f (x 0 , y 0 ) = ∂ y x f (x 0 , y 0 ).

Définition 1.10 (Matrice hessienne)


Soit la fonction f : D ⊂ R2 → R où D f est un ouvert de R2 . La matrice hessienne de f en (x 0 , y 0 ) est la matrice de taille
2 × 2 dont les entrées sont les dérivées partielles secondes :

∂xx f (x 0 , y 0 ) ∂x y f (x 0 , y 0 )
µ ¶
H f (x 0 , y 0 ) = .
∂ y x f (x 0 , y 0 ) ∂ y y f (x 0 , y 0 )

Son déterminant est le réel dét(H f (x 0 , y 0 )) ≡ ∂xx f (x 0 , y 0 )∂ y y f (x 0 , y 0 ) − ∂x y f (x 0 , y 0 )∂ y x f (x 0 , y 0 ).

20 © 2024-2026 G. Faccanoni
Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 1. Calcul différentiel et intégrale dans R2

Cette notion se généralise naturellement pour n > 2.


E XEMPLE
Les dérivées premières et secondes de la fonction f (x, y) = −2x 2 + 3x y 2 − y 3 sont

∂x f (x, y) = −4x + 3y 2 , ∂ y f (x, y) = 6x y − 3y 2 ,


∂xx f (x, y) = −4, ∂x y f (x, y) = 6y, ∂ y x f (x, y) = 6y, ∂ y y f (x, y) = 6x − 6y.

La matrice hessienne est µ ¶


−4 6y
H f (x, y) = .
6y 6x − 6y
Dans cet exemple, on remarque que la matrice hessienne de f est symétrique du fait que les dérivées secondes mixtes,
∂x y f et ∂ y x f , sont égales.

Comme la dérivée seconde pour les fonctions d’une seule variable, la matrice hessienne permet d’étudier la convexité
des fonctions de plusieurs variables et joue, dès lors, un rôle important dans leur optimisation.

1.5. Optimisation (dans un ouvert et sans contraintes)


Un optimum ou extremum est soit un maximum soit un minimum, c’est-à-dire la valeur la plus haute ou la plus
faible que prend la fonction sur son ensemble de définition ou tout sous-ensemble de son ensemble de définition.
Définition 1.11
Soit f une fonction de D ⊂ Rn dans R. On dit que
• f est bornée dans D s’il existe un nombre réel M ≥ 0 tel que

∀x ∈ D, | f (x)| ≤ M;

• f admet un maximum (resp. minimum) global (ou absolu) en x0 ∈ D si

∀x ∈ D, f (x) ≤ f (x0 ) (resp. f (x) ≥ f (x0 )) ;

• f admet un maximum (resp. minimum) local (ou relatif) en x0 ∈ D s’il existe une boule de rayon non nul B(x0 , r )
telle que
∀x ∈ D ∩ B(x0 , r ), f (x) ≤ f (x0 ) (resp. f (x) ≥ f (x0 )).

Théorème 1.12 (de F ERMAT : condition nécessaire du premier ordre)


Soit D un sous-ensemble ouvert de Rn , x0 un point contenu dans D et f : D → R une fonction de classe C 1 en ce point.
Si f présente un extremum local alors
∇ f (x0 ) = 0.

Dans la suite du cours nous chercherons les points pour lesquels une fonction donnée présente un extremum local.
D’après le théorème précédent, ces points sont à chercher parmi les points en lesquels le gradient s’annule. On appelle
ces points des points stationnaires ou critiques :
Définition 1.13 (Point stationnaire ou critique)
Un point x0 vérifiant ∇ f (x0 ) = 0 est appelé point stationnaire ou point critique de f .

Nature d’un point critique : étude directe La condition du premier ordre signifie géométriquement que le plan
tangent à la surface d’équation z = f (x, y) au point (x 0 , y 0 ) de coordonnées (x 0 , y 0 , f (x 0 , y 0 )) est horizontal. Après avoir
déterminé un point stationnaire x0 , on peut alors déterminer sa nature en étudiant le signe de la différence

d (h) = f (x0 + h) − f (x0 ).

Si cette différence est de signe constant pour h voisin de 0, il s’agit d’un extrémum local (un maximum si d < 0, un
minimum si d > 0). Sinon, il s’agit d’un point-col (ou point-selle). Mieux, si le signe est constant pour h quelconque,
alors l’extrémum est global.
La figure à gauche illustre le cas d’un maximum et la figure au centre le cas d’un minimum. La figure à droite illustre
le fait que la condition nécessaire d’optimalité n’est pas une condition suffisante ; dans ce cas on dit que f présente
un col en (x 0 , y 0 ) ou que (x 0 , y 0 ) est un point-selle de f . Le mot col vient de l’exemple de la fonction altitude et de la
configuration (idéalisée) d’un col de montagne : minimum de la ligne de crête, maximum de la route, sans être un
extremum du paysage. Le mot selle vient de l’exemple d’une selle de cheval.

© 2024-2026 G. Faccanoni 21
Chapitre 1. Calcul différentiel et intégrale dans R2 Dernière mise à jour : Mardi 30 septembre 2025

5,0 -1,5 5,24

4,9 -1,6 5,14

4,8 -1,7 5,04

4,7 -1,8 4,94

4,6 -1,9 4,84


1,5 1,5 1,5

4,5 -2,0 4,74


2,0 2,0
2,0 -0,5 -0,5 x
-0,5 x x

0,0 0,0
0,0
2,5 2,5
2,5 y 0,5
y 0,5 y 0,5

E XEMPLE
On cherche les extrema de laª fonction f (x, y) = x 2 + y 2 dans le disque ouvert centré en (0, 0) de rayon 1, représenté par
2¯ 2 2
D = (x, y) ∈ R x + y < 1 . Le seul candidat extremum est l’unique point critique (0, 0) qu’on trouve en résolvant
© ¯

∂x f (x, y) = 0 et ∂ y f (x, y) = 0. La définition implique de façon immédiate que f admet un minimum global en (0, 0). En
effet
f (x, y) = x 2 + y 2 ≥ 0 = f (0, 0) ∀(x, y) ∈ D f .
En revanche, la fonction n’admet aucun maximum.

E XEMPLE
Chercher les points en lesquels f (x, y) = x 2 − y 3 + x y peut atteindre son minimum.
• Recherche des points critiques. On calcule
∂f ∂f
(x, y) = 2x + y (x, y) = −3y 2 + x.
∂x ∂y
On cherche les points (x, y) en lesquels les deux dérivées partielles s’annulent. Par l’annulation de la première
dérivée, on a 2x + y = 0 donc y = −2x. Par l’annulation de la seconde dérivée, on a −3y 2 + x = 0 ce qui donne par
1
substitution −12x 2 + x = 0, ainsi x(−12x + 1) = 0. Donc soit x = 0 et alors on a y = 0, soit x = 12 et alors y = − 61 . Il y
a donc deux points critiques µ ¶
1 1
(0, 0) et ,− .
12 6
• Étude du point critique (0, 0). On a f (0, 0) = 0 mais on remarque que f (0, y) = −y 3 qui peut être négatif ou positif
(selon le signe de y proche de 0), donc en (0, 0) il n’y a ni minimum ni maximum.
1
• Étude du point critique ( 12 , − 61 ). Il existe un critère (que l’on ne décrira pas ici) qui permet de dire qu’en ce point
f admet un minimum local.
Sur le dessin ci-dessous, le minimum est situé à l’intérieur du petit ovale, l’autre point critique en (0, 0) correspond à
l’intersection de la ligne de niveau f = 0 avec elle-même.

Sur l’exemple précédent, nous avons assez facilement calculé les points critiques à partir des deux équations à deux
inconnues. Il faut prendre garde que, en toute généralité, ce n’est pas un système linéaire et que dans le cas d’une
fonction plus compliquée il aurait été impossible de déterminer exactement les points critiques.
On note aussi dans l’exemple précédent que certains points critiques ne sont ni des maximums ni des minimums.
L’exemple type, illustré ci-dessous, est celui d’un col appelé aussi point-selle en référence à sa forme de selle de cheval.

22 © 2024-2026 G. Faccanoni
Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 1. Calcul différentiel et intégrale dans R2

F IGURE 1.1. – Point col ou point selle

Théorème 1.14 (Condition suffisante d’extrémum local dans un ouvert (cas de 2 variables))
Soit f une fonction de classe C 2 sur un ouvert D ⊂ R2 et (x 0 , y 0 ) un point stationnaire ; posons
¢2
dét(H f (x 0 , y 0 )) ≡ ∂xx f (x 0 , y 0 ) · ∂ y y f (x 0 , y 0 ) − ∂x y f (x 0 , y 0 ) ,
¡

le déterminant de la matrice hessienne de f évalué en (x 0 , y 0 ).


• Si dét(H f (x 0 , y 0 )) > 0, alors f présente un extrémum relatif en (x 0 , y 0 ) ; il s’agit
◦ d’un maximum si ∂xx f (x 0 , y 0 ) < 0
◦ d’un minimum si ∂xx f (x 0 , y 0 ) > 0 ;
• si dét(H f (x 0 , y 0 )) < 0, alors f présente un point-selle (ou point-col) en (x 0 , y 0 ) (cf.. la figure 1.1) ; ce n’est pas un
extrémum ;
• si dét(H f (x 0 , y 0 )) = 0, on ne peut pas conclure à partir des dérivées secondes.
En résumé, si ∂x f (x 0 , y 0 ) = 0 et ∂ y f (x 0 , y 0 ) = 0, la nature du point critique (x 0 , y 0 ) est déterminée par le tableaux
suivant :

dét(H f (x 0 , y 0 )) ∂xx f (x 0 , y 0 ) Nature de (x 0 , y 0 )


+ + minimum local
+ − maximum local
− point-selle
0 on ne peut pas conclure

E XEMPLE
On veut étudier la fonction f (x, y) = x 2 + y 2 − 2x − 4y sur R2 . Elle a pour dérivées partielles ∂x f (x, y) = 2x − 2 et
∂ y f (x, y) = 2y − 4 qui ne s’annulent qu’en (1, 2), seul point où il peut donc y avoir un extremum local. On étudie
directement le signe de la différence

d (h, k) = f (1 + h, 2 + k) − f (1, 2) = h 2 + k 2 > 0.

Comme cette différence est positive pour h et k voisins de 0 il s’agit d’un minimum. En effet, ∂xx f (1, 2) = 2 > 0,
∂ y y f (1, 2) = 2, ∂x y f (1, 2) = 0 donc dét(H f (1, 2)) = 4 > 0 et il s’agit bien d’un minimum.

E XEMPLE
Pour déterminer les extrema libres de la fonction f (x, y) = x 2 + y 3 − 2x y − y dans R2 , on constate d’abord que f est un
polynôme, donc différentiable dans l’ouvert R2 . Les seuls candidats extrema locaux sont les points critiques. Toutefois,
nous ne disposons d’aucune garantie à priori sur le fait que les éventuels extrema locaux soient globaux.
Recherche des points critiques On a
µ ¶ µ ¶ µ ¶
2x − 2y 0 1 1
∇f = 0 ⇐⇒ = ⇐⇒ (x, y) = − , − ou (x, y) = (1, 1).
3y 2 − 2x − 1 0 3 3

Les deux candidats sont donc − 31 , − 13 et (1, 1).


¡ ¢

© 2024-2026 G. Faccanoni 23
Chapitre 1. Calcul différentiel et intégrale dans R2 Dernière mise à jour : Mardi 30 septembre 2025

Classification La matrice hessienne de f en un point (x, y) ∈ R2 est

∂xx f (x, y) ∂x y f (x, y)


µ ¶ µ ¶
2 −2
H f (x, y) = = .
∂ y x f (x, y) ∂ y y f (x, y) −2 6y

Comme dét H f − 13 , − 13 < 0 et D(1, 1) > 0, alors (− 13 , − 13 ) est un point-selle et f admet en (1, 1) un minimum local
¡ ¡ ¢¢

de valeur f (1, 1) = −1. Ce minimum n’est cependant pas global puisque, par exemple, f (0, −2) = −6 < f (1, 1) = −1.

E XEMPLE
Une firme produit deux types de biens A et B. Son coût total de fabrication C et la demande respective des deux biens
q A et q B sont donnés par

C = q A2 + 2q B2 + 10, (1.1)
q A = 40 − 2p A − p B , (1.2)
q B = 35 − p A − p B . (1.3)

Quels sont les niveaux de production qui maximisent le profit ? Quels sont les prix de A et B qui suscitent une demande
correspondant à ces niveaux optimaux ?
Pour répondre à ces questions, on écrit la fonction profit Π(q A , q B ) = q A p A + q B p B −C(q A , q B ). De (1.2) et (1.3) on peut
déduire

p A = 5 − qA + pB, (1.4)
p B = 30 + q A − 2q B , (1.5)

et donc que
Π(q A , q B ) = 5q A − 2q A2 + 2q A q B − 4q B2 + 30q B − 10.
Pour maximiser le profit en fonction du niveau de production, on recherche d’abord les points stationnaires de Π :
µ ¶ µ ¶
5 − 4q A + 2q B 0
∇Π(q A , q B ) = , ∇Π(q A , q B ) = ⇐⇒ (q A , q B ) = (50/14, 65/14).
2q A − 8q B + 30 0

On étudie la nature de ce point critique en évaluant la matrice Hessienne :


µ ¶
−4 2
HΠ (q A , q B ) = ;
2 −8

pour le point stationnaire (50/14, 65/14) on a det(HΠ )(50/14, 65/14) > 0 et ∂q A q A Π(50/14, 65/14) < 0, donc le point
(50/14, 65/14) est un maximum local de Π. Comme HΠ (q A , q B ) ne dépend pas des variables q A et q B , on a det(HΠ )(q A , q B ) >
0 et ∂q A q A Π(q A , q B ) < 0 en tout point du domaine, autrement dit Π est une fonction concave et le point (50/14, 65/14) est
un maximum global de Π. Comme q A = 50/14 et q B = 65/14 maximisent le profit en fonction des niveaux de production,
les prix associés à ce niveau de production sont p A = 85/14 et p B = 340/14.

E XEMPLE (L OIS DE S NELL -D ESCARTES )


Un rayon lumineux se propage à la vitesse v 1 dans le milieu M1 et à la vitesse v 2 dans le milieu M2 . Le principe de
F ERMAT précise que la lumière suit le trajet le plus économique en temps.
En dimension 2. En notant x l’abscisse du point où la trajectoire coupe l’interface, le temps nécessaire pour aller de
(x 1 , z 1 ) à (x 2 , z 2 ) en passant par le point d’abscisse x vaut
q q
(x − x 1 )2 + z 12 (x 2 − x)2 + z 22
t (x) = + .
v1 v2
Cette quantité est (localement) optimale quand sa dérivée par rapport à x s’annule, c’est à dire lorsque
x − x1 x2 − x
q − q = 0,
v1 (x − x 1 )2 + z 12 v 2 (x 2 − x)2 + z 22

ce qui conduit à la loi de S NELL -D ESCARTES

sin(ϑ1 ) sin(ϑ2 )
= .
v1 v2

24 © 2024-2026 G. Faccanoni
Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 1. Calcul différentiel et intégrale dans R2

M1

z1
ϑ1
x2
x1 x
ϑ2

z2
M2

En dimension 3. Dans le cas tridimensionnel, la situation est similaire. Il s’agit cette fois de déterminer les coordonnées
(x, y) dans le plan de l’interface où le rayon coupera celui-ci. Le temps de trajet vaut cette fois
q q
(x − x 1 )2 + (y − y 1 )2 + z 12 (x 2 − x)2 + (y 2 − y)2 + z 22
t (x, y) = + .
v1 v2

Il s’agit cette fois d’optimiser par rapport à x et y simultanément, ce qui revient à annuler simultanément les
dérivées de t par rapport à x et y, c’est à dire son gradient. Ceci conduit aux équations
 x−x 1 x 2 −x 
q − q
v 2 d2 x − x1
µ ¶ µ ¶ µ ¶
 v 1 (x−x1 )2 +(y−y 1 )2 +z12 2 2
v 2 (x 2 −x) +(y 2 −y) +z 2 2
0 x2 − x
∇t = 0 ⇐⇒ y−y 1 y 2 −y = ⇐⇒ =
− 0 y2 − y v 1 d1 y − y 1
 q q

v 1 (x−x 1 )2 +(y−y 1 )2 +z 12 v 2 (x 2 −x)2 +(y 2 −y)2 +z 22

autrement dit, le point du plan de coordonnées (x, y) se trouve dans le segment compris entre (x 1 , y 1 ) et (x 2 , y 2 ).
On se ramène donc à un problème bidimensionnel et le raisonnement ci-dessus s’applique directement.
On obtient de la même façon la loi de S NELL -D ESCARTES à la réflexion.

Remarque (Optimisation libre versus liée)


Imaginez-vous en train de parcourir un chemin de montagne, explorant les hauteurs et les vallées de la région. Dans
cette excursion, vous pourriez avoir deux objectifs distincts, chacun reflétant une approche différente de l’optimisation.
D’une part, vous pourriez être un passionné de randonnée, cherchant à atteindre les sommets les plus élevés de la
région. Votre but est alors de maximiser l’altitude à laquelle vous vous trouvez, explorant les crêtes les plus spectaculaires
et les panoramas les plus impressionnants.
D’autre part, vous pourriez opter pour une approche plus pragmatique. Suivant un chemin balisé, votre objectif est
de simplement savoir, à la fin de la journée, à quel point vous vous êtes retrouvé au point le plus élevé ou le plus bas de
votre parcours. Vous ne visez pas nécessairement les sommets les plus hauts, mais plutôt les points les plus élevés ou les
plus bas sur le chemin que vous avez suivi.
Dans les deux cas, l’altitude est une fonction de deux variables, représentant votre position sur la carte en termes de
coordonnées (x, y). L’optimisation dans ce contexte peut être abordée de deux manières différentes : dans le premier
cas, dans la quête des sommets les plus élevés, vous cherchez à trouver le maximum de la fonction d’altitude h(x, y).
Votre objectif est de découvrir les points les plus hauts de la région, il s’agit d’une optimisation libre (comme à la section
précédente). Dans le deuxième cas, lorsque vous suivez un chemin spécifique défini par une équation g (x, y) = 0, votre
objectif est différent. Vous cherchez alors les points (x 0 , y 0 ) où g (x 0 , y 0 ) est vérifié, tout en assurant que la fonction
d’altitude h atteigne un extremum. En d’autres termes, vous cherchez les points les plus élevés ou les plus bas sur le
chemin donné, tout en respectant la contrainte imposée par le chemin lui-même. C’est ce qu’on appelle l’optimisation
sous contrainte, ou liée, que vous verrez dans le cours d’optimisation.

1.6. Optimisation approchée : principe de la méthode “descente de


gradient”
Comme il peut être difficile de calculer les points critiques de façon exacte, vous verrez lors du cours d’“Optimisation”
au deuxième semestre des méthodes numériques pour un calcul approché. Voici une petite introduction.

© 2024-2026 G. Faccanoni 25
Chapitre 1. Calcul différentiel et intégrale dans R2 Dernière mise à jour : Mardi 30 septembre 2025

Lignes de plus forte pente Le vecteur gradient y


∇ f (x 0 , y 0 ) indique la direction de plus grande pente à par- f (x, y) = b
tir du point (x 0 , y 0 ).

Autrement dit, si l’on veut, à partir d’un point donné


f (x, y) = a
(x 0 , y 0 ) de niveau a, passer au niveau b > a le plus vite
possible alors il faut démarrer en suivant la direction du x
gradient ∇ f (x 0 , y 0 ).
∇ f (x 0 , y 0 )

(x 0 , y 0 )

Imaginons une goutte d’eau en haut d’une colline. La goutte d’eau descend en suivant la ligne de plus grande pente et
elle s’arrête lorsqu’elle atteint un point bas. C’est exactement ce que fait la descente de gradient : partant d’un point sur
une surface, on cherche la pente la plus grande en calculant le gradient et on descend d’un petit pas, on recommence à
partir du nouveau point jusqu’à atteindre un minimum local.
L’idée de la de la méthode de descente de gradient classique est la suivante : puisque le gradient indique la direction
dans laquelle la fonction f croît le plus rapidement, nous allons suivre la direction opposée au gradient, pour laquelle f
décroît le plus rapidement. Ainsi, partant d’un point (x 0 , y 0 ) au hasard, on sait dans quelle direction se déplacer pour
obtenir un nouveau point (x 1 , y 1 ) en lequel f est plus petite. Et on recommence.
Sur les trois dessins ci-dessous, on a dessiné les lignes de niveau d’une fonction f ainsi que les vecteurs −∇ f (x, y). On
voit que ces vecteurs pointent bien vers le minimum (figure de gauche), s’éloignent d’un maximum (figure centrale),
le cas d’un point-selle est spécial (figure de droite). Dans tous les cas, la longueur des vecteurs gradients diminue à
l’approche du point critique.

Cas d’un minimum Cas d’un maximum Cas d’un point-selle

1.6.1. Descente de gradient


On nous donne une fonction f de deux variables (a, b) et nous cherchons un point (a min , b min ) en lequel f atteint un
minimum. Voici la méthode expliquée par des dessins sur lesquels ont été tracées des lignes de niveau.

Figure (a) Au départ nous n’avons aucune information globale sur f . La seule opération que l’on s’autorise c’est
calculer ∇ f (a, b) en certains points.
Figure (b) On choisit un point (a 0 , b 0 ) au hasard. Si on note c 0 = f (a 0 , b 0 ) la valeur de f en ce point, on sait que la ligne
de niveau ( f = c 0 ) passe par (a 0 , b 0 ).
Figure (c) On calcule en ce point le gradient de f . On trace l’opposé du gradient : −∇ f (a 0 , b 0 ). On sait d’une part que
la ligne de niveau est orthogonale à ce gradient et surtout que dans la direction de −∇ f (a 0 , b 0 ), les valeurs
de f vont diminuer. On se dirige alors dans la direction opposée au gradient d’un facteur δ (par exemple

26 © 2024-2026 G. Faccanoni
Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 1. Calcul différentiel et intégrale dans R2

(a) Au départ : rien (b) On part d’un point au hasard (c) On suit l’opposé du gradient

(d) Depuis le nouveau point, on suit l’opposé (e) On répète le processus (f) La suite converge vers le minimum
du gradient

F IGURE 1.2. – Illustration de la descente de gradient

δ = 0.1). On arrive à un point noté (a 1 , b 1 ). Par construction, si δ est assez petit, la valeur c 1 = f (a 1 , b 1 ) est
plus petite que c 0 .
Figure (d) On recommence depuis (a 1 , b 1 ). On calcule l’opposé du gradient en (a 1 , b 1 ), on se dirige dans cette nouvelle
direction pour obtenir un point (a 2 , b 2 ) où c 2 = f (a 2 , b 2 ) < c 1 .
Figure (e) On itère le processus pour obtenir une suite de points (a k , b k ) pour lesquels f prend des valeurs de plus en
plus petites.
Figure (f) On choisit de s’arrêter (selon une condition préalablement établie) et on obtient une valeur approchée
(a N , b N ) du point (a min , b min ) en lequel f atteint son minimum.
Évidemment avec la vision globale de la fonction, on se dit qu’on aurait pu choisir un point de départ plus près et
que certaines directions choisies ne sont pas les meilleures. Mais souvenez-vous que l’algorithme est « aveugle », il ne
calcule pas les valeurs de f en les (a k , b k ) et n’a pas connaissance du comportement de f au voisinage de ces points.

Algorithme de la descente de gradient pour le calcul d’un minimum


Soit une fonction

f : R2 → R
(x, y) 7→ f (x, y)

On se donne un pas δ > 0 et une tolérance ϵ > 0 et on calcule une suite de points (x k , y k ) k par récurrence de la façon
© ª

suivante : (
(x 0 , y 0 ) ∈ R2 donné,
(x k+1 , y k+1 ) = (x k , y k ) − δ∇ f (x k , y k ).
On s’arrête lorsque ∥∇ f (x k , y k )∥ ≤ ϵ ou après un certain nombre d’itérations.
Remarque
• Plus on choisit le point initial (x 0 , y 0 ) proche d’un minimum local, plus l’algorithme va aboutir rapidement. Mais
comme on ne sait pas où est ce minimum local (c’est ce que l’on cherche), le plus simple est de choisir un (x 0 , y 0 )
au hasard.
• Le critère d’arrêt assure qu’en (x k , y k ) le gradient est très petit. Cela ne garantit pas que ce point soit proche d’un
minimum local (et encore moins d’un minimum global). Souvenez-vous : en un minimum local le gradient est
nul, mais ce n’est pas parce que le gradient est nul que l’on a atteint un minimum local, cela pourrait être un
point-selle voire un maximum local.

© 2024-2026 G. Faccanoni 27
Chapitre 1. Calcul différentiel et intégrale dans R2 Dernière mise à jour : Mardi 30 septembre 2025

• Il est important de calculer ∇ f (x, y) rapidement.


• Le choix du pas δ est crucial. On sait juste que l’on peut choisir δ assez petit de façon à avoir f (x k+1 , y k+1 ) ≤
f (x k , y k ) car dans la direction de −∇ f (x k , y k ) la fonction f décroît.
On peut fixer à l’avance un pas δ commun à toutes les itérations, par exemple δ = 0.01. On pourrait également
tester à chaque itération plusieurs valeurs de δ par balayage (δ = 0.001, puis δ = 0.002. . .) et choisir pour δ celui en
lequel f prend la plus petite valeur.

1.7. Intégrales doubles


Dans cette dernière section, nous introduisons le concept d’intégrale double, qui est l’intégrale d’une fonction de
deux variables. Nous expliquons comment évaluer cette intégrale et illustrons son utilité, notamment pour calculer
l’aire d’un domaine d’intégration et le volume d’un solide délimité par le graphe d’une fonction à deux variables.

Théorème 1.15 (de F UBINI) ψ(x)


Soient x 7→ ϕ(x) et x 7→ ψ(x) deux fonctions continues sur y
l’intervalle [a; b] avec ϕ(x) ≤ ψ(x) pour tout x ∈ [a; b]. Dé-
finissons Ω comme l’ensemble des points (x, y) ∈ R2 tels
que a ≤ x ≤ b et ϕ(x) ≤ y ≤ ψ(x). Alors l’intégrale double Ω
de f (x, y) sur Ω peut être évaluée comme suit :

ϕ(x)
Ï Z b Z ψ(x)
f (x, y) dx dy = f (x, y) dy dx. a b x
Ω a ϕ(x)

Si le domaine Ω le permet, on peut échanger les rôles y


de x et de y. Soient y 7→ ϕ(y) et y 7→ ψ(y) deux fonctions ϕ(y)
continues sur l’intervalle [c; d ] avec ϕ(y) ≤ ψ(y) pour tout d
y ∈ [c; d ]. Définissons Ω comme l’ensemble des points Ω
(x, y) ∈ R2 tels que c ≤ y ≤ d et ϕ(y) ≤ x ≤ ψ(y). Alors
l’intégrale double de f (x, y) sur Omeg a peut être évaluée c
comme suit : ψ(y)
Ï Z d Z ψ(y) x
f (x, y) dx dy = f (x, y) dx dy.
Ω c ϕ(y)

Quelquefois, en inversant l’ordre d’intégration sur un domaine élémentaire, une intégrale double qui semble difficile
à évaluer peut devenir relativement simple à résoudre.

E XEMPLE
Soient f (x, y) = xe x y et R = [0; 1] × [0; 2]. Alors

¸ y=2
exy
Ï Z 1Z 2 Z 1 µZ 2 ¶ Z 1 ·
xy xy xy
xe dx dy = xe dy dx = x e dy dx = x dx
R 0 0 0 0 0 x y=0
¸x=1
e 2x 1
· 2x
1 e2 e2 3
Z 1
e
µ ¶
1
Z
2x
= x − dx = e − 1 dx = −x = −1− +0 = − .
0 x x 0 2 x=0 2 2 2 2

28 © 2024-2026 G. Faccanoni
Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 1. Calcul différentiel et intégrale dans R2

E XEMPLE
On veut calculer le volume du solide qui s’élève sur le domaine Ω du plan Ox y délimité par la droite d’équation y = 2x
et la parabole y = x 2 et couverte par le paraboloïde z = x 2 + y 2 .
Première méthode. Le domaine Ω peut être décrit par

Ω = (x, y) ∈ R2 ¯ 0 ≤ x ≤ 2, x 2 ≤ y ≤ 2x .
© ¯ ª

Le volume se calcule alors par


¸ y=2x
y3 (2x)3 (x 2 )3
Ï Z 2Z 2x Z 2· Z 2µ ¶
(x 2 + y 2 ) dx dy = (x 2 + y 2 ) dy dx = x2 y + dx = x 2 (2x) + − x 2 (x 2 ) − dx
Ω 0 x2 0 3 y=x 2 0 3 3
7 ¸x=2
14x 3 6¶
7x 4 x 5 x
Z 2µ
x
·
216
= − x4 + dx = − + = .
0 3 3 6 5 21 x=0 35

Deuxième méthode. Le domaine Ω peut être décrit par


p
Ω = (x, y) ∈ R2 ¯ 0 ≤ y ≤ 4, y ≤ x ≤ y/2 .
© ¯ ª

Le volume se calcule alors par


p ¸x=p y Z 4Ãp 3 !
yx3 p 2 (y/2)3
Z 4Z Z 4·
y
Ï
2 2 22 2 2
(x + y ) dx dy = (x + y ) dx dy = +xy dy = + yy − − (y/2)y dy
Ω 0 y/2 0 3 x=y/2 0 3 3
Z 4 µ 3/2 ¸ y=4
13y 3
· 5/2
y 2y 7/2 13y 4

2y 216
= + y 5/2 − dy = + − = .
0 3 24 15 7 96 y=0 35

y y p
y = x2 x= y
4 4
2 y
2x

1
y=

x=

2 x 2 x

Remarque (Cas très particulier)


Si Ω est le rectangle Ω = (x, y) ∈ R2 ¯ a ≤ x ≤ b, c ≤ y ≤ d et si f est le produit d’une fonction qui ne dépend que de x et
© ¯ ª

d’une fonction qui ne dépend que de y, i.e. f (x, y) = h(x)g (y), alors
Z bZ d µZ b ¶ µZ d ¶
f (x, y) dy dx = h(x) dx g (y) dy .
a c a c

E XEMPLE Î
Soit R = [0; 1] × [0; 2] ; on veut calculer l’intégrale double R x y dx dy. On a

Z 1Z 2 1 2 ¶ · 2 ¸ y=1 · 2 ¸ y=2
x y
µZ ¶ µZ
1
Ï
x y dx dy = x y dy dx = x dx y dy = = .
R 0 0 0 0 2 y=0 2 y=0 2

E XEMPLE
Soit Ω ⊂ R2 l’ensemble délimité par les courbes d’équation x = 21 , x y = 1 et y = x 2 .
Î
On veut calculer l’intégrale double Ω 1 dx dy. Cette inté- culer les points d’intersection des courbes qui délimitent
grale mesure l’aire de la zone coloriée et on peut la calculer Ω :
par plusieurs méthodes. Pour cela, il faut tout d’abord cal-

© 2024-2026 G. Faccanoni 29
Chapitre 1. Calcul différentiel et intégrale dans R2 Dernière mise à jour : Mardi 30 septembre 2025

y
x = 1/2 (
x y = 1,
⇐⇒ (x, y) = (1, 1);
y = x2,
y = x2 (
Ω xy = 1
x = 1/2,
⇐⇒ (x, y) = (1/2, 1/4);
y = x2,
(
x x = 1/2,
⇐⇒ (x, y) = (1/2, 2).
x y = 1,

f (x, y) dx dy avec f (x, y) = 1 pour tout (x, y) ∈ Ω :


Î
1. On calcule l’intégrale double Ω
• soit par
Ï Z 1 Z 1/x Z 1 £ ¤1/x
Z 1 1 1 1 7
f (x, y) dx dy = 1 dy dx = y x 2 dx = − x 2 dx = ln(1) − + ln(2) + = ln(2) − ;
Ω 1/2 x2 1/2 1/2 x 3 24 8
• soit par
p
Ï Z 1 Z y Z 2Z 1/y Z 1 p Z 2
y 1/y
f (x, y) dx dy = 1 dx dy + 1 dx dy = [x]1/2 dy + [x]1/2 dy
Ω 1/4 1/2 1 1/2 1/4 1
1 2 · 3/2 ¸1
1 1 1 y y y i2 7
Z Z
p h
= y− dy + − dy = − + ln(y) − = ln(2) − .
1/4 2 1 y 2 3/2 2 1/4 2 1 24

2. On calcul l’aire comme au lycée :


¸1
1 1 x3
·
1 1 1 7
Z Z
dx − x 2 dx = [ln(x)]11/2 − = ln(1) + ln(2) − + = ln(2) − .
1/2 x 1/2 3 1/2 3 24 24

Proposition 1.16 (Changement de variables)


Soient ϕ : R2 → R et ψ : R2 → R deux bijections de classe C 1 . Considérons la fonction de changement de variables

F : R2 → R2
u, v 7→ x = ϕ(u, v), y = ψ(u, v)
¡ ¢ ¡ ¢

Soit f (x, y) une fonction continue sur un domaine D fermé et borné, alors
Ï Z
f (x, y) dx dy = f (ϕ(u, v), ψ(u, v)) · |J| du dv,
D D

∂u ϕ ∂v ϕ
· ¸
où J = ∂u ϕ∂v ψ − ∂v ϕ∂u ψ, appelé jacobien, est le déterminant de la matrice appelée jacobienne de la
∂u ψ ∂v ψ
fonction F.
Cas des coordonnées polaires Cette application a pour jacobien
r, ϑ 7→ x = a + r cos(ϑ), y = b + r sin(ϑ)
¡ ¢ ¡ ¢
∂r x ∂ϑ x
µ ¶ µ ¶
cos(ϑ) −r sin(ϑ)
J = det = det
où (r, ϑ) ∈ R∗+ ×[0; 2π[ sont les coordonnées du point (x, y) ∈ ∂r y ∂ϑ y sin(ϑ) r cos(ϑ)
R2 \ { (a, b) }. = r cos2 (ϑ) + r sin2 (ϑ) = r

donc
Ï Ï
f (x, y) dx dy = f (a + r cos(ϑ), b + r sin(ϑ)) · r dr dϑ.
y r
D D
b ϑ

a x

E XEMPLE

30 © 2024-2026 G. Faccanoni
Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 1. Calcul différentiel et intégrale dans R2

1 p
On veut intégrer la fonction f (x, y) = sur l’en- y= 3x
1 + x2 + y 2
semble
x2 + y 2 = 4
n ¯ p o
Ω = (x, y) ∈ R2 ¯ 0 < y < 3x et 1 < x 2 + y 2 < 4 .
¯

y =0
Si on passe en coordonnées polaires on a x2 + y 2 = 1
n ¯ π o
Ω = (r, ϑ) ∈ R∗+ × [0; 2π[ ¯ 0 < ϑ < et 1 < r < 2 .
¯
3

On doit alors calculer

π/3 Z 2 π/3 ¸2
r 2 r π ln(1 + r 2 ) π ln(5/2)
µZ ¶ µZ ¶ ·
1
Z Z
2
r dr dϑ = dr dϑ = dϑ dr = = .
Ω 1+r 0 1 1+r2 0 1 1+r2 3 2 1 6

E XEMPLE

sµZ sZ s
Z +∞ +∞ ¶ µZ +∞ ¶ +∞ Z +∞ Z +∞ Z π/2
−x 2 −x 2 −y 2 −x 2 −y 2 2
e dx = e dx e dy = e dy dx = r e −r dθ dr
0 0 0 0 0 0 0
· −r 2 ¸+∞ p
s s
π +∞ π e π
Z
= re −r 2 dr = − = .
2 0 2 2 0 2

1.7.1. Applications
Définition 1.17 (Aire)
Î
L’intégrale double A 1 dx dy mesure l’aire de A.

E XEMPLE (A IRE D ’ UN DISQUE )


Calculons l’aire d’un disque DR de rayon R > 0 : on se place dans un système de coordonnées centré sur le centre du
disque, qui a donc pour équation x 2 + y 2 ≤ R2 . Alors

DR = (x, y) ∈ R2 ¯ x 2 + y 2 ≤ R2 = (r, ϑ) ∈ R∗+ × [0; 2π[ ¯ r ≤ R2


© ¯ ª © ¯ ª

et
Ï Z 2π Z R Z 2π · r 2 ¸R R2
Z 2π
1 dx dy = r dr dϑ = dϑ = 1 dϑ = πR2 .
DR 0 0 0 2 0 2 0

Remarquons que dans ce cas on aurait pu utiliser directement ce qu’on a appris au premier semestre : si nous ne
conservons que les valeurs positives de y, on obtiendra un demi-disque, ensemble des points :
n ¯ p o
(x, y) ∈ R2 ¯ −R ≤ x ≤ R et 0 ≤ y ≤ R2 − x 2 .
¯

p
C’est la surface sous la courbe de la fonction x 7→R f (x)
p = R2 − x 2 dans l’intervalle [—R; R]. Comme c’est une fonction
R
positive, l’aire correspondante égale l’intégrale −R R2 − x 2 dx. Pour calculer celle-ci, effectuons le changement de
variable x = R cos(t ). On souhaite que x varie dans l’intervalle [−R; R], on prend donc tpvariant dans l’intervalle [0; π] par
exemple. Là, la fonction ϕ(t ) = R cos(t ) est continûment dérivable sur [0; π]. De plus R2 − x 2 = R sin(t ) car le sinus est

© 2024-2026 G. Faccanoni 31
Chapitre 1. Calcul différentiel et intégrale dans R2 Dernière mise à jour : Mardi 30 septembre 2025

positif ou nul sur [0; π]. On a donc, en effectuant ce changement de variable


Z R p
R2 − x 2 dx
−R x = R cos(t )
Z πp dx = −R sin(t ) dt
= R2 − R2 cos( t )(−R sin(t ) dt
0
Z π
= − R2 sin2 t dt
0
Z π cos(2t ) = 1 − 2 sin2 t
1 − cos(2t )
= − R2 dt
0 2
¸π
t π
·
= − R2 − sin(2t ) = −R2
2 0 2

C’est l’aire d’un demi-disque, donc l’aire du disque entier est πR2 .

Définition 1.18 (Masse) Î


Si f (x, y) est la densité au point (x, y), l’intégrale double A f (x, y) dx dy est la masse de la partie A.

E XEMPLE
Si une charge électrique est répartie sur une région A et si la densité de charge (en unités par unités carrées) est donnée
par σ(x, y) en un point (x, y) de A, alors la charge totale Q est donnée par
Ï
σ(x, y) dx dy.
A

Par exemple, supposons qu’une charge est distribuée y


sur le domaine A de la figure ci-contre de telle sorte que
y =1
la densité de charge en (x, y) est σ(x, y) = x y, mesurée en 1
coulombs par mètre carré (C m−2 ). Alors la charge totale
est

x =1
y
=
Z 1Z 1 Z 1 · 2 ¸ y=1
y
Ï 1−
Q= σ(x, y) dx dy = x y dy dx = x dx x
A 0 1−x 0 2 y=1−x
1 x
1 1 ¡ 1 1¡ 2 1 2 3 1 4 1
· ¸
5
Z Z
2 3
¢ ¢
= x 1 − (1 − x) dx = 2x − x dx = x − x = .
2 0 2 0 2 3 4 0 24
5
La charge totale est donc de 24 C.

Définition 1.19 (Centre de gravité)


Si f (x, y) est la densité au point (x, y), le centre de gravité de la partie A se trouve en (x G , y G ) ainsi définis
Î Î
Axf (x, y) dx dy y f (x, y) dx dy
xG = Î , y G = ÎA .
A f (x, y) dx dy A f (x, y) dx dy

Physiquement cela signifie que la plaque A se comporte comme si toute sa masse était concentrée en son centre
d’inertie. Par exemple, elle est en équilibre horizontal lorsqu’elle repose sur son centre d’inertie.

E XEMPLE
On veut déterminer la masse et le centre d’inertie d’une fine plaque de métal triangulaire dont les sommets sont en
(0, 0), (1, 0) et (0, 2), sachant que la fonction densité est f (x, y) = 1 + 3x + y.

Le triangle est représenté dans la figure ci-contre (l’équa- la plaque de métal est
tion de la frontière supérieure est y = 2 − 2x). La masse de Ï Z 1Z 2−2x
m= f (x, y) dx dy = (1 + 3x + y) dy dx
A 0 0
Z 1· 2 ¸ y=2−2x Z 1·
y (2 − 2x
= y + 3x y + dx = 2 − 2x + 3x(2 − 2x) +
0 2 y=0 0 2
¸1
1 x3
·
8
Z
=4 (1 − x 2 ) dx = 4 x − = .
0 3 0 3

32 © 2024-2026 G. Faccanoni
Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 1. Calcul différentiel et intégrale dans R2

y=
2−
2x
1 x

Le moment de la plaque de métal entière par rapport à l’axe Ox est


¸ y=2−2x ¸1
x y2
· 2
x4
Z 1Z 2−2x Z 1· Z 1
x
Ï
x f (x, y) dx dy = x(1 + 3x + y) dy dx = x y + 3x 2 y + dx = 4 (x − x 3 ) dx = 4 − =1
A 0 0 0 2 y=0 0 2 4 0

et le moment de la plaque de métal entière par rapport à l’axe Oy est


¸ y=2−2x
y2 y2 y3
Z 1Z 2−2x Z 1·
2 1
Ï Z
y f (x, y) dx dy = y(1 + 3x + y) dy dx = + 3x + dx = (7 − 9x − 3x 2 + 5x 3 ) dx
A 0 0 0 2 2 3 y=0 3 0
¸1 ·
2 9 5 11
= 7x − x 2 − x 3 + x 4 = .
3 2 4 0 6
µ 11 ¶
Les coordonnées du centre d’inertie sont donc 18 , 68 = 83 , 11
¡ ¢
16 .
3 3

© 2024-2026 G. Faccanoni 33
Chapitre 1. Calcul différentiel et intégrale dans R2 Dernière mise à jour : Mardi 30 septembre 2025

1.8. Fonctions prédéfinies en Python

1.8.1. Calcul formel avec sympy

Avec sympy, nous pouvons effectuer des calculs symboliques tels que le gradient et la matrice hessienne d’une
fonction donnée. Il est également possible de trouver les points critiques de cette fonction. Si ces points critiques
existent et sont calculables exactement, nous pouvons ensuite évaluer la matrice hessienne en chacun de ces points
pour déterminer leur nature.

import sympy as sp

# Définition des symboles


x, y = [Link]('x y', real=True)

# La fonction
f = lambda x,y : 2*x-y**3+x**2*y
print(f"$f(x,y) = {[Link](f(x,y))}$\n\n")

# Le gradient
df_dx = [Link](f(x,y),x)
df_dy = [Link](f(x,y),y)
print(f"$\\nabla f(x,y) = ({[Link](df_dx)},{[Link](df_dy)})^T$\n\n")

# Équation du plan tangent en (1, 1)


x0, y0 = 1, 1
plan_tangent = f(x0,y0) + (x-x0)*df_dx.subs({x:x0,y:y0}) +
,→ (y-y0)*df_dy.subs({x:x0,y:y0})
print(f"Équation du plan tangent en ({x0}, {y0}) :
,→ ${[Link](plan_tangent)}$\n\n")

# Points critiques
critical_points = [Link]([df_dx, df_dy], (x, y))
print(f"$\\text{{Points critiques}} = {[Link](critical_points)}$\n\n")

# La matrice Hessienne
d2f_dxx = [Link](df_dx,x)
d2f_dxy = [Link](df_dx,y)
d2f_dyx = [Link](df_dy,x)
d2f_dyy = [Link](df_dy,y)
hessian = [Link]([[d2f_dxx, d2f_dxy], [d2f_dyx, d2f_dyy]])
print(f"$H(x,y) = {[Link](hessian)}$\qquad")

det_hessian = d2f_dxx*d2f_dyy - d2f_dxy*d2f_dyx


print(f"$\\det(H(x,y)) = {[Link](det_hessian)}$\n\n")

print("Analyse de la nature des points critiques\n")


for x_c,y_c in critical_points:
hessian_at_critical = [Link]([[d2f_dxx, d2f_dxy], [d2f_dyx,
,→ d2f_dyy]]).subs({x:x_c, y:y_c})
det_hessian_at_critical = det_hessian.subs({x:x_c, y:y_c})
print(f"$(x_c,y_c) = ({[Link](x_c)},{[Link](y_c)})$\qquad")
print(f"$H(x_c,y_c) = {[Link](hessian_at_critical)}$\qquad")
print(f"$\\det(H(x_c,y_c)) = {[Link](det_hessian_at_critical)}$\n")

34 © 2024-2026 G. Faccanoni
Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 1. Calcul différentiel et intégrale dans R2

De la même manière, on peut lui demander de calculer des intégrales. Voici le calcul du deuxième exemple :
¸ y=2x
y3 (2x)3 (x 2 )3
Ï Z 2Z 2x Z 2· Z 2µ ¶
2 2 2 2 2 2 2 2
(x + y ) dx dy = (x + y ) dy dx = x y+ dx = x (2x) + − x (x ) − dx
Ω 0 x2 0 3 y=x 2 0 3 3
Z 2µ 3 6¶ 4 5 7 ¸x=2
x x x
·
14x 7x 216
= − x4 − dx = − − = .
0 3 3 6 5 21 x=0 35

import sympy as sp

# Définition des symboles


x, y = [Link]('x y', real=True)

# Définition des bornes du domaine


y_min = x**2
y_max = 2*x

# Fonction à intégrer
f = x**2 + y**2

# Intégrale intérieure (par rapport à y)


inner = [Link](f, (y, y_min, y_max))

# Intégrale extérieure (par rapport à x)


outer = [Link](inner, (x, 0, 2))

# Affichage
print(f"$$\\int_0^2 \\int_{{{[Link](y_min)}}}^{{{[Link](y_max)}}}
,→ ({[Link](f)})\\dy\\dx = "
f"\\int_0^2 {[Link](inner)}\\dx = {[Link](outer)}$$")

x6 14x 3
Z 2Z 2x 2 216
Z
(x 2 + y 2 ) dy dx = − − x4 + dx =
0 x2 0 3 3 35

1.8.2. Affichage avec matplotlib


Pour visualiser une fonction de deux variables, nous utiliserons matplotlib. Nous commencerons par afficher les
courbes de niveau, puis nous verrons comment représenter la surface en trois dimensions. Il existe de nombreuses
variantes et options de coloriage possibles ; pour plus de détails, consultez la documentation officielle.

import numpy as np
import [Link] as plt

f = lambda x,y : 2*x-y**3+x**2*y

x = [Link](-2,2,100)
y = [Link](-2,2,100)
X,Y = [Link](x,y)
Z = f(X,Y)

[Link]()
[Link](X,Y,Z, levels=30)
#contour = [Link](X,Y,Z, levels=30)
#[Link](contour, inline=True, fontsize=8)

© 2024-2026 G. Faccanoni 35
Chapitre 1. Calcul différentiel et intégrale dans R2 Dernière mise à jour : Mardi 30 septembre 2025

# [Link](X,Y,Z, levels=30)

xx_c = [-3**0.25, 3**0.25]


yy_c = [3**(-0.25), -3**(-0.25)]
[Link]( xx_c, yy_c, color='red')

[Link]('x')
[Link]('y')
[Link]('Contour plot')
[Link](True)
[Link]('contour_plot.png')
# [Link]()

import numpy as np
import [Link] as plt
from mpl_toolkits.mplot3d import Axes3D

f = lambda x,y : 2*x-y**3+x**2*y

x = [Link](-2,2,100)
y = [Link](-2,2,100)
X,Y = [Link](x,y)
Z = f(X,Y)

[Link]()
ax = [Link](projection='3d')
ax.view_init(30, 45)
ax.plot_surface(X, Y, Z)
xx_c = [-3**0.25, 3**0.25]
yy_c = [3**(-0.25), -3**(-0.25)]
zz_c = [f(x_c,y_c) for x_c,y_c in zip(xx_c,yy_c)]
[Link](xx_c, yy_c, zz_c, color='red')
ax.set_xlabel('x')
ax.set_ylabel('y')
ax.set_zlabel('z')
ax.set_title('Surface plot')
[Link]('surface_plot.png')
# [Link]()

36 © 2024-2026 G. Faccanoni
Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 1. Calcul différentiel et intégrale dans R2

1.8.3. Descente de gradient


Essayons de voir comment la descente de gradient permet de s’approcher du minimum de la fonction f (x, y) = x 2 + y 2

import sympy as sp
x, y = [Link]('x y', real=True)

f = lambda x, y: x**2 + y**2


grad_f = [[Link](f(x, y), x), [Link](f(x, y), y)]

# Paramètres de la descente de gradient


eps = 1 / sp.S(100)
delta = 1 / sp.S(10)

# Initialisation
print(f"{'k':<5} {'xk':<15} {'yk':<15} {'||grad_f||':<15}")
xk, yk = 1 , 1
grad_f_k = [[Link]({x: xk, y: yk}) for g in grad_f]
norm_grad = [Link](sum(g**2 for g in grad_f_k))
k = 0
print(f"{k:<5} {float(xk):<15.10f} {float(yk):<15.10f}
,→ {float(norm_grad):<15.10f}")
x_vals, y_vals, z_vals = [xk], [yk], [f(xk,yk)]

# Boucle de la descente de gradient


while [Link](sum(g**2 for g in grad_f_k)) >= eps:
xk = xk - delta * grad_f_k[0]
yk = yk - delta * grad_f_k[1]
grad_f_k = [[Link]({x: xk, y: yk}) for g in grad_f]
k += 1
norm_grad = [Link](sum(g**2 for g in grad_f_k))
print(f"{k:<5} {float(xk):<15.10f} {float(yk):<15.10f}
,→ {float(norm_grad):<15.10f}")
x_vals.append(float(xk))
y_vals.append(float(yk))
z_vals.append(float(f(xk,yk)))

import numpy as np
import [Link] as plt
x_range = [Link](-2, 2, 400)
y_range = [Link](-2, 2, 400)
X, Y = [Link](x_range, y_range)
Z = f(X,Y)

© 2024-2026 G. Faccanoni 37
Chapitre 1. Calcul différentiel et intégrale dans R2 Dernière mise à jour : Mardi 30 septembre 2025

[Link](figsize=(8, 6))
contour = [Link](X, Y, Z, levels=sorted(z_vals), cmap='viridis')
[Link](contour)

# Tracer les étapes de la descente de gradient


[Link](x_vals, y_vals, 'ro-', label='Descente de gradient', markersize=4)
[Link]("Descente de gradient sur les courbes de niveau")
[Link]('x')
[Link]('y')
[Link]()
[Link](True)
[Link]('descente_sympy.png')
[Link]()

k xk yk ||grad_f||
0 1.0000000000 1.0000000000 2.8284271247
1 0.8000000000 0.8000000000 2.2627416998
2 0.6400000000 0.6400000000 1.8101933598
3 0.5120000000 0.5120000000 1.4481546879
4 0.4096000000 0.4096000000 1.1585237503
5 0.3276800000 0.3276800000 0.9268190002
6 0.2621440000 0.2621440000 0.7414552002
7 0.2097152000 0.2097152000 0.5931641602
8 0.1677721600 0.1677721600 0.4745313281
9 0.1342177280 0.1342177280 0.3796250625
10 0.1073741824 0.1073741824 0.3037000500
11 0.0858993459 0.0858993459 0.2429600400
12 0.0687194767 0.0687194767 0.1943680320
13 0.0549755814 0.0549755814 0.1554944256
14 0.0439804651 0.0439804651 0.1243955405
15 0.0351843721 0.0351843721 0.0995164324
16 0.0281474977 0.0281474977 0.0796131459
17 0.0225179981 0.0225179981 0.0636905167
18 0.0180143985 0.0180143985 0.0509524134
19 0.0144115188 0.0144115188 0.0407619307
20 0.0115292150 0.0115292150 0.0326095446
21 0.0092233720 0.0092233720 0.0260876357
22 0.0073786976 0.0073786976 0.0208701085
23 0.0059029581 0.0059029581 0.0166960868
24 0.0047223665 0.0047223665 0.0133568695
25 0.0037778932 0.0037778932 0.0106854956
26 0.0030223145 0.0030223145 0.0085483965

38 © 2024-2026 G. Faccanoni
Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 1. Calcul différentiel et intégrale dans R2

© 2024-2026 G. Faccanoni 39
Chapitre 1. Calcul différentiel et intégrale dans R2 Dernière mise à jour : Mardi 30 septembre 2025

1.9. Exercices

Exercice 1.1
Dans la figure ci-contre on a tracé les isobares de l’Amé-
rique du Nord au 12 août 2008. La pression indiquée est
mesurée en millibars (mbar).
1. Donner une estimation de la pression
• à Nashville (point N),
• à Chicago (point C),
• à San Francisco (point S)
• et à Vancouver (point V).
2. Dans quelle ville le vent est le plus fort ?

Correction
1. • Au point N la pression est de 1012 mbar environ,
• au point C la pression est de 1013 mbar environ,
• au point S la pression est de 1010 mbar environ,
• au point V la pression est comprise entre 1016 mbar et 1020 mbar ou entre 1012 mbar et 1016 mbar.
2. Le vent est plus fort à San Francisco car les lignes de pression sont le plus rapprochées.

Exercice 1.2
Déterminer les courbes de niveau des fonctions suivantes :
2
f (x, y) = x, f (x, y) = y + 1, f (x, y) = x + y − 1, f (x, y) = e y−x , f (x, y) = y − cos(x).

Esquissez ensuite leurs graphes (le graphe peut être vu comme un empilement de courbes de niveau qui forment
une surface dans R3 ).

Correction

• f (x, y) = x : • f (x, y) = y + 1 : • f (x, y) = x + y − 1 :


f (x, y) = κ ssi x = κ, les courbes f (x, y) = κ ssi y = κ − 1, les f (x, y) = κ ssi y = −x + (κ + 1),
de niveau sont des droites verti- courbes de niveau sont des les courbes de niveau sont des
cales et la surface représentative droites horizontales et la surface droites de pente −1 et la surface
de f est un plan. représentative de f est un plan. représentative de f est un plan.
2 2 2

1 1 1

y 0 y 0 y 0

-1 -1 -1

-2 -2 -2

-2 -1 0 1 2 -2 -1 0 1 2 -2 -1 0 1 2

x x x

2 3

1 2 3,2

0 1 1,2

-1 0 -0,8

2 2 2

1 1 -2,8 1
-2 -1
2 0 2 0 2 0
1 x 1 x 1 x

0 -1 0 -1 0 -1
y -1 y -1 y -1
-2 -2 -2
-2 -2 -2

40 © 2024-2026 G. Faccanoni
Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 1. Calcul différentiel et intégrale dans R2

2
• f (x, y) = e y−x :
f (x, y) = κ ssi y = x 2 + ln(κ), les courbes de niveau sont des paraboles. On observe notamment la croissance
exponentielle marquée lorsque les valeurs prises par y sont grandes et celles prises par |x| sont petites.
2

3 000

1
2 500

2 000

1 500
0

-2 -1 0 1 2 -2 8,0
1 000
y
x 5,5

-1 500 3,0
x
0,5
y -1 0
-2,0 0

2
-2

• f (x, y) = y − cos(x) :
f (x, y) = κ ssi y = cos(x) + κ
10

9
4 -10 -10
y x
-5 4 -5
2

0 0
0
-1
-10 -8 -6 -4 -2 0 2 4 6 8 10
5 5
-2
x
-6
10 10
-4

y -11
-6

-8

-10

Exercice 1.3 (Cartes topographiques du relief )

Sur une carte topographique, les courbes de niveau dé-


signent les points de même altitude. On observe sur
l’extrait de carte ci-contre de l’institut Géographique
National (IGN), des courbes qui donnent une idée du
relief (Massif du Sancy). Elles représentent des coupes
horizontales successives du terrain à des altitudes qui
varient de 10 mètres en 10 mètres. Tous les points de
même altitude sont situés sur la même courbe de ni-
veau.

1. Compléter le tableau
Point A B C D E F G
Altitude 1370
2. Lorsque les courbes de niveau se resserrent, que peut-on dire du relief ?
3. La rivière coule-t-elle d’est en ouest ou vice-versa ?

Correction
1. On a
Point A B C D E F G
Altitude 1470 1370 1380 1470 1400 1460 1520
2. Les endroits du relief où les pentes sont plus escarpées ou plus douces correspondent respectivement aux courbes
de niveau très rapprochées ou très distantes.

© 2024-2026 G. Faccanoni 41
Chapitre 1. Calcul différentiel et intégrale dans R2 Dernière mise à jour : Mardi 30 septembre 2025

3. La rivière coule de l’est à l’ouest.

Exercice 1.4
Associer chaque fonction (1-6) à sa surface (A-F) et à ses courbes de niveau (I-VI). Commencer par associer chaque
surface à ses courbes de niveau.

1. f (x, y) = sin(x y) 2. f (x, y) = sin(x − y) 3. f (x, y) = (1 − x 2 )(1 − y 2 )


x−y
4. f (x, y) = 5. f (x, y) = e x cos(y) 6. f (x, y) = sin(x) − sin(y)
1 + x2 + y 2

Correction

1. C-II : la fonction est périodique en x et en y ; f ne change pas quand on échange x et y, i.e. le graphe est symétrique
par rapport au plan d’équation y = x ; f (0, y) = f (x, 0) = 0.
2. F-I : la fonction est périodique en x et en y ; f est constante si y = x + κ.
3. B-VI : f (±1, y) = f (x, ±1) = 0 ; la trace dans le plan xz est z = 1 − x 2 et dans le plan y z est z = 1 − y 2 .
4. D-V : f (x, x) = 0 ; f (x, y) > 0 si x > y ; f (x, y) < 0 si x < y.

42 © 2024-2026 G. Faccanoni
Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 1. Calcul différentiel et intégrale dans R2

5. A-IV : la fonction est périodique en y ;


6. E-III : la fonction est périodique en x et en y.

Exercice 1.5
Calculer toutes les dérivées partielles d’ordre 1 des fonctions données :
x
1. f (x, y) = y 5 − 3x y 2. f (x, y) = x 2 +3x y 2 −6y 5 3. f (x, y) = x cos(e x y ) 4. f (x, y) = y

5. f (x, y) = x y 6. f (x, y, z) = x cos(xz) + ln(2 − sin2 (y + z)) 7. f (x, t ) = e −t cos(πx)


ax+b y Rx
8. z(x, y) = (2x + 3y)10 9. f (x, y) = cx+d y 10. F(x, y) = y cos(e t ) dt

Correction
1. ∂x f (x, y) = −3y et ∂ y f (x, y) = 5y 4 − 3x
2. ∂x f (x, y) = 2x + 3y 2 et ∂ y f (x, y) = 6x y − 30y 4
3. ∂x f (x, y) = cos(e x y ) − x ye x y sin(e x y ) et ∂ y f (x, y) = −x 2 e x y sin(e x y )
4. ∂x f (x, y) = 1/y et ∂ y f (x, y) = −x/y 2
5. ∂x f (x, y) = y x y /x et ∂ y f (x, y) = ln(x)x y "x y = e y ln(x) donc x > 0
−2 sin(y + z) cos(y + z) −2 sin(y + z) cos(y + z)
6. ∂x f (x, y, z) = cos(xz)−xz sin(xz), ∂ y f (x, y, z) = et ∂z f (x, y, z) = −x 2 sin(xz)+
2 − sin2 (y + z) 2 − sin2 (y + z)
7. ∂x f (x, t ) = −πe −t sin(πx) et ∂t f (x, t ) = −e −t cos(πx)
8. ∂x z(x, y) = 20(2x + 3y)9 et ∂ y z(x, y) = 30(2x + 3y)9
(ad −bc)y (bc−ad )x
9. ∂x f (x, y) = (c x+d y)2
et ∂ y f (x, y) = (cx+d y)2
x y
10. ∂x F(x, y) = cos(e ) et ∂ y F(x, y) = − cos(e )

On vérifie nos calculs avec le module sympy de python :

import sympy as sp
sp.init_printing()

x, y, z, t, a, b, c, d = [Link]('x y z t a b c d', real=True)

functions = [
(y**5 - 3*x*y, (x, y)),
(x**2 + 3*x*y**2 - 6*y**5, (x, y)),
(x*[Link]([Link](x*y)), (x, y)),
(x/y, (x, y)),
(x**y, (x, y)),
(x*[Link](x*z) + [Link](2 - [Link](y + z)**2), (x, y, z)),
([Link](-t)*[Link]([Link]*x), (x, t)),
((2*x + 3*y)**10, (x, y)),
((a*x + b*y)/(c*x + d*y), (x, y)),
([Link]([Link]([Link](t)), (t, y, x)), (x, y))
]

for i, (f, vars) in enumerate(functions, 1):


var_list = ", ".join([Link](v) for v in vars)
fx_name = f"f_{{{i}}}({var_list})"

line = f"{fx_name} = {[Link](f)}"

for var in vars:


deriv = [Link](f, var)
line += f",\\quad \\partial_{{{[Link](var)}}}{fx_name} =
,→ {[Link](deriv)}"

© 2024-2026 G. Faccanoni 43
Chapitre 1. Calcul différentiel et intégrale dans R2 Dernière mise à jour : Mardi 30 septembre 2025

print(f"${line}$\n")

f 1 (x, y) = −3x y + y 5 , ∂x f 1 (x, y) = −3y, ∂ y f 1 (x, y) = −3x + 5y 4


f 2 (x, y) = x 2 + 3x y 2 − 6y 5 , ∂x f 2 (x, y) = 2x + 3y 2 , ∂ y f 2 (x, y) = 6x y − 30y 4
f 3 (x, y) = x cos (e x y ), ∂x f 3 (x, y) = −x ye x y sin (e x y ) + cos (e x y ), ∂ y f 3 (x, y) = −x 2 e x y sin (e x y )
f 4 (x, y) = xy , ∂x f 4 (x, y) = 1y , ∂ y f 4 (x, y) = − yx2
xy y
f 5 (x, y) = x y , ∂x f 5 (x, y) = x , ∂ y f 5 (x, y) = x y log (x)
2 sin ( y+z ) cos ( y+z )
f 6 (x, y, z) = x cos (xz)+log 2 − sin2 y + z , ∂x f 6 (x, y, z) = −xz sin (xz)+cos (xz), ∂ y f 6 (x, y, z) = − ∂z f 6 (x,
¡ ¡ ¢¢
2−sin2 ( y+z )
,
2 2 sin ( y+z ) cos ( y+z )
−x sin (xz) − 2−sin2 ( y+z )
f 7 (x, t ) = e −t cos (πx), ∂x f 7 (x, t ) = −πe −t sin (πx), ∂t f 7 (x, t ) = −e −t cos (πx)
¢10 ¢9 ¢9
f 8 (x, y) = 2x + 3y , ∂x f 8 (x, y) = 20 2x + 3y , ∂ y f 8 (x, y) = 30 2x + 3y
¡ ¡ ¡
ax+b y a c (ax+b y ) b d (ax+b y )
f 9 (x, y) = c x+d y , ∂x f 9 (x, y) = cx+d y − (cx+d y )2 , ∂ y f 9 (x, y) = c x+d y − (c x+d y )2
Rx
f 10 (x, y) = cos e t d t , ∂x f 10 (x, y) = cos (e x ), ∂ y f 10 (x, y) = − cos (e y )
¡ ¢
y

Exercice 1.6
Calculer toutes les dérivées partielles des fonctions suivantes :

1. f (x, y) = 3x 2 + x y −2y 2 2. f (x, y) = 4 − x 2 − 2y 2 3. f (x, y) = y 5 − 3x y 4. f (x, y) = x 2 +3x y 2 −6y 5


x
5. f (x, y) = x cos(e x y ) 6. f (x, y) = y 7. f (x, t ) = e −t cos(πx) 8. f (x, y) = (2x + 3y)10
ax+b y
9. f (x, y) = cx+d y 10. f (x, y) = x y

Correction
1. ∂x f (x, y) = 6x + y (car y est considérée constante) et ∂ y f (x, y) = x − 4y (car x est considérée constante)
2. ∂x f (x, y) = −2x et ∂ y f (x, y) = −4y
3. ∂x f (x, y) = −3y et ∂ y f (x, y) = 5y 4 − 3x
4. ∂x f (x, y) = 2x + 3y 2 et ∂ y f (x, y) = 6x y − 30y 4
5. ∂x f (x, y) = cos(e x y ) − x ye x y sin(e x y ) et ∂ y f (x, y) = −x 2 e x y sin(e x y )
6. ∂x f (x, y) = 1/y et ∂ y f (x, y) = −x/y 2
7. ∂x f (x, t ) = −πe −t sin(πx) et ∂t f (x, t ) = −e −t cos(πx)
8. ∂x f (x, y) = 20(2x + 3y)9 et ∂ y f (x, y) = 30(2x + 3y)9
(ad −bc)y (bc−ad )x
9. ∂x f (x, y) = (cx+d y)2
et ∂ y f (x, y) = (cx+d y)2

10. ∂x f (x, y) = y x y /x et ∂ y f (x, y) = ln(x)x y "x y = e y ln(x) donc x > 0

Exercice 1.7 (Loi de Fick)


Les lois de diffusion de Fick décrivent la diffusion. Les expériences de Fick portaient sur la mesure des concentra-
tions et des flux de sel, diffusant entre deux réservoirs à travers des tubes d’eau.
La deuxième loi de Fick prédit comment la diffusion fait changer la concentration en fonction du temps. Notons
ϕ la concentration (une fonction qui dépend de l’emplacement x et du temps t ) et soit D le coefficient de diffusion
(supposé constant). La deuxième loi de Fick postule que, pour tout (t , x),

∂t ϕ = ∂x D∂x ϕ .
¡ ¢

Montrer que la fonction suivante est solution de cette équation différentielle :

x2
µ ¶
1
ϕ(t , x) = p exp − .
4πDt 4Dt

44 © 2024-2026 G. Faccanoni
Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 1. Calcul différentiel et intégrale dans R2

Correction
Dans un premier temps, pour simplifier nos calculs, nous allons introduire des constantes auxiliaires : on pose A = p 1
def

4πD
1
et B = − 4D ainsi
µ 2¶
A x
ϕ(t , x) = p exp B .
t t
Il est alors plus simple de calculer les dérivées partielles :
µ 2¶
A x2
µ 2¶
A 2Bx 2 + t
µ 2¶
−A x x x
∂t ϕ(t , x) =
p exp B − p B exp B = − × p exp B
2t t t t t2 t 2 t2 t t
µ 2¶
2ABx x
∂x ϕ(t , x) = p exp B
t t t
¢ 2ABD(2Bx 2 + t )
µ 2¶
x
∂x ∂x ϕ(t , x) = D∂x ∂x ϕ(t , x) =
¡ ¢ ¡
p exp B
t2 t t

La relation s’écrit donc

A 2Bx 2 + t 2ABD(2Bx 2 + t )
µ 2¶
A(1 + 4BD)(2Bx 2 + t )
µ 2¶
x x
· ¸
∂t ϕ(t , x) − D∂x ∂x ϕ(t , x) = − ×
¡ ¢
p − p exp B =− p exp B .
2 t2 t t2 t t 2t 2 t t

En remplaçant B par sa définition on a (4BD + 1) = 0 ainsi l’égalité est satisfaite pour tout (t , x).

Exercice 1.8
x+y
Soit f : R2 → R la fonction définie par f (x, y) = .
1 + x2 + y 2
1. Déterminer et représenter les courbes de niveau de f .
2. Calculer les dérivées partielles premières de f .
3. Écrire l’équation du plan tangent à la surface définie par f au point (0, 0).

Correction
1. Les courbes de niveau de f sont définies par l’équation f (x, y) = k, où k est une constante réelle. Cela revient à
résoudre :
x+y
= k,
1 + x2 + y 2
ce qui donne l’équation implicite
x + y = k(1 + x 2 + y 2 ).
Pour k = 0, cette équation devient x + y = 0, qui est la droite d’équation y = −x.
Pour k ̸= 0, l’équation peut être réécrite sous la forme :

1 1
x2 + y 2 − x − y + 1 = 0.
k k

Cette équation représente un cercle 1 pour certaines valeurs de k. En effet, pour 0 < k 2 < 21 , l’équation correspond
¡1 1¢
à un cercle de centre 2k , 2k et de rayon
r
1
r= − 1.
2k 2

y
2 0,55

0,3

0,05

K4 K2 0 2 4
x -0,2

K2
-0,45

5,0
-0,7 2,5
0,0
-5,0 y
-2,5 -2,5

K4
0,0 -5,0
2,5
x 5,0

1. Le cercle de centre (x c , y c ) et rayon r > 0 a pour équation (x − x c )2 + (y − y c )2 = r 2 soit encore x 2 + y 2 − 2x c x − 2y c y + x c2 + y c2 − r 2 = 0.

© 2024-2026 G. Faccanoni 45
Chapitre 1. Calcul différentiel et intégrale dans R2 Dernière mise à jour : Mardi 30 septembre 2025

2. Calculons les dérivées partielles premières de f

(1 + x 2 + y 2 ) − 2x(x + y) 1 + y 2 − x 2 − 2x y
∂x f (x, y) = = ,
(1 + x 2 + y 2 )2 (1 + x 2 + y 2 )2

(1 + x 2 + y 2 ) − 2y(x + y) 1 + x 2 − y 2 − 2x y
∂ y f (x, y) = = .
(1 + x 2 + y 2 )2 (1 + x 2 + y 2 )2
3. L’équation du plan tangent à la surface définie par f en (0, 0) s’obtient en utilisant l’expression du développement
de Taylor au premier ordre. Les dérivées partielles premières en (0, 0) sont

∂x f (0, 0) = 1, ∂ y f (0, 0) = 1.

Ainsi, l’équation du plan tangent en (0, 0) est donnée par

z = f (0, 0) + ∂x f (0, 0) · x + ∂ y f (0, 0) · y = 0 + 1 · x + 1 · y = x + y.

import sympy as sp

# Définition des symboles


x, y = [Link]('x y')

# Définition de la fonction f(x, y)


f = (x + y) / (1 + x**2 + y**2)

# Calcul des dérivées partielles premières


df_dx = [Link](f, x).simplify()
df_dy = [Link](f, y).simplify()

# Affichage des dérivées partielles premières


print("df/dx = ", df_dx)
print("df/dy = ", df_dy)

# Équation du plan tangent en (0, 0)


x0, y0 = 0, 0
plan_tangent = [Link]({x:x0,y:y0}) + (x-x0)*df_dx.subs({x:x0,y:y0}) +
,→ (y-y0)*df_dy.subs({x:x0,y:y0})

# Affichage de l'équation du plan tangent


print(f"Équation du plan tangent en ({x0}, {y0}) :", plan_tangent)

df/dx = (x**2 - 2*x*(x + y) + y**2 + 1)/(x**2 + y**2 + 1)**2


df/dy = (x**2 + y**2 - 2*y*(x + y) + 1)/(x**2 + y**2 + 1)**2
Équation du plan tangent en (0, 0) : x + y

import numpy as np
import [Link] as plt
from mpl_toolkits.mplot3d import Axes3D

# Définition de la fonction f(x, y)


f = lambda x,y : (x + y) / (1 + x**2 + y**2)

# Génération des données pour la surface


x = [Link](-3, 3, 100)
y = [Link](-3, 3, 100)
X, Y = [Link](x, y)

46 © 2024-2026 G. Faccanoni
Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 1. Calcul différentiel et intégrale dans R2

Z = f(X, Y)

# Tracé de la surface
fig = [Link]()
ax = fig.add_subplot(111, projection='3d')
ax.plot_surface(X, Y, Z, cmap='viridis')

# Tracé des courbes de niveau


[Link](X, Y, Z, 10, offset=0, zdir='z', cmap='viridis')

# Définition des étiquettes des axes


ax.set_xlabel('x')
ax.set_ylabel('y')
ax.set_zlabel('f(x, y)')
ax.set_title('$f(x, y) = \\frac{x + y}{1 + x^2 + y^2}$')

[Link]()

Exercice 1.9
Soit f : R2 → R une fonction de classe C 2 (R2 ) et (a, b) un point de R2 . On suppose que

∂x f (a, b) = 0, ∂ y f (a, b) = 0, ∂xx f (a, b) = 1, ∂ y y f (a, b) = 2, ∂x y f (a, b) = 3.

Le point (a, b) est-il un point critique ? Si oui, de quelle nature ?

Correction
Le point (a, b) est un point critique de f car les dérivées premières de f s’annulent en ce point.
Pour déterminer la nature du point critique, calculons le déterminant de la matrice hessienne H f (a, b) :

∂xx f (a, b) ∂x y f (a, b)


µ ¶ µ ¶
1 3
H f (a, b) = = .
∂x y f (a, b) ∂ y y f (a, b) 3 2

Le déterminant de cette matrice est :

det(H f (a, b)) = 1 × 2 − 3 × 3 = 2 − 9 = −7.

Comme le déterminant de la hessienne est négatif, le point (a, b) est un point selle.

Exercice 1.10
On suppose que (1, 1) est un point critique d’une fonction f dont les dérivées secondes sont continues. Dans
chaque cas, que peut-on dire au sujet de f ?

1. ∂xx f (1, 1) = 4, ∂x y f (1, 1) = 1, ∂ y y f (1, 1) = 2 ; 2. ∂xx f (1, 1) = 4, ∂x y f (1, 1) = 3, ∂ y y f (1, 1) = 2.

Correction
1. D’abord on calcule dét(H f (1, 1)) = ∂xx f (1, 1)∂ y y f (1, 1) − (∂x y f (1, 1))2 = 7. Comme dét(H f (1, 1)) > 0 et ∂xx f (1, 1) >
0, f a un minimum local en (1, 1).
2. D’abord on calcule dét(H f (1, 1)) = ∂xx f (1, 1)∂ y y f (1, 1) − (∂x y f (1, 1))2 = −1. Comme dét(H f (1, 1)) < 0, f a un
point-selle en (1, 1).

© 2024-2026 G. Faccanoni 47
Chapitre 1. Calcul différentiel et intégrale dans R2 Dernière mise à jour : Mardi 30 septembre 2025

Exercice 1.11
À partir de la carte des courbes de niveau représentée
sur la figure ci-contre, localiser les points critiques de
f : R2 → R et préciser, pour chacun de ces points, s’il
s’agit d’un point-selle, d’un maximum local ou d’un mi-
nimum local.
Vérifier ensuite le raisonnement sachant que

f (x, y) = 4 + x 3 + y 3 − 3x y.

Correction
À partir de la carte des courbes de niveau, on peut faire les observations suivantes.
• Au point (1, 1), les courbes de niveau entourent le point de manière ovale, indiquant que les valeurs de f aug-
mentent lorsque l’on s’éloigne du point dans toutes les directions. Cela suggère un minimum local à proximité de
(1, 1).
• Au point (0, 0), les courbes de niveau ressemblent à des hyperboles, ce qui suggère un point-selle, car les valeurs
de f augmentent dans certaines directions et diminuent dans d’autres.
Vérifions cette analyse à l’aide des dérivées de f .
Points critiques : Calculons les dérivées partielles premières :
∂x f (x, y) = 3x 2 − 3y, ∂ y f (x, y) = 3y 2 − 3x.

Un point critique est une solution du système ∂x f (x, y) = 0 et ∂ y f (x, y) = 0. Résolvons ce système
( ( ( (
3x 2 − 3y = 0 x2 − y = 0 x2 − y = 0 x2 − y = 0
2
⇐⇒ 4
⇐⇒ 3
⇐⇒
3y − 3x = 0 x −x =0 x(x − 1) = 0 x = 0 ou x = 1

Cela donne les deux points critiques suivants : (1, 1) et (0, 0).
Étude des points critiques : Pour étudier la nature des points critiques, calculons les dérivées secondes
∂xx f (x, y) = 6x, ∂x y f (x, y) = −3, ∂ y y f (x, y) = 6y.

Le déterminant de la matrice hessienne est donné par

det(H f (x, y)) = ∂xx f (x, y) · ∂ y y f (x, y) − (∂x y f (x, y))2 = 36x y − 9.

Analyse des points critiques :


• Pour le point critique (1, 1) :

det(H f (1, 1)) = 36 × 1 × 1 − 9 = 36 − 9 = 27 > 0, ∂xx f (1, 1) = 6 > 0.

Comme det(H f (1, 1)) > 0 et ∂xx f (1, 1) > 0, le point (1, 1) est un minimum local.
• Pour le point critique (0, 0) :
det(H f (0, 0)) = 36 × 0 × 0 − 9 = −9 < 0.
Comme det(H f (0, 0)) < 0, le point (0, 0) est un point-selle.

import sympy as sp

x, y = [Link]('x y', real=True)

f = 4 + x**3 + y**3 - 3*x*y


grad_f = [[Link](f, var) for var in (x, y)]
hess_f = [[[Link](df, var1) for var1 in (x, y)] for df in grad_f]

print("Fonction f(x, y) :", f)


print("Gradient de f(x, y) :", grad_f)
print("Matrice hessienne de f(x, y) :", hess_f)

48 © 2024-2026 G. Faccanoni
Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 1. Calcul différentiel et intégrale dans R2

stationary_points = [Link](grad_f, (x, y))


print("Points stationnaires :", stationary_points)
print()

# Afficher la nature des points stationnaires


for point in stationary_points:
hess_matrix_evaluated = [[[Link]({x: point[0], y: point[1]}) for
,→ entry in row] for row in hess_f]
determinant = [Link]([Link](hess_matrix_evaluated))
if determinant < 0:
nature = 'Point de selle'
elif determinant > 0:
if hess_matrix_evaluated[0][0] < 0:
nature = 'Maximum'
else:
nature = 'Minimum'
else:
nature = 'Indéterminé'
print("Point stationnaire :", point)
print("Matrice hessienne évaluée en le point :", hess_matrix_evaluated)
print("Déterminant de la matrice hessienne :", determinant)
print("Nature du point :", nature)
print()

Fonction f(x, y) : x**3 - 3*x*y + y**3 + 4


Gradient de f(x, y) : [3*x**2 - 3*y, -3*x + 3*y**2]
Matrice hessienne de f(x, y) : [[6*x, -3], [-3, 6*y]]
Points stationnaires : [(0, 0), (1, 1)]

Point stationnaire : (0, 0)


Matrice hessienne évaluée en le point : [[0, -3], [-3, 0]]
Déterminant de la matrice hessienne : -9
Nature du point : Point de selle

Point stationnaire : (1, 1)


Matrice hessienne évaluée en le point : [[6, -3], [-3, 6]]
Déterminant de la matrice hessienne : 27
Nature du point : Minimum

import numpy as np
import [Link] as plt

f = lambda x, y : 4 + x**3 + y**3 - 3*x*y

# Création de la grille pour le tracé


x_vals = [Link](-2, 2, 400)
y_vals = [Link](-2, 2, 400)
X, Y = [Link](x_vals, y_vals)
Z = f(X, Y)

# Points stationnaires
stationary_points = [(0, 0), (1, 1)]

© 2024-2026 G. Faccanoni 49
Chapitre 1. Calcul différentiel et intégrale dans R2 Dernière mise à jour : Mardi 30 septembre 2025

# Calculer les valeurs de la fonction en ces points


stationary_values = sorted([f(point[0], point[1]) for point in
,→ stationary_points])

# Tracer les courbes de niveau


[Link](X, Y, Z, levels=50)
# Ajouter des courbes de niveau spécifiquement pour les valeurs aux points
,→ stationnaires
[Link](X, Y, Z, levels=stationary_values, colors='red')

[Link]('x')
[Link]('y')
[Link]('Courbes de niveau de f(x, y)')
[Link](True)
[Link]('equal')

# Ajouter les points stationnaires


for point in stationary_points:
[Link](point[0], point[1], color='red', s=50)

[Link]('courbes_de_niveau.png')
# [Link]()

Exercice 1.12
À partir de la carte des courbes de niveau représentée
sur la figure ci-contre, localiser les points critiques de
f : R2 → R et préciser, pour chacun de ces points, s’il
s’agit d’un point-selle, d’un maximum local ou d’un mi-
nimum local.
Vérifier ensuite cette analyse sachant que

f (x, y) = 3x − x 3 − 2y 2 + y 4 .

Correction
À partir de la figure des courbes de niveau, plusieurs points critiques peuvent être identifiés :
• aux points (−1, −1) et (−1, 1), les courbes de niveau entourent les points. Cela suggère que les valeurs de f
augmentent lorsque l’on s’éloigne de ces points dans toutes les directions, ce qui est caractéristique de minima
locaux ;

50 © 2024-2026 G. Faccanoni
Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 1. Calcul différentiel et intégrale dans R2

• au point (1, 0), les courbes de niveau entourent le point, ce qui suggère que les valeurs de f diminuent lorsque
l’on s’éloigne du point dans toutes les directions, ce qui est caractéristique d’un maximum local ;
• aux points (−1, 0), (1, 1), et (1, −1), les valeurs de f augmentent dans certaines directions et diminuent dans
d’autres, ce qui suggère des points-selles.
Passons maintenant à la vérification analytique de cette analyse en trouvant les points critiques et en déterminant leur
nature.
Les points critiques sont les solutions du système
( ( (
3 − 3x 2 = 0 x2 − 1 = 0 (x − 1)(x + 1)
∇f = 0 ⇝ 3
⇝ 2

−4y + 4y = 0 y(y − 1) = 0 y(y − 1)(y + 1) = 0

Ainsi, les points critiques sont : (1, 0), (1, 1), (1, −1), (−1, 0), (−1, 1), et (−1, −1).
Calculons les dérivées secondes

∂xx f (x, y) = −6x, ∂x y f (x, y) = 0, ∂ y y f (x, y) = 12y 2 − 4.

Le déterminant de la matrice hessienne H f (x, y) est donné par

det(H f (x, y)) = ∂xx f (x, y) · ∂ y y f (x, y) − (∂x y f (x, y))2 = −72x y 2 + 24x = −6x(12y 2 − 4).

Analysons maintenant chaque point critique :

Point critique (x 0 , y 0 ) dét(H f (x 0 , y 0 )) ∂xx f (x 0 , y 0 ) Conclusion


(1, 0) 24 > 0 −6 < 0 f a un maximum local en (1, 0)
(1, 1) −48 < 0 f a un point-selle en (1, 1)
(1, −1) −48 < 0 −6 < 0 f a un point-selle en (1, −1)
(−1, 0) −24 < 0 f a un point-selle en (−1, 0)
(−1, 1) 48 > 0 6>0 f a un minimum local en (−1, 1)
(−1, −1) 48 > 0 6>0 f a un minimum local en (−1, −1)

Exercice 1.13
Une montagne a la forme de la surface z(x, y) = 2x y − 2x 2 − y 2 − 8x + 6y + 4 (l’unité de mesure est de 100 mètres).
Si le niveau de la mer correspond à z = 0, quelle est la hauteur de la montagne ?

Correction
Il s’agit d’évaluer z(x, y) dans le point de maximum. Cherchons d’abord les points critiques :
µ ¶
2y − 4x − 8
∇z(x, y) =
2x − 2y + 6

et ∇z(x, y) = 0 ssi (x, y) = (−1, 2). On établie la nature du point critique en étudiant le déterminant de la matrice
hessienne :

∂xx f (x, y) = −4 < 0, ∂ y y f (x, y) = −2, ∂x y f (x, y) = 2,

et ∂xx f (−1, 2)∂ y y f (−1, 2) − (∂x y f (−1, 2))2 = 4 > 0 donc (−1, 2) est un maximum. Comme z(−1, 2) = 14, la montagne est
haute 1400 mètre.

Exercice 1.14
Si f est une fonction continue d’une seule variable réelle et si f admet deux maxima sur un intervalle alors il existe
un minimum compris entre les deux maxima. Le but de cet exercice est de montrer que ce résultat ne s’étend pas
en deux dimensions.
Considérons la fonction f : R2 → R définie par f (x, y) = 4y 2 e x − 2y 4 − e 4x . Montrer que cette fonctions admet
deux maxima mais aucun autre point critique.

Correction
• f est de classe C 2 dans son domaine de définition, l’ouvert R2 .

© 2024-2026 G. Faccanoni 51
Chapitre 1. Calcul différentiel et intégrale dans R2 Dernière mise à jour : Mardi 30 septembre 2025

• Recherche de points critiques :


(
y =0
( (
4y 2 e x − 4e 4x = 0 4e x (y 2 − e 3x ) = 0 −4e 4x = 0
µ ¶
0 ↗
∇ f (x, y) = ⇐⇒ ⇐⇒ (
0 8ye x − 8y 3 = 0 8y(e x − y 2 ) = 0 ↘ ex = y2
⇐⇒ (x, y) = (0, ±1) .
y 2 = e 3x = y 6

On a deux points critiques : (0, 1) et (0, −1).


• Nature des points critiques :
µ 2 x
4y e − 16e 4x 8ye x

dét(H f (x, y)) = 32e x (e x − 3y 2 )(y 2 − 4e 3x ) − 2y 2 e x .
¡ ¢
H f (x, y) = ,
8ye x 8e x − 24y 2

det H f (0, ±1) = 128 > 0 et ∂xx f (0, ±1, ) = −12 < 0 donc les points (0, ±1) sont des maxima.
¡ ¢

Exercice 1.15
Déterminer et établir la nature des points critiques des fonction f : R2 → R définies par

1. f (x, y) = x 2 + x y + y 2 + y 2. f (x, y) = x y − 2x − 2y − x 2 − y 2 3. f (x, y) = (x − y)(1 − x y)


3 2 2 2 3 3
4. f (x, y) = y +3x y −6x −6y +2 5. f (x, y) = x + y − 3x y + 3 6. f (x, y) = x y(1 − x − y)
1 1
7. 3
f (x, y) = x − 12x y + 8y 3
8. f (x, y) = x y + + x y 9. f (x, y) = e x cos(y)
x2 y y3
10. f (x, y) = y cos(x) 11. f (x, y) = y 2 + x y ln(x) 12. f (x, y) = 2 + x2 + 3 − 4y
x2 y y3 x y2 3 2 −y 2 )
13. f (x, y) = 2 − x2 + 3 − 4y 14. f (x, y) = 2 + x3 − 4x + y 2 15. f (x, y) = (x 2 − y 2 )e (−x
2 −y 2 )
16. f (x, y) = (y 2 − x 2 )e (−x 17. f (x, y) = x 4 + y 4 − 2(x − y)2 18. f (x, y) = x 4 + y 4 − 4(x − y)2
x2
19. f (x, y, z) = 2 + xyz − z + y 20. f (x, y) = (x − 1)2 + 2y 2 21. f (x, y) = x 2 + x y + y 2 − 2x − y
3 2
22. f (x, y) = x y (6 − x − y) 23. f (x, y) = e x−y (x 2 − 2y 2 ) 24. f (x, y) = 8
x + xy + y
2 +y 2 )
25. f (x, y) = x 2 − cos(y) 26. f (x, y) = (x 2 + y 2 )e −(x 27. f (x, y) = x 3 + y 2 − 6(x 2 − y 2 )
28. f (x, y) = (x 2 + y 2 − y 3 )e −y

Correction
1. f (x, y) = x 2 + x y + y 2 + y
• f est de classe C 2 dans son domaine de définition, l’ouvert R2 .
• Recherche de points critiques :
(
2x + y = 0
µ ¶ µ ¶
0 1 2
∇ f (x, y) = ⇐⇒ ⇐⇒ (x, y) = , − .
0 x + 2y + 1 = 0 3 3
¡1 2
¢
On a un unique point critique : 3,−3 .
• Nature du point critique : µ ¶
2 1
H f (x, y) = , dét(H f (x, y)) = 3.
1 2

dét H f 31 , − 23 > 0 et ∂xx f 31 , − 23 > 0 donc 13 , − 32 est un minimum.


¡ ¡ ¢¢ ¡ ¢ ¡ ¢

2. f (x, y) = x y − 2x − 2y − x 2 − y 2
• f est de classe C 2 dans son domaine de définition, l’ouvert R2 .
• Recherche de points critiques :
(
y − 2 − 2x = 0
µ ¶
0
∇ f (x, y) = ⇐⇒ ⇐⇒ (x, y) = (−2, −2).
0 x − 2 − 2y = 0

On a un unique point critique : (−2, −2).

52 © 2024-2026 G. Faccanoni
Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 1. Calcul différentiel et intégrale dans R2

• Nature du point critique :


µ ¶
−2 1
H f (x, y) = , dét(H f (x, y)) = 3.
1 −2

dét(H f (−2, −2)) > 0 et ∂xx f (−2, −2) < 0 donc (−2, −2) est un maximum.
3. f (x, y) = (x − y)(1 − x y)
• f est de classe C 2 dans son domaine de définition, l’ouvert R2 .
• Recherche de points critiques :
(
1 − 2x y + y 2 = 0
µ ¶
0
∇ f (x, y) = ⇐⇒ ⇐⇒ (x, y) ∈ { (−1, −1), (1, 1) } .
0 −1 − x 2 + 2x y = 0

On a deux points critiques : (−1, −1) et (1, 1).


• Nature des points critiques :
µ ¶
−2y −2x + 2y
H f (x, y) = , dét(H f (x, y)) = −4x y − 4(y − x)2 .
−2x + 2y 2x

dét(H f (−1, −1)) < 0 donc (−1, −1) est un point-selle ;


dét(H f (1, 1)) < 0 donc (1, 1) est un point-selle.
4. f (x, y) = y 3 + 3x 2 y − 6x 2 − 6y 2 + 2
• f est de classe C 2 dans son domaine de définition, l’ouvert R2 .
• Recherche de points critiques :
(
6x y − 12x = 0
µ ¶
0
∇ f (x, y) = ⇐⇒ ⇐⇒ (x, y) ∈ { (0, 0), (0, 4), (2, 2), (−2, 2) } .
0 3y 2 + 3x 2 − 12y = 0

On a quatre points critiques : (0, 0), (0, 4), (2, 2) et (−2, 2).
• Nature des points critiques :
µ ¶
6y − 12 6x ³ ´
H f (x, y) = , dét(H f (x, y)) = (6y − 12)2 − 36x 2 = 36 (y − 2)2 − x 2 .
6x 6y − 12

dét(H f (0, 0)) > 0 et ∂xx f (0, 0) < 0 donc (0, 0) est un maximum ;
dét(H f (0, 4)) > 0 et ∂xx f (0, 4) > 0 donc (0, 4) est un minimum ;
dét(H f (2, 2)) < 0 donc (2, 2) est un point-selle ;
dét(H f (−2, 2)) < 0 donc (−2, 2) est un point-selle.
5. f (x, y) = x 3 + y 3 − 3x y + 3.
• f est de classe C 2 dans son domaine de définition, l’ouvert R2 .
• Recherche de points critiques :
(
3(x 2 − y) = 0
µ ¶
0
∇ f (x, y) = ⇐⇒ ⇐⇒ (x, y) ∈ { (0, 0), (1, 1) } .
0 3(y 2 − x) = 0

On a deux points critiques : (0, 0) et (1, 1).


• Nature des points critiques :
µ ¶
6x −3
H f (x, y) = , dét(H f (x, y)) = 36x y − 9.
−3 6y

dét(H f (0, 0)) = −9 < 0 donc (0, 0) est un point-selle ;


dét(H f (1, 1)) = 27 > 0 et ∂xx f (1, 1) = 6 > 0, donc (1, 1) est un minimum.
6. f (x, y) = x y(1 − x − y)
• f est de classe C 2 dans son domaine de définition, l’ouvert R2 .

© 2024-2026 G. Faccanoni 53
Chapitre 1. Calcul différentiel et intégrale dans R2 Dernière mise à jour : Mardi 30 septembre 2025

• Recherche de points critiques :


(
y − 2x y − y 2 = 0
µ ¶ ½ µ ¶¾
0 1 1
∇ f (x, y) = ⇐⇒ ⇐⇒ (x, y) ∈ (0, 0), (1, 0), (0, 1), , .
0 x − x 2 − 2x y = 0 3 3
¡1 1
¢
On a quatre points critiques : (0, 0), (1, 0), (0, 1) et 3, 3 .
• Nature des points critiques :
µ ¶
−2y 1 − 2x − 2y
H f (x, y) = , dét(H f (x, y)) = 4x y − (1 − 2x − 2y)2
1 − 2x − 2y −2x

dét(H f (0, 0)) < 0 donc (0, 0) est un point-selle ;


dét(H f (1, 0)) < 0 donc (1, 0) est un point-selle ;
dét(H f (0, 1)) < 0 donc (0, 1) est un point-selle ;
dét H f 13 , 13 > 0 et ∂xx f 13 , 31 < 0 donc 13 , 13 < 0 est un maximum.
¡ ¡ ¢¢ ¡ ¢ ¡ ¢

7. f (x, y) = x 3 − 12x y + 8y 3
• f est de classe C 2 dans son domaine de définition, l’ouvert R2 .
• Recherche de points critiques :
(
3x 2 − 12y = 0
µ ¶
0
∇ f (x, y) = ⇐⇒ ⇐⇒ (x, y) ∈ { (0, 0), (2, 1) } .
0 −12x + 24y 2 = 0

On a deux points critiques : (0, 0), et (2, 1).


• Nature des points critiques :
µ ¶
6x −12
H f (x, y) = , dét(H f (x, y)) = 144(2x y − 1)
−12 48y

dét(H f (0, 0)) < 0 donc (0, 0) est un point-selle ;


dét(H f (2, 1)) > 0 et ∂xx f (2, 1) > 0 donc (2, 1) est un minimum.
8. f (x, y) = x y + x1 + 1y
• f est de classe C 2 dans son domaine de définition, l’ouvert R2 \ { (0, κ) | κ ∈ R } \ { (κ, 0) | κ ∈ R }.
• Recherche de points critiques :

y − x12 = 0
µ ¶ (
0
∇ f (x, y) = ⇐⇒ ⇐⇒ (x, y) = (1, 1).
0 x − y12 = 0

On a un unique point critique : (1, 1).


• Nature du point critique :
2
à !
x3
1 4
H f (x, y) = 2 , dét(H f (x, y)) = −1
1 y3 (x y)3

dét(H f (1, 1)) > 0 et ∂xx f (1, 1) > 0 donc (1, 1) est un minimum.
9. f (x, y) = e x cos(y)
• f est de classe C 2 dans son domaine de définition, l’ouvert R2 .
• Recherche de points critiques :
(
e x cos(y) = 0
µ ¶
0
∇ f (x, y) = ⇐⇒ ⇐⇒ ̸ ∃(x, y) ∈ R2 .
0 −e x sin(y) = 0

Cette fonction n’admet aucun point critique.


10. f (x, y) = y cos(x)
• f est de classe C 2 dans son domaine de définition, l’ouvert R2 .

54 © 2024-2026 G. Faccanoni
Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 1. Calcul différentiel et intégrale dans R2

• Recherche de points critiques :


(
µ ¶
0 −y sin(x) = 0 ³π ´
∇ f (x, y) = ⇐⇒ ⇐⇒ (x, y) = + κπ, 0 , κ ∈ Z.
0 cos(x) = 0 2
π
On a une infinité de points critiques alignés sur la droite d’équation y = 0 et qui ont ordonnée x = 2 + κπ
avec κ ∈ Z.
• Nature des points critiques :
µ ¶
−y cos(x) − sin(x)
H f (x, y) = , dét(H f (x, y)) = − sin2 (x)
− sin(x) 0

dét H f π2 + κπ, 0 < 0 donc ils sont tous des points-selle.


¡ ¡ ¢¢

11. f (x, y) = y 2 + x y ln(x)


• f est de classe C 2 dans son domaine de définition, l’ouvert D = (x, y) ∈ R2 ¯ x > 0 .
© ¯ ª

• Recherche de points critiques :


(
y(ln(x) + 1) = 0
µ ¶ ½ µ ¶¾
0 1 1
∇ f (x, y) = ⇐⇒ ⇐⇒ (x, y) ∈ (1, 0); ,
0 2y + x ln(x) = 0 e 2e

On a deux points critiques : (1, 0) et 1e , 2e


¡ 1¢
.
• Nature des points critiques :
y
y
µ ¶
1 + ln(x)
H f (x, y) = x , dét(H f (x, y)) = 2 − (1 + ln(x))2
1 + ln(x) 2 x
dét(H f (1, 0)) < 0 donc (1, 0) est un point-selle ;
dét H f 1e , 2e
¡ ¡ 1 ¢¢
> 0 et ∂xx f 1e , 2e
¡ 1¢
> 0 donc 1e , 2e
¡ 1¢
est un minimum.
x2 y y3
12. f (x, y) = 2 + x2 + 3 − 4y
• f est de classe C 2 dans son domaine de définition, l’ouvert R2 .
• Recherche de points critiques :
(
x y + 2x = 0
µ ¶
0
∇ f (x, y) = ⇐⇒ x 2 ⇐⇒ (x, y) ∈ { (0, −2), (0, 2) } .
0 + y2 − 4 = 0 2

On a deux points critiques : (0, −2) et (0, 2).


• Nature des points critiques :
µ ¶
y +2 x
H f (x, y) = , dét(H f (x, y)) = 2y(y + 2) − x
x 2y

dét(H f (0, 2)) > 0 et ∂xx f (0, 2) = 4 > 0 donc (0, 2) est un minimum pour f ;
comme dét(H f (0, −2)) = 0, on ne peut pas conclure en utilisant la matrice hessienne (l’étude du signe de la
distance dans ce cas est trop compliquée).
x2 y y3
13. f (x, y) = 2 − x2 + 3 − 4y
• f est de classe C 2 dans son domaine de définition, l’ouvert R2 .
• Recherche de points critiques :
(
x y − 2x = 0
µ ¶
0
∇ f (x, y) = ⇐⇒ x 2 ⇐⇒ (x, y) ∈ { (0, −2), (0, 2) } .
0 + y2 − 4 = 0 2

On a deux points critiques : (0, −2) et (0, 2).


• Nature des points critiques :
µ ¶
y −2 x
H f (x, y) = , dét(H f (x, y)) = 2y(y − 2) − x
x 2y

dét(H f (0, −2)) > 0 et ∂xx f (0, −2) < 0 donc (0, −2) est un maximum pour f ;
comme dét(H f (0, 2)) = 0, on ne peut pas conclure en utilisant la matrice hessienne (l’étude du signe de la
distance dans ce cas est trop compliquée).

© 2024-2026 G. Faccanoni 55
Chapitre 1. Calcul différentiel et intégrale dans R2 Dernière mise à jour : Mardi 30 septembre 2025

x y2 3
14. f (x, y) = 2 + x3 − 4x + y 2
• f est de classe C 2 dans son domaine de définition, l’ouvert R2 .
• Recherche de points critiques :
( 2
y
+ x2 − 4 = 0
µ ¶
0
∇ f (x, y) = ⇐⇒ 2 ⇐⇒ (x, y) ∈ { (−2, 0), (2, 0) } .
0 x y + 2y = 0

On a deux points critiques : (0, −2) et (0, 2).


• Nature des points critiques :
µ ¶
2x y
H f (x, y) = , dét(H f (x, y)) = 2x(x + 2) − y
y x +2

dét(H f (2, 0)) > 0 et ∂xx f (2, 0) = 4 > 0 donc (2, 0) est un minimum pour f ;
comme dét(H f (−2, 0)) = 0, on ne peut pas conclure en utilisant la matrice hessienne (l’étude du signe de la
distance dans ce cas est trop compliquée).
2 −y 2 )
15. f (x, y) = (x 2 − y 2 )e (−x
• f est de classe C 2 dans son domaine de définition, l’ouvert R2 .
• Recherche de points critiques :
( 2 2
2x(1 − x 2 + y 2 )e (−x −y ) = 0
µ ¶
0
∇ f (x, y) = ⇐⇒ 2 2 ⇐⇒ (x, y) ∈ { (0, 0), (0, 1), (0, −1), (1, 0), (−1, 0) } .
0 2y(−1 − x 2 + y 2 )e (−x −y ) = 0

On a 5 points critiques : (0, 0), (0, 1), (0, −1), (1, 0) et (−1, 0).
• Nature des points critiques :

2 −y 2 )
∂xx f (x, y) = 2e (−x (1 − 5x 2 + y 2 + 2x 4 − 2x 2 y 2 ),
2 −y 2 )
∂x y f (x, y) = 4x y(x 2 − y 2 )e (−x ,
(−x 2 −y 2 )
∂ y y f (x, y) = 2e (−1 − x + 5y 2 + 2x 2 y 2 − 2y 4 ).
2

∂xx f (x, y) ∂x y f (x, y)


µ ¶
H f (x, y) = , dét(H f (x, y)) = ∂xx f (x, y)∂ y y f (x, y) − (∂x y f (x, y))2
∂x y f (x, y) ∂ y y f (x, y)

On a alors

(x 0 , y 0 ) ∂xx f (x 0 , y 0 ) ∂x y f (x 0 , y 0 ) ∂ y y f (x 0 , y 0 ) dét(H f (x 0 , y 0 ))
(0, 0) 2 0 −2 −4 c’est un point-selle
(1, 0) − 4e 0 − 4e 16
e2
c’est un maximum
(−1, 0) − 4e 0 − 4e 16
e2
c’est un maximum
4 4 16
(0, 1) e 0 e e2
c’est un minimum
4 4 16
(0, −1) e 0 e e2
c’est un minimum

2 −y 2 )
16. f (x, y) = (y 2 − x 2 )e (−x
• f est de classe C 2 dans son domaine de définition, l’ouvert R2 .
• Recherche de points critiques :
( 2 2
2x(−1 + x 2 − y 2 )e (−x −y ) = 0
µ ¶
0
∇ f (x, y) = ⇐⇒ 2 2 ⇐⇒ (x, y) ∈ { (0, 0), (0, 1), (0, −1), (1, 0), (−1, 0) } .
0 2y(1 + x 2 − y 2 )e (−x −y ) = 0

On a 5 points critiques : (0, 0), (0, 1), (0, −1), (1, 0) et (−1, 0).

56 © 2024-2026 G. Faccanoni
Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 1. Calcul différentiel et intégrale dans R2

• Nature des points critiques :


2 −y 2 )
∂xx f (x, y) = −2e (−x (1 − 5x 2 + y 2 + 2x 4 − 2x 2 y 2 ),
2 −y 2 )
∂x y f (x, y) = −4x y(x 2 − y 2 )e (x ,
(−x 2 −y 2 )
∂ y y f (x, y) = −2e (−1 − x + 5y 2 + 2x 2 y 2 − 2y 4 ).
2

∂xx f (x, y) ∂x y f (x, y)


µ ¶
H f (x, y) = , dét(H f (x, y)) = ∂xx f (x, y)∂ y y f (x, y) − (∂x y f (x, y))2
∂x y f (x, y) ∂ y y f (x, y)

On a alors

(x 0 , y 0 ) ∂xx f (x 0 , y 0 ) ∂x y f (x 0 , y 0 ) ∂ y y f (x 0 , y 0 ) dét(H f (x 0 , y 0 ))
(0, 0) −2 0 2 −4 c’est un point-selle
4 4 16
(1, 0) e 0 e e2
c’est un minimum
4 4 16
(−1, 0) e 0 e e2
c’est un minimum
(0, 1) − 4e 0 − 4e 16
e2
c’est un maximum
(0, −1) − 4e 0 − 4e 16
e2
c’est un maximum

17. f (x, y) = x 4 + y 4 − 2(x − y)2


• f est de classe C 2 dans son domaine de définition, l’ouvert R2 . Comme la restriction f (x, 0) = x 4 − 2x 2
tend vers +∞ pour x qui tend vers ±∞, il n’y a pas de maximum global sur R2 . Comme R2 est ouvert, un
extrémum relatif de f vérifie la condition nécessaire ∇ f (x, y) = 0.
• Recherche de points critiques :
(
4(x 3 − x + y) = 0 p p p p o
µ ¶
0 n
∇ f (x, y) = ⇐⇒ ⇐⇒ (x, y) ∈ (0, 0), ( 2, − 2), (− 2, 2) .
0 4(y 3 + x − y) = 0
p p p p
On a 3 points critiques : 2 (0, 0), ( 2, − 2) et (− 2, 2) (on note que f (x, y) = f (−x, −y)).
• Nature des points critiques :

12x 2 − 4
µ ¶
4 ³ ´
H f (x, y) = , dét(H f (x, y)) = 16 (3x 2 − 1)(3y 2 − 1) − 1 .
4 12y 2 − 4
p p p p p p
dét(H f ( 2, − 2)) = 384 > 0 et ∂xx f ( 2, − 2) = 20 > 0 donc ( 2, − 2) est un minimum pour f ;
p p p p p p
dét(H f (− 2, 2)) = 384 > 0 et ∂xx f (− 2, 2) = 20 > 0 donc (− 2, 2) est un minimum pour f ;
comme dét(H f (0, 0)) = 0, on ne peut pas conclure en utilisant la matrice hessienne.
Pour connaître la nature du point (0, 0) on étudie le signe de d (h, k) = f (h, k) − f (0, 0) pour h et k voisins de
0:
d (h, k) = h 4 + k 4 − 2(h − k)2 ;

comme d (h, 0) = (h 2 − 2)h 2 < 0 lorsque h est voisin de 0 mais d (h, h) = 2h 4 > 0, alors (0, 0) est un point-selle.
Remarquons qu’avec des transformations algébriques, on peut réécrire la fonction sous la forme

f (x, y) = (x 2 − 2)2 + (y 2 − 2)2 + 2(x + y)2 − 8 ≥ 8 ∀(x, y) ∈ R2 .


p p p p p p p p
Comme f ( 2, − 2) = f (− 2, 2) = −8, les points ( 2, − 2) et (− 2, 2) sont des minima globaux.
18. f (x, y) = x 4 + y 4 − 4(x − y)2
• f est de classe C 2 dans son domaine de définition, l’ouvert R2 . Comme la restriction f (x, 0) = x 4 − 4x 2
tend vers +∞ pour x qui tend vers ±∞, il n’y a pas de maximum global sur R2 . Comme R2 est ouvert, un
extrémum relatif de f vérifie la condition nécessaire ∇ f (x, y) = 0.
( ( (
4x 3 − 4x + 4y = 0 x3 + y 3 = 0 x = −y
2. =⇒ =⇒
4y 3 + 4x − 4y = 0 y3 + x − y = 0 (y 2 − 2)y = 0

© 2024-2026 G. Faccanoni 57
Chapitre 1. Calcul différentiel et intégrale dans R2 Dernière mise à jour : Mardi 30 septembre 2025

• Recherche de points critiques :


(
4(x 3 − 2x + 2y) = 0
µ ¶
0
∇ f (x, y) = ⇐⇒ ⇐⇒ (x, y) ∈ { (0, 0), (2, −2), (−2, 2) } .
0 4(y 3 + 2x − 2y) = 0

On a 3 points critiques : 3 (0, 0), (2, −2) et (−2, 2) (on note que f (x, y) = f (−x, −y)).
• Nature des points critiques :

12x 2 − 8
µ ¶
8 ³ ´
H f (x, y) = 2 , dét(H f (x, y)) = 48 3x 2 y 2 − 2(x 2 + y 2 ) .
8 12y − 8

◦ dét(H f (2, −2)) = 1536 > 0 et ∂xx f (2, −2) = 40 > 0 donc (2, −2) est un minimum local pour f ;
◦ dét(H f (−2, 2)) = 1536 > 0 et ∂xx f (−2, 2) = 40 > 0 donc (−2, 2) est un minimum local pour f ;
◦ comme dét(H f (0, 0)) = 0, on ne peut pas conclure en utilisant la matrice hessienne. Pour connaître la
nature du point (0, 0) on étudie le signe de d (h, k) = f (h, k) − f (0, 0) pour h et k voisins de 0 :

d (h, k) = h 4 + k 4 − 4(h − k)2 ;

comme d (h, 0) = (h 2 − 4)h 2 < 0 lorsque h est voisin de 0 mais d (h, h) = 2h 4 > 0, alors (0, 0) est un
point-selle.
Remarquons qu’avec des transformations algébriques, on peut réécrire la fonction sous la forme

f (x, y) = (x 2 − 4)2 + (y 2 − 4)2 + 4(x + y)2 − 32 ≥ −32 ∀(x, y) ∈ R2 .

Comme f (2, −2) = f (−2, 2) = −32, les points (2, −2) et (−2, 2) sont des minima globaux.
x2
19. f (x, y, z) = 2 + xyz − z + y
• f est définie sur R3 à valeur dans R ; comme la restriction f (0, 0, z) = −z tend vers ±∞ pour z qui tend
vers ∓∞, il n’y a pas d’extremum global sur R3 . Comme R3 est ouvert, un extrémum relatif de f vérifie la
condition nécessaire ∇ f (x, y, z) = 0.
• Recherche de points critiques :

µ ¶ x + y z = 0

0
∇ f (x, y, z) = ⇐⇒ xz + 1 = 0 ⇐⇒ (x, y, z) = (1, 1, −1).
0 
xy −1 = 0

Il n’y a qu’un point critique : (1, 1, −1).


• Nature du point critique : on étudie le signe de ∆ f (h, k, l ) ≡ f (1 + h, 1 + k, −1 + l ) pour h, k et l voisins de 0
(les termes de degré 1 en h, k et l doivent disparaître) :

h 2 + 1 + 2h 3 h2
∆ f (h, k, l ) = + (1 + h)(1 + k)(−1 + l ) − (−1 + l ) + (1 + k) − = + hkl + hl − hk + kl .
2 2 2
Il ne reste que transformer ∆ f si on pense qu’il s’agit d’un extrémum ou fournir des restrictions qui se
contredisent si on pense que ce n’est pas un extrémum. Comme les deux restrictions à deux courbes
continues passant par l’origine ∆ f (h, 0, h) = 32 h 2 > 0 et ∆ f (h, h, 0) = − 12 h 2 < 0 donnent des signes différents,
on conclut que ce n’est pas un extrémum.
20. f (x, y) = (x − 1)2 + 2y 2
• f est de classe C 2 dans son domaine de définition, l’ouvert R2 .
• Recherche de points critiques :
(
2x − 2 = 0
µ ¶
0
∇ f (x, y) = ⇐⇒ ⇐⇒ (x, y) = (1, 0).
0 4y = 0

On a un seul point critique : (1, 0).


( ( ( ( (
4x 3 − 8x + 8y = 0 x 3 − 2(x − y) = 0 x3 + y 3 = 0 x = −y x = −y
3. =⇒ =⇒ =⇒ =⇒
4y 3 + 8x − 8y = 0 y 3 + 2(x − y) = 0 y 3 + 2x − 2y = 0 (y 2 − 4)y = 0 y = 0 ou y = 2 ou y = −2

58 © 2024-2026 G. Faccanoni
Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 1. Calcul différentiel et intégrale dans R2

• Nature du point critique :


µ ¶
2 0
H f (x, y) = , dét(H f (x, y)) = 8.
0 4

dét(H f (1, 0)) = 8 > 0 et ∂xx f (1, 0) = 2 > 0 donc (1, 0) est un minimum pour f .
21. f (x, y) = x 2 + x y + y 2 − 2x − y
• f est de classe C 2 dans son domaine de définition, l’ouvert R2 .
• Recherche de points critiques :
(
2x + y − 2 = 0
µ ¶
0
∇ f (x, y) = ⇐⇒ ⇐⇒ (x, y) = (1, 0).
0 x + 2y − 1 = 0

On a un seul point critique : (1, 0).


• Nature du point critique :
µ ¶
2 1
H f (x, y) = , dét(H f (x, y)) = 7.
1 4

dét(H f (1, 0)) = 8 > 0 et ∂xx f (1, 0) = 2 > 0 donc (1, 0) est un minimum pour f .
22. f (x, y) = x 3 y 2 (6 − x − y)
• f est de classe C 2 dans son domaine de définition, l’ouvert R2 .
• Recherche de points critiques :
(
3x 2 y 2 (6 − x − y) − x 3 y 2 = 0
µ ¶
0
∇ f (x, y) = ⇐⇒ ⇐⇒ (x, y) ∈ { (3, 2), (t , 0), (0, t ) | t ∈ R } .
0 2x 3 y(6 − x − y) − x 3 y 2 = 0

On a une infinité de points critiques : les points (t , 0) et (0, t ) pour t ∈R sont des points critiques ainsi que le
point (3, 2).
• Nature des points critiques :

∂xx f (x, y) = 6x y 2 (6 − x − y) − 6x 2 y 2 ,
∂x y f (x, y) = 6x 2 y(6 − x − y) − 3x 2 y 2 − 2x 3 y,
∂ y y f (x, y) = 2x 3 (6 − x − y) − 4x 3 y.

∂xx f (x, y) ∂x y f (x, y)


µ ¶
H f (x, y) = , dét(H f (x, y)) = ∂xx f (x, y)∂ y y f (x, y) − (∂x y f (x, y))2
∂x y f (x, y) ∂ y y f (x, y)

dét(H f (3, 2)) > 0 et ∂xx f (3, 2) < 0 donc (3, 2) est un maximum pour f .
dét(H f (t , 0)) = 0 pour tout t ∈ R : l’étude de la matrice hessienne ne permet pas de conclure pour les
points sur l’axe d’équation y = 0. Pour connaître la nature de ces points on étudie le signe de d (h, k) =
f (t +h, 0+k)− f (t , 0) = (t +h)3 k 2 (6− t −h −k) pour h et k proches de 0. On conclut que les points (t , 0) pour
t < 0 ou t > 6 sont des maxima, les points (t , 0) pour 0 < t < 6 sont des minima et les points (0, 0) et (6, 0) sont
des points-selle.
dét(H f (0, t )) = 0 pour tout t ∈ R : l’étude de la matrice hessienne ne permet pas de conclure pour les points
sur les axes. Pour connaître la nature de ces points on étudie le signe de d (h, k) = f (0 + h, t + k) − f (0, t ) =
h 3 (t + k)2 (6 − t − h − k) pour h et k proches de 0. On conclut que les points (0, t ) sont des points-selle pour
tout t ∈ R.
23. f (x, y) = e x−y (x 2 − 2y 2 )
• f est de classe C 2 dans son domaine de définition, l’ouvert R2 .
• Recherche de points critiques :
(
(x 2 − 2y 2 + 2x)e x−y = 0
µ ¶
0
∇ f (x, y) = ⇐⇒ ⇐⇒ (x, y) ∈ { (0, 0), (−4, −2) } .
0 (−x 2 + 2y 2 − 4y)e x−y = 0

On a deux points critiques : (0, 0) et (−4, −2).

© 2024-2026 G. Faccanoni 59
Chapitre 1. Calcul différentiel et intégrale dans R2 Dernière mise à jour : Mardi 30 septembre 2025

• Nature des points critiques :

∂xx f (x, y) = e x−y (x 2 −2y 2 +4x+2), ∂x y f (x, y) = e x−y (−x 2 +2y 2 −2x−4y), ∂ y y f (x, y) = e x−y (x 2 −2y 2 +8y−4);

∂xx f (x, y) ∂x y f (x, y)


µ ¶
H f (x, y) = , dét(H f (x, y)) = ∂xx f (x, y)∂ y y f (x, y) − (∂x y f (x, y))2 .
∂x y f (x, y) ∂ y y f (x, y)
On en déduit que

(x 0 , y 0 ) ∂xx f (x 0 , y 0 ) ∂x y f (x 0 , y 0 ) ∂ y y f (x 0 , y 0 ) dét(H f (x 0 , y 0 ))
−2 −2 −2
(−4, −2) −6e 8e −12e 8e −4 maximum
(0, 0) 2 0 −4 −8 point-selle

24. f (x, y) = 8
x + xy + y
• f est de classe C 2 dans son domaine de définition, l’ouvert R2 \ (x, y) ¯ x y = 0 .
© ¯ ª

• Recherche de points critiques :


(1 8
y − x2 = 0
µ ¶
0
∇ f (x, y) = ⇐⇒ ⇐⇒ (x, y) = (4, 2).
0 1 − yx2 = 0

On a un unique point critique : (4, 2).


• Nature du point critique :
16
− y12
à ! µ ¶
x3 1 16 1
H f (x, y) = , dét(H f (x, y)) = 3 2 − .
− y12 2x
y3 y x y

dét(H f (4, 2)) > 0 et ∂xx f (4, 2) > 0 donc (4, 2) est un minimum pour f .
25. f (x, y) = x 2 − cos(y)
• f est de classe C 2 dans son domaine de définition, l’ouvert R2 .
• Recherche de points critiques :
(
2x = 0
µ ¶
0
∇ f (x, y) = ⇐⇒ ⇐⇒ ⇐⇒ (x, y) ∈ { (0, κπ) | κ ∈ Z } .
0 sin(y) = 0

On a une infinité de points critiques qui s’écrivent (0, κπ) avec κ ∈ Z.


• Nature du point critique :
µ ¶
2 0
H f (x, y) = , dét(H f (x, y)) = 2 cos(y).
0 cos(y)

dét(H f (0, κπ)) = (−1)κ et ∂xx f (0, κπ) > 0 pour toutκ ∈ Z donc (0, κπ) est un minimum si κ est pair et un
point-selle si κ est impair.
2 +y 2 )
26. f (x, y) = (x 2 + y 2 )e −(x .
2
On peut remarquer que si on passe aux coordonnées polaire on obtient w(r ) ≡ f (r cos(ϑ), r sin(ϑ)) = r 2 e −r ,
2
autrement-dit on obtient une fonction de la seule variable r > 0 et on a w ′ (r ) = 2r (1 − r 2 )e −r qui s’annule
pour r = 1 et dont l’étude des variations montre qu’il s’agit d’un minimum. Il faut étudier séparément le cas
(x = 0, y = 0) car il n’est pas pris en compte lorsqu’on passe aux coordonnées polaire. Si on n’a pas remarqué cette
symétrie, on étudie la fonction comme dans les cas précédents :
• f est de classe C 2 dans son domaine de définition, l’ouvert R2 .
• Recherche de points critiques :
( 2 2
2x(1 − x 2 − y 2 )e −(x +y ) = 0
µ ¶
0
∇ f (x, y) = ⇐⇒ 2 2
0 2y(1 − x 2 − y 2 )e −(x +y ) = 0

On a une infinité de points critiques : le point (0, 0) et les points (x, y) qui appartiennent au cercle x 2 + y 2 = 1.

60 © 2024-2026 G. Faccanoni
Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 1. Calcul différentiel et intégrale dans R2

• Nature du point critique : comme f (x, y) ≥ 0 pour tout (x, y) ∈ R2 et f (x, y) = 0 ssi (x, y) ̸= (0, 0) ou (x, y) est
tel que x 2 + y 2 − 1 = 0, on en déduit qu’ils sont des minima (le calcul des dérivées secondes porte à des
calculs très longues et inutiles dans ce cas).
27. f (x, y) = x 3 + y 2 − 6(x 2 − y 2 )
• f est de classe C 2 dans son domaine de définition, l’ouvert R2 .
• Recherche de points critiques :
(
3x(x − 4) = 0
µ ¶
0
∇ f (x, y) = ⇐⇒ ⇐⇒ (x, y) ∈ { (0, 0), (0, −4), (4, 0), (4, −4) } .
0 3y(y + 4) = 0

On a quatre points critiques : (0, 0), (0, −4), (4, 0) et (4, −4).
• Nature des points critiques :
µ ¶
6(x − 2) 0
H f (x, y) = , dét(H f (x, y)) = 36(x − 2)(y + 2).
0 6(y + 2)

dét(H f (0, 0)) < 0 donc (0, 0) est un point-selle ;


dét(H f (0, −4)) > 0 et ∂xx f (0, −4) < 0 donc (0, −4) est un maximum ;
dét(H f (4, 0)) > 0 et ∂xx f (4, 0) > 0 donc (4, 0) est un minimum ;
dét(H f (4, −4)) < 0 (4, −4) est un point-selle.
28. f (x, y) = (x 2 + y 2 − y 3 )e −y
• f est de classe C 2 dans son domaine de définition, l’ouvert R2 .
• Recherche de points critiques :
(
2xe −y = 0 p p o
µ ¶
0 n
∇ f (x, y) = ⇐⇒ ⇐⇒ (x, y) ∈ (0, 0), (0, 2 − 2), (0, 2 + 2) .
0 (−x 2 + 2y − 4y 2 + y 3 )e −y = 0
p p
On a quatre trois critiques : (0, 0), (0, 2 − 2) et (0, 2 + 2).
• Nature des points critiques :
µ −y
−2xe −y

2e
dét(H f (x, y)) = 4 − 2x 2 − 20y + 14y 2 − 2y 3 e −2y .
¡ ¢
H f (x, y) = ,
−2xe −y (2 + x 2 − 10y + 7y 2 − y 3 )e −y

dét(H f (0, 0)) > 0 et ∂xx f (0, 0) > 0 donc (0, 0) est un minimum ;
p p
dét(H f (0, 2 − 2)) < 0 donc (0, 2 − 2) est un point-selle ;
p p p
dét(H f (0, 2 + 2)) > 0 et ∂xx f (0, 2 + 2) > 0 donc (0, 2 + 2) est un minimum.

Exercice 1.16
La société d’Adèle produit deux types d’ampoules : E17 et E24. Indiquons par x le nombre de milliers d’ampoules
de type E17 produites et supposons que la demande pour ce type de lampes est donnée par p 1 = 50 − x, où p 1 est
le prix de vente en euros. De même, indiquons par y le nombre de milliers d’ampoules de type E24 produites et
supposons que la demande pour ce type est donnée par p 2 = 60 − 2y, où p 2 est aussi le prix de vente en euros. Les
coûts communs de production de ces ampoules est C = 2x y (en milliers d’euros). Par conséquent, le bénéfice de
la société d’Adèle (en milliers d’euros) est une fonction de deux variables x et y. Déterminer le profit maximal
d’Adèle.

Correction
La fonction profit en milliers d’euros est p(x, y) = p 1 x + p 2 y − C(x, y) = 50x − x 2 + 60y − 2y 2 − 2x y. Pour maximiser le
profit, on cherche d’abord les points stationnaires :
(
x = 20,
µ ¶ µ ¶
50 − 2x − 2y 0
∇p = 0 ⇐⇒ = ⇐⇒
60 − 4y − 2x 0 y = 5.

Pour établir la nature de ces points, on étudie la matrice hessienne :

∂xx p(x, y) = −2, ∂xx p(20, 5) = −2 < 0,


∂x y p(x, y) = −2, ∂x y p(20, 5) = −2,
∂ y y p(x, y) = −4, ∂ y y p(20, 5) = −4,

© 2024-2026 G. Faccanoni 61
Chapitre 1. Calcul différentiel et intégrale dans R2 Dernière mise à jour : Mardi 30 septembre 2025

et dét(H f (20, 5)) = (−2)(−4) − (−2)2 = 4 > 0 donc (20, 5) est un point de maximum pour p et le profit maximal vaut
p(20, 5) = 650. La société d’Adèle réalise le profit maximal de 650000 euros lorsqu’elle vend 20000 ampoules E17 à 30
euros l’une et 5000 ampoules E24 à 50 euros l’une.

Exercice 1.17
Vous êtes le directeur financier de la firme S ANBON & F ILS. Cette entreprise a investi 3000 euros pour mettre au
point un nouveau parfum. Le coût de la production est de 3 euros par flacon de 100 mL. L’expert consulté par M.
S ANBON père a établi que si la firme consacre x euros en publicité pour son parfum et que le prix de vente d’un
p
flacon est de y euros, la firme vendra exactement 300+6 x −10y pièces. La firme S ANBON & F ILS fixe évidemment
x et y de manière à maximiser son profit. En tant que directeur financier, il vous incombe de déterminer ces
valeurs.

Correction
p
• Revenu de la vente : y(300 + 6 x − 10y)
p
• Coût de production : 3(300 + 6 x − 10y)
• Coût de développement et de publicité : 3000 + x
• Profit = (Revenu de la vente) - (Coût de production) - (Coût de développement et de publicité)
Le profit de la firme à maximiser est donc la fonction

f : (R∗+ )2 → R
p
x 7→ f (x, y) = (y − 3)(300 + 6 x − 10y) − x − 3000

La condition nécessaire s’écrit


( 3(y−3)
∂x f (x, y) = p−1 = 0
x
p =⇒ (x 0 , y 0 ) = (164025, 138).
∂ y f (x, y) = 330 + 6 x − 20y = 0

La hessienne en ce point est définie négative :


 3(y−3)
∂ f (x, y) = − p 3
 xx

 2 x
241
∂x y f (x, y) = p3x =⇒ dét(H f (x 0 , y 0 )) = − .
∂ f (x, y) = 30(y−3)
 32805
− p3

yy p
x3 x

Comme ∂xx f (x 0 , y 0 ) = −20, on a bien un maximum. La firme S ANBON & F ILS va donc consacrer 164025 euros à la
promotion de son nouveau parfum et vendre le flacon de 100 mL à 138 euros. Elle réalisera de la sorte le profit maximal
de f (164025, 138) = 15225 euros.

Exercice 1.18 (Une fabrication optimale)


Votre société s’occupe de la fabrication d’une pièce mécanique. Celle-ci dépend de deux paramètres réels x et y (à
priori non-contraints) de la façon suivante : le coût unitaire de fabrication d’une pièce est égal à

c(x, y) = x 2 + 2y 2

tandis que le taux de pièces défectueuses (compris entre 0 et 1) est égal à

1
t (x, y) = .
1 + (x y)2

On cherche à maximiser la rentabilité totale du processus de fabrication. On prendra pour fonction objectif le coût
unitaire moyen d’une pièce non-défectueuse, qui est égal au coût de fabrication d’une pièce divisé par le taux de
pièces non-défectueuses, et on tentera de le simplifier autant que possible.

Correction
c(x,y) x 2 +2y 2 (x 2 +2y 2 )(1+x 2 y 2 ) 1
La fonction à minimiser s’écrit f (x, y) = = = = +x 2 + x22 +2y 2 . La condition nécessaire
1−t (x,y) 1− 1 2 x2 y 2 y2
1+(x y)
s’écrit
4
∂x f (x, y) = 2 x x−2
(
3 =0 p
4
p
4
2y 4 −1 =⇒ (x 0 , y 0 ) = ( 2, 1/ 2).
∂y f (x, y) = 2 y 3 =0

62 © 2024-2026 G. Faccanoni
Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 1. Calcul différentiel et intégrale dans R2

La hessienne en ce point est définie positive :


x 4 +6

∂xx f (x, y) = 2 x 4


2+6 1+3
∂x y f (x, y) = 0 =⇒ dét(H f (x 0 , y 0 )) = 4 > 0.
∂ f (x, y) = 2 2y 4 +3

 2 1/2
yy y4
p
4
p
4
Comme ∂xx f (x 0 , y 0 ) > 0, on a bien un minimum.
p En choisissant (x, y) = ( 2, 1/ 2), le coût unitaire moyen d’une pièce
non-défectueuse est minimale et égal à 4 2.

Exercice 1.19
Une boîte a la forme d’un parallélépipède surmonté par un demi-cylindre comme dans la figure ci-dessous

y
x

On cherche les valeurs x, y, z ∈ R∗+ qui minimisent la surface totale S de la boîte pour un volume V égal à C.
1. Écrire S(x, y, z)
2. Écrire V(x, y, z)
3. Exprimer z(x, y) comme solution de l’équation V(x, y, z) = C
4. Écrire S̃(x, y) = S(x, y, z(x, y)). Calculer et établir la nature des points critiques de S̃(x, y)

Correction ¡ y ¢2
1. S(x, y, z) = x y + 2xz + 2y z + π 2 + π 2 x = 1 + π2 x y + π4 y 2 + 2(x + y)z
y ¡ ¢
¡ y ¢2
2. V(x, y, z) = x y z + 12 π 2 x = x y z + π8 x y 2
C− π8 x y 2
3. V(x, y, z) = C ⇐⇒ z = donc z(x, y) = xCy − π8 y
xy
³ ´ ¡
4. S̃(x, y) = S(x, y, z(x, y)) = 1 + π2 x y + π4 y 2 + 2(x + y) xCy − π8 y = 1 + π4 x y + 2C 2C
¡ ¢ ¢
x + y
• Calcul des points critiques :

1 + π4 y − 2C
¡ ¢  Ãs s !
x2
µ ¶
0 3
2C 3 2C
∇S̃(x, y) = ¡ donc ∇S̃(x, y) = ⇐⇒ (x, y) = ,
1 + π4 1 + π4

1 + π4 x − 2C 0
¢
y2
³q q ´
2C 2C
Il existe un seul point critique qui est 3
1+ π4
, 3
1+ π4
.
• Nature des points critiques :
4C
1 + π4
à !
x3 16C2 ³ π ´2
HS̃ (x, y) = π 4C et det(HS̃ (x, y)) = − 1 +
1+ 4 y3 x3 y 3 4

donc
2 1 + π4 π ¶ π ´2
µr r ¶ µ ¡ ¢ µ µr r ¶¶
¡1 + 4π ¢
³
3 2C 3 2C 2C 3 2C
HS̃ , = et det HS̃ 3 1+ , = 3 1+ .
1+ π4 1+ π4 1 + π4
π π
2 1+ 4 4 1+ 4 4
On conclut que l’unique point critique est bien un minimum et l’on a

π ³ 2C ´2/3
µr ¶
C
r
2C 3 2C
z 3 1+ π ,
1+ π = ³ ´2/3 − π .
4 4 2C 8 1+ 4
1+ π4

© 2024-2026 G. Faccanoni 63
Chapitre 1. Calcul différentiel et intégrale dans R2 Dernière mise à jour : Mardi 30 septembre 2025

import sympy as sp

x, y, z, C = [Link]('x y z C', positive=True)

S = (1 + [Link]/2) * x * y + ([Link] / 4) * y**2 + 2 * (x + y) * z


V = x * y * z + ([Link] / 8) * x * y**2
z_sol = [Link](V - C, z)[0]
S_tilde = [Link](z, z_sol).simplify()
grad_S_tilde = [[Link](S_tilde, var) for var in (x, y)]
H_S_tilde = [Link](S_tilde, (x, y))
det_H_S_tilde = H_S_tilde.det()

x_c, y_c = [Link](grad_S_tilde, (x, y), domain=[Link])[0]


H_S_tilde_at_critical = H_S_tilde.subs({x: x_c, y: y_c})
det_H_S_tilde_at_critical = det_H_S_tilde.subs({x: x_c, y: y_c}).simplify()

results = {
'S(x,y,z)': S,
'V(x,y,z)': V,
'z(x,y)': z_sol,
r'\tilde S(x,y)': S_tilde,
r'\nabla \tilde S(x,y)': grad_S_tilde,
r'H(x,y)': H_S_tilde,
r'\det(H(x,y))': det_H_S_tilde,
r'(x_c, y_c)': (x_c, y_c),
r'H(x_c,y_c)': H_S_tilde_at_critical,
r'\det(H(x_c,y_c))': det_H_S_tilde_at_critical
}

for key, value in [Link]():


print(f"${key}=\n{[Link](value)}$\n")
¢ πy 2
S(x, y, z) = x y 1 + π2 + 4 + z 2x + 2y
¡ ¡ ¢

πx y 2
V(x, y, z) = 8 + x y z
πy
z(x, y) = xCy − 8
2C 2C πx y
S̃(x, y) = yh + x + 4 + x y
πy
i
πx
∇S̃(x, y) = − 2C x
2C
2 + 4 + y, − y 2 + 4 + x
π
" 4C #
x3 4 +1
H(x, y) = π 4C
4 +1 y3
256C −8πx 3 y 3 −16x 3 y 3 −π2 x 3 y 3
2
det(H(x, y)) = 3 3
³ p 3 p
3 ´ 16x y
2 C 2 C
(x c , y c ) = p 3 , p3
·π+4
π
π+4
π ¸
+ 2 4 +1
H(x c , y c ) = π2 π
4 +1 2 +2
2
det(H(x c , y c )) = 3π 16 + 3 + 3π
2

Intégrales doubles, coordonnées cartésiennes


Exercice 1.20
Soit D la région comprise entre le graphe de la fonction d’équation y = sin(x) et le graphe de la fonction y = cos(x)
pour
Î x entre 0 et π4 . Décrire le domaine d’intégration D en coordonnées cartésiennes et calculer l’intégrale
D (y + 1) dx dy.

64 © 2024-2026 G. Faccanoni
Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 1. Calcul différentiel et intégrale dans R2

Correction
D = (x, y) ∈ R2 ¯ 0 ≤ x ≤ π4 , sin(x) ≤ y ≤ cos(x)
© ¯ ª

Ï Z π/4 Z cos(x) Z π/4 · y 2 ¸ y=cos(x)


(y + 1) dx dy = (y + 1) dy dx = +y dx
D 0 sin(x) 0 2 y=sin(x) y
Z π/4 µ cos2 (x) − sin2 (x) ¶
= + cos(x) − sin(x) dx sin(x)
0 2 cos(x)
Z π/4 µ cos(2x) ¶
= + cos(x) − sin(x) dx 0 π x
0 2 4
¸x=π/4
p
·
sin(2x) 3
= + sin(x) + cos(x) = 2− .
4 x=0 4

from sympy import symbols, sin, cos, pi, Integral, simplify, latex, integrate
x, y = symbols('x y')

inner = Integral( (y+1) , (y, sin(x), cos(x)))


inner_eval = [Link]()
inner_simplified = simplify(inner_eval)

outer = Integral(inner_simplified, (x, 0, pi/4))


outer_eval = [Link]()
outer_simplified = simplify(outer_eval)

step1 = r"\iint_{\mathcal{D}} (y+1)\,dx\,dy"


step2 = r"\int_0^{\frac{\pi}{4}} \int_{\sin(x)}^{\cos(x)} (y+1)\dy\dx"
step3 = r"\int_0^{\frac{\pi}{4}} " + latex(inner_eval) + r" \dx"
step4 = r"\int_0^{\frac{\pi}{4}} \left( " + latex(inner_simplified) + r"
,→ \right) \dx"
step5 = latex(outer_simplified)

latex_align = r"\begin{align*}" + "\n"


latex_align += step1 + r" &= " + step2 + r" \\" + "\n"
latex_align += r"&= " + step3 + r" \\" + "\n"
latex_align += r"&= " + step4 + r" \\" + "\n"
latex_align += r"&= " + step5 + "\n"
latex_align += r"\end{align*}"
print(latex_align)

π
Ï Z
4
Z cos(x)
(y + 1) d x d y = (y + 1) dy dx
D 0 sin(x)
π 2
sin (x) cos2 (x)
Z
4
= − sin (x) +
− + cos (x) dx
0 2 2
Z πµ
cos (2x) p π´

4
³
= + 2 cos x + dx
0 2 4
3 p
=− + 2
4

Exercice 1.21

© 2024-2026 G. Faccanoni 65
Chapitre 1. Calcul différentiel et intégrale dans R2 Dernière mise à jour : Mardi 30 septembre 2025

2
Ï
y dx dy =?
D 1 D

−3 −2 −1 0 1 2 3 4 x

Correction
½ ¯ ¾
2 1 3
D = (x, y) ∈ R ¯ 0 ≤ y ≤ 2, − y − 2 ≤ x ≤ y + 1 ,
¯
¯
2 2
3
2 y+1
Z 2Z Z 2h ix= 3 y+1 2 34
Ï Z
2
y dy dx = y dx dy = yx dy = y(2y + 3) dy = .
D 0 − 21 y−2 0 x=− 12 y−2 0 3

Exercice 1.22

y
2
Ï
x dΩ =?
1 Ω Ω

−3 −2 −1 0 1 2 3 x

Correction
½ ¯ ¾
1
Ω = (x, y) ∈ R2 ¯¯ 0 ≤ y ≤ 2, y − 2 ≤ x ≤ 2 \ (x, y) ∈ R2 ¯ −1 ≤ x ≤ 1, 0 ≤ y ≤ 1 ,
¯ © ¯ ª
2
Ï Z 2Z 2 Z 1Z 1
x dy dx = y
x dx dy − x dx dy
Ω 0 2 −2 0 −1
Z 2h 2i Z 1h 2i
y2 h y 3 y 2 i y=2 5
Z 2
x x=2 x x=1
= y dy − dy = − + y dy − 0 = − + = .
0 2 x= 2 −2 0 2 x=−1 0 8 24 2 y=0 3

Exercice 1.23

1
Ï
x y dx dy =?
−2 −1 0 1 x D
−1

Correction

D = (x, y) ∈ R2 ¯ −1 ≤ x ≤ 0, 0 ≤ y ≤ x + 1 ∪ (x, y) ∈ R2 ¯ 0 ≤ x ≤ 1, x − 1 ≤ y ≤ 0
© ¯ ª © ¯ ª

donc
Ï Z 0 Z x+1 h y 2 ix+1
Z 1Z 0 Z 1h 2i
y 0
Z 0
y dy dx = x y dy dx + x dx + x y dy dx =
x dx
D −1 0 0 x−1 −1 2 0 0 2 x−1
1 0 3 1 1 3 1 h x 4 2x 3 x 2 i0 1 h x 4 2x 3 x 2 i1 1
Z Z
= x + 2x 2 + x dx − x − 2x 2 + x dx = + + − − + =− .
2 −1 2 0 2 4 3 2 −1 2 4 3 2 0 12

66 © 2024-2026 G. Faccanoni
Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 1. Calcul différentiel et intégrale dans R2

Exercice 1.24 (Distance moyenne parcourue à pied pour rejoindre une porte d’embarquement)
Dans les aéroports, les portes d’embarquements dans un terminal sont souvent alignées. Si on arrive à une
porte d’embarquement et on doit rejoindre une autre porte d’embarquement pour une correspondance, quelle
proportion de la longueur du terminal doit-on parcourir en moyenne ? Un manière de modéliser cette Rsituation
1R1
est de choisir au hasard deux nombres x ∈ [0; 1], y ∈ [0; 1] et de calculer la valeur moyenne de |x − y|, i.e. 0 0 |x −
y| dx dy. Calculer cette intégrale.

Correction

¸ y=x ¸ y=1
y2
Z 1Z 1 Z 1Z x Z 1Z 1 Z 1· Z 1· 2
y
|x − y| dx dy = (x − y) dy dx + (y − x) dy dx = xy − dx + −xy dx
0 0 0 0 0 x 0 2 y=0 0 2 y=x
Z 1µ 2¶ ¸x=1
x2 x2 x3
Z 1µ Z 1µ
x
¶ ¶ ·
1 1 2 1 1
= dx + −x + dx = − x + x dx = x− + = .
0 2 0 2 2 0 2 2 2 3 x=0 3

Exercice 1.25
xy
Calculer l’intégrale double D f (x, y) dx dy où D = {(x, y) ∈ R2 , 0 ≤ x ≤ 1, 0 ≤ y ≤ 1, 1 ≤ x 2 + y 2 } et f (x, y) =
Î
1+x 2 +y 2
.

Correction
La partie D de R2 est l’intersection du carré [0; 1] × [0; 1] et de l’extérieur du cercle de centre (0, 0) et de rayon 1. La
fonction f est continue sur D.

1 x

À l’aide du théorème de Fubini (et du dessin pour ne pas se tromper sur les bornes) on peut écrire
Z 1Z 1 Z 1 Z 1
xy xy x 2y
Ï
I= 2 + y2
dx dy = p 2 + y2
dy dx = p 2 + y2
dy dx
D 1 + x 0 1−x 2 1 + x 0 2 1−x 2 1 + x
x2
Z 1 Z 1 Z 1
x£ x£ x
µ ¶
2 2 1 2
¤ ¤
= p
ln(1 + x + y ) 1−x 2 dx = ln(2 + x ) − ln(2) dx = ln 1 + dx
0 2 0 2 0 2 2
Z 1
1 2 1 1 3 3 1
= ln(1 + u) du = [(1 + u) ln(1 + u) − u]02 = ln − .
2 0 2 4 2 4

Calcul d’aires et centres de gravité, coordonnées cartésiennes


Exercice 1.26 (Population de lapins) y [km]
Une forêt est à coté d’une route (voir la figure ci- Route
contre). La densité de la population de lapins qui 5
vivent dans la forêt est proportionnelle à la distance
de la route. Plus précisément, elle vaut 0 au niveau
Forêt
de la route et vaut 10 lapins par kilomètre carré au
coté opposé de la forêt. Estimer la population totale
de lapins dans la forêt.
−2 0 6 8 x [km]

© 2024-2026 G. Faccanoni 67
Chapitre 1. Calcul différentiel et intégrale dans R2 Dernière mise à jour : Mardi 30 septembre 2025

Correction

• La forêt (domaine d’intégration) s’écrit


½ ¯ ¾ ½ ¯ ¾
2¯ 5 2¯ 2¯ 5
(x, y) ∈ R ¯ −2 ≤ x ≤ 0, − x ≤ y ≤ 5 ∪ (x, y) ∈ R 0 ≤ x ≤ 6, 0 ≤ y ≤ 5 ∪ (x, y) ∈ R ¯ 6 ≤ x ≤ 8, x − 15 ≤ y ≤ 5
¯ © ¯ ª ¯
2 2
ou encore, ce qui est plus simple,
½ ¯ ¾
2 2
(x, y) ∈ R2 ¯¯ 0 ≤ y ≤ 5, − y ≤ x ≤ (15 + y)
¯
5 5
• La densité est une fonction affine de la seule variable y (comme la route est horizontale, la distance ne dépend
que de la coordonnées y), i.e. δ(y) = m y + q avec m et q à déterminer. On sait que δ(5) = 0 et δ(0) = 10 donc
δ(y) = 2(5 − y).
• La population totale de lapins qui vivent dans la forêt est
Z 5 Z 2 (15+y) Z 5 Z 2 (15+y) Z 5
2 4 5 550
Z
5 5
δ(y) dx dy = 2 (5 − y) 1 dx dy = 2 (5 − y) (15 + 2y) dy = 75 − 5y − 2y 2 dy = .
0 − 25 y 0 − 52 y 0 5 5 0 3

Exercice 1.27

4
Soit D la plaque homogène représentée dans la figure.
Sans faire de calculs d’intégrales, en déduire les valeurs 3
de
Ï Ï Ï 2
1 dx dy, x dx dy, y dx dy.
D D D 1

0
0 1 2 3 4 x

Correction
L’aire mesure 7 et le centre de gravité a coordonnées (5/2, 5/2) donc
Ï Ï Ï
1 dx dy = 7, x dx dy = 35/2, y dx dy = 35/2.
D D D

Exercice 1.28 y
Soit D la plaque homogène représentée dans la figure. 6
Sans faire de calculs d’intégrales, en déduire les valeurs
5
de
4

3
Ï Ï Ï
1 dx dy, x dx dy, y dx dy. 2
D D D
1

0
0 1 2 3 4 5 6x

Correction
L’aire mesure 9 + π et le centre de gravité a coordonnées (7/2, 7/2) donc
Ï Ï Ï
1 dx dy = 9 + π, x dx dy = (9 + π)7/2, y dx dy = (9 + π)7/2.
D D D

68 © 2024-2026 G. Faccanoni
Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 1. Calcul différentiel et intégrale dans R2

Exercice 1.29
Calculer l’aire de la région coloriée en figure
y = x +2
2y = x + 3

3y = −x − 6

Correction
Soit D le domaine. Pour calculer l’aire on peut soit utiliser un simple calcul géométrique soit se rappeler que l’aire est
donnée par l’intégrale double
Ï
1 dx dy.
D

3 2y = x + 3
2

−3 −2 −1 0 1 2 3
−1

−2
y = x +2
−3 3y = −x − 6

Pour ce calcul on décompose la région en deux parties et on obtient

1 3
Ï Z −1 Z x+2 Z 3 Z
2 x+ 2
1 dx dy = 1 dy dx + 1 dy dx
D −3 − 13 x−2 −1 − 31 x−2
Z −1 1
Z 3 1 3 1
Z −1 4
Z 3 5 7
= x + 2 + x + 2 dx + x + + x + 2 dx = x + 4 dx + x + dx = 20.
−3 3 −1 2 2 3 −3 3 −1 6 2

On peut le refaire en découpant horizontalement au lieu que verticalement et on peut aussi le refaire avec des intégrales
d’une seule variable

Exercice 1.30

y
1

Calculer les coordonnées du centre de gravité de la plaque supposée ho-


−1 1x mogène dessinée ci-contre (vous pouvez éviter le calcul d’intégrales, mais
justifiez votre raisonnement).
−1

−2

© 2024-2026 G. Faccanoni 69
Chapitre 1. Calcul différentiel et intégrale dans R2 Dernière mise à jour : Mardi 30 septembre 2025

Correction
Pour calculer les coordonnées (x G , y G ) du centre de gravité on doit calculer d’abord les trois intégrales doubles suivantes :
Ï Z 0 Z −x Z 1Z x Z 0 Z 1
1 dy dx = dy dx + dy dx = 2 dx + 2 dx = 4,
D −1 −x−2 0 x−2 −1 0
Ï Z 0 Z −x Z 1Z x Z 0 Z 1
x dy dx = x dy dx + x dy dx = 2x dx + 2x dx = 0,
D −1 −x−2 0 x−2 −1 0
Ï Z 0 Z −x Z 1Z x 1
Z 0 1
Z 1
y dy dx = y dy dx + y dy dx = (−4x − 4) dx + (4x − 4) dx
D −1 −x−2 0 x−2 2 −1 2 0
Z 0 Z 1
= −2 (x + 1) dx + 2 (x − 1) dx = −2
−1 0

et on en déduit que
Î Î
x dy dx y dy dx 1
x G = ÎD = 0, y G = ÎD =− .
D 1 dy dx D 1 dy dx 2

En fait, aucune intégrale n’est nécessaire car


• la première intégrale correspond à l’aire de la figure qu’on peut calculer géométriquement,
• la deuxième intégrale est forcément nulle car le centre de gravité appartient à l’axe des y par
symétrie donc x G = 0, y
• la troisième intégrale n’est pas nécessaire car pour calculer y G . Il suffit en effet de découper 1
la plaque comme dans la figure ci-contre : la plaque supérieure a centre de gravité en (0, 0),
la plaque inférieure a centre de gravité en (−1, 0) et les deux plaques ont la même aire donc −1 1x
la plaque totale a centre de gravité en (0, −0,5) (ce raisonnement permet en effet de calculer −1
directement x G et y G ) : −2
Aire supérieure Aire inférieure 1 1 1
y G = y Gsupérieure + y Ginférieure = 0 + (−1) = −
Aire totale Aire totale 2 2 2

Exercice 1.31
Calculer les coordonnées du centre de gravité G de la plaque supposée homogène dessinée ci-dessous (éviter le
calcul d’intégrales lorsqu’il est possible, mais justifier le raisonnement) :

−1 G 1

−1

Correction
Pour calculer les coordonnées (x G , y G ) du centre de gravité on doit calculer d’abord les trois intégrales doubles suivantes :
Ï Z 0 Z −x Z 1Z x Z 1 Z 0
1 dy dx = dy dx + (−x + 1) dx + dy dx =
(x + 1) dx = 3,
D −1 −1 0 −1 −1 0
Ï Z 0 Z −x Z 1Z x Z 0 Z 1
x dy dx = x dy dx + x dy dx = (−x 2 + x) dx + (x 2 + x) dx = 0,
D −1 −1 0 −1 −1 0
¸1
0 x 1 x3
−x Z 1Z 0 1 1 ·
1 1 1 2
Ï Z Z Z Z Z
y dy dx = y dy dx + y dy dx = (x 2 − 1) dx + (x 2 − 1) dx = (x 2 − 1) dx = −x =−
D −1 −1 0 −1 2 −1 2 0 2 −1 2 3 −1 3

et on en déduit que
Î Î
D x dy dx y dy dx
2
xG = Î = 0, y G = ÎD =− .
D 1 dy dx D 1 dy dx 9

En fait, aucune des trois intégrales est nécessaire car


• la première intégrale correspond à l’aire de la figure qu’on peut calculer géométriquement,
• la deuxième intégrale est forcément nulle car le centre de gravité appartient à l’axe des y par symétrie donc x G = 0,

70 © 2024-2026 G. Faccanoni
Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 1. Calcul différentiel et intégrale dans R2

• la troisième intégrale n’est pas nécessaire car pour calculer y G . Il suffit en effet de découper la plaque en deux
(la plaque supérieur correspond aux points d’ordonnée positive, la plaque inférieure aux points d’ordonnée
négative). La plaque supérieure a aire 1 et centre de gravité en (0, 1/3), la plaque inférieure a aire 2 centre de
gravité en (0, −1/2), donc la plaque totale a aire 3 et centre de gravité en (0, −2/9) car

Aire supérieure Aire inférieure 1 1 1 2 1


y G = y Gsupérieure + y Ginférieure = − =−
Aire totale Aire totale 33 23 2

Exercice 1.32 (Aire d’une châtaigne)


Calculer l’aire de
D= (x, y) ∈ R2 x 2 < y 4 (y + 4)
© ¯ ª
¯ y < 0, .
y

0 x

−4

Correction

p p
Ï Z 0 Z y2 y+4 Z 0 Z 0
y2 y+4
2y 2
p
Aire = 1 dx dy = p 1 dx dy = [x] 2
p dy = y + 4 dy
D −4 −y 2 y+4 −4 −y y+4 −4
¸2
2 2 t7 t5 t3 212
Z Z ·
=4 t 2 (t 2 − 4)2 dt = 4 t 6 − 8t 4 + 16t 2 dt = 4 − 8 + 16 = .
0 0 7 5 3 0 105

Exercice 1.33 (Aire d’un cœur)


On se propose de calculer l’aire de l’ensemble D = (x, y) ∈ R2 ¯ 2x 2 − 2|x|(y + 1) + (y + 1)2 − 1 ≤ 0 .
© ¯ ª

y
1. Déterminer tout d’abord les deux fonctions y = ϕ(x) et y = ψ(x)
y = ψ(x)
telles que

D = (x, y) ∈ R2 ¯ −1 ≤ x ≤ 1 et ϕ(x) ≤ y ≤ ψ(x) .


© ¯ ª

−1 1 x
p de variable x = sin(t ), montrer qu’une primitive
2. Par le changement
2
de la fonction 1 − x sur [0; 1] est
p
x 1 − x 2 + arcsin(x)
Z p
2
1 − x dx = .
2
y = ϕ(x)
3. En utilisant la symétrie de la figure, calculer l’aire de l’ensemble D. −2

Correction

1. Pour trouver les équations des deux fonctions y = ϕ(x) et y = ψ(x) on remarque que
p p
(y + 1)2 − 2|x|(y + 1) + (2x 2 − 1) = 0 ⇐⇒ (y + 1) = |x| ± |x|2 − (2x 2 − 1) ⇐⇒ y = −1 + |x| ± 1 − x 2
p p
donc ϕ(x) = −1 + |x| − 1 − x 2 et ψ(x) = −1 + |x| + 1 − x 2 .
p
2. On calcule une primitive de la fonction 1 − x 2 sur [0; 1] par le changement de variable x = sin(t ) :

© 2024-2026 G. Faccanoni 71
Chapitre 1. Calcul différentiel et intégrale dans R2 Dernière mise à jour : Mardi 30 septembre 2025

Z p Z q Z Z
1 − x 2 dx = 1 − sin2 (t ) cos(t ) dt = cos2 (t ) dt = sin(t ) cos(t ) + sin2 (t ) dt
Z Z Z p Z p
= sin(t ) cos(t ) + 1 dt − cos2 (t ) dt = sin(t ) cos(t ) + t − cos2 (t ) dt = x 1 − x 2 + arcsin(x) − 1 − x 2 dx

donc
p
x 1 − x 2 + arcsin(x)
Z p
1 − x 2 dy = .
2

3. En utilisant la symétrie de la figure par rapport à la droite d’équation x = 0, on trouve


Ï Z 1Z ψ(x) Z 1
Aire(D) = 1 dx dy = 2 1 dx dy = 2 ψ(x) − ϕ(x) dy
D 0 ϕ(x) 0
Z 1p " p #1
x 1 − x 2 + arcsin(x)
=4 1 − x2 dy = 4 = 2 arcsin(1) = π.
0 2
0

Intégrales doubles, coordonnées polaires

Exercice 1.34 y
Calculer l’intégrale double y =x
D

Ï x
(x 2 + y) dx dy.
D
x 2 + y 2 =y 1= −x

x2 + y 2 = 4

Correction
La région D s’écrit en coordonnées cartésiennes

¯ p
½ ¯ ¾
1 p
D = (x, y) ∈ R2 ¯¯ − 2 ≤ x ≤ − p et − x ≤ y ≤ 4 − x 2
2
½ ¯ ¾
1 1 p p
∪ (x, y) ∈ R2 ¯¯ − p ≤ x ≤ p et 1 − x 2 ≤ y ≤ 4 − x 2
¯
2 2
p
½ ¯ ¾
2¯ 1 p
∪ (x, y) ∈ R ¯ p ≤ x ≤ 2 et x ≤ y ≤ 4 − x
¯
2
2

donc
p p p Z p
Ï Z − p1 Z 4−x 2 Z p1 Z 4−x 2 Z 2 4−x 2
2 2 2 2 2
(x + y) dx dy = p (x + y) dy dx + p (x + y) dy dx + (x 2 + y) dy dx.
D − 2 −x − p1 1−x 2 p1 x
2 2

C’est un peu compliqué. . . Si on décrit la région D en coordonnées polaires centrées en (0; 0) on obtient

π
½ ¯ ¾

D = (r, ϑ) ¯¯ 1 ≤ r ≤ 2, ≤ ϑ ≤
¯
4 4

donc

72 © 2024-2026 G. Faccanoni
Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 1. Calcul différentiel et intégrale dans R2

3π 3π
Ï Z
4
Z 2 Z
4
Z 2
(x 2 + y) dx dy = (r 2 cos2 (ϑ) + r sin(ϑ))r dr dϑ = (r 3 cos2 (ϑ) + r 2 sin(ϑ)) dr dϑ
π π
D 4 1 4 1
3π 3π 3π 3π
ÃZ ! µZ ¶ ÃZ ! µZ
Z
4
Z 2 Z
4
Z 2 4 2 4 2 ¶
3 2 2 2 3 2
= r cos (ϑ) dr dϑ + r sin(ϑ) dr dϑ = cos (ϑ) dϑ × r dr + sin(ϑ) dϑ × r dr
π π π π
4 1 4 1 4 1 4 1
3π ¶ ÃZ 3π
ÃZ ! µZ ! µZ
1 + cos(2ϑ) 4 2 4 2 ¶
3
= dϑ × r dr + sin(ϑ) dϑ × r 2 dr
π 2 π
4 1 4 1
¸ 3π · 4 ¸2 2
r r3 π 1 15 p 15 7 p
· · ¸ µ ¶
2ϑ + sin(2ϑ) 4 ¤ 3π 7 15
π−
£
= × + − cos(ϑ) π4 × = − × + 2× = + 2.
4 π
4
4 1 4 3 1 4 2 4 3 16 8 3

Exercice©1.35
1
Ï
Soit D = (x, y) ∈ R2 ¯ x 2 − 4x + y 2 + 2y + 3 ≤ 0 . Calculer
¯ ª
dx dy.
D 1 + (x − 2)2 + (y + 1)2

Correction p
Remarquons que l’équation x 2 − 4x + y 2 + 2y + 3 = 0 définit un cercle de centre (2, −1) et rayon 2. On passe alors aux
coordonnées polaires :

x = 2 + r cos(ϑ),

y = −1 + r sin(ϑ),

dx dy = r dr dϑ,

et on obtient
p p
2π Z 2 2 p
1 r 2r
Ï Z Z
¤ 2
dr dϑ = π dr = π ln(1 + r 2 ) 0 = π ln(3).
£
dx dy =
D 1 + (x − 2)2 + (y + 1)2 0 0 1+r2 0 1+r 2

Exercice 1.36
Trouver les erreurs :
1. soit D = (x, y) ∈ R2 ¯ x 2 + y 2 ≤ 4 , alors
© ¯ ª

Ï Z 2π Z 2 µZ 2π ¶ µZ 2 ¶
16
2 2 2 2
(x + y ) dx dy = r dr dϑ = 1 dϑ × r dr = π;
D 0 0 0 0 3

2. soit D la région délimitée par la droite d’équation x = 1, la droite d’équation y = 0 et la droite d’équation
y = x ; alors, si on passe aux coordonnées polaires, on a
Ï Z π/4 Z 1
x dx dy = r 2 cos(ϑ) dr dϑ.
D 0 0

Correction

1. Quand on passe aux coordonnées polaires on a x = r cos(ϑ), y = r sin(ϑ) et dx dy = r dr dϑ donc


Ï Z 2π Z 2 µZ 2π ¶ µZ 2 ¶
(x 2 + y 2 ) dx dy = r 3 dr dϑ = 1 dϑ × r 3 dr = 8π.
D 0 0 0 0

© D = (x, y) ∈ R2 ¯ 0¯ ≤ x ≤ 1, 0 ≤ y ≤ x ªest un triangle (hachuré dans la figure ci-dessous) tandis que le


¯ © ª
2. Le domaine
domaine (r, ϑ) ∈ R∗ × [0, 2π[ ¯ 0 ≤ r ≤ 1, 0 ≤ ϑ ≤ π (colorié dans la figure ci-dessous) est un huitième du disque
+ 4
unitaire :
y

0 1 x

© 2024-2026 G. Faccanoni 73
Chapitre 1. Calcul différentiel et intégrale dans R2 Dernière mise à jour : Mardi 30 septembre 2025

Comme les domaines d’intégration sont différents, les deux intégrales sont différentes aussi. Si on utilise les
coordonnées polaires pour décrire l’ensemble D on a

π π
o ½ ¯ ¾
n ¯ p 1
(r, ϑ) ∈ R∗+ × [0, 2π[ ¯ 0 ≤ ϑ ≤ , 0 ≤ r ≤ 1 + tan2 (ϑ) = (r, ϑ) ∈ R∗+ × [0, 2π[ ¯¯ 0 ≤ ϑ ≤ , 0 ≤ r ≤
¯
.
¯
4 4 cos(ϑ)

y
OA = OD = R
B
OC = R cos(α)
A BD = R tan(α)
p
OB = R 1 + tan2 (α)

O C D x

En effet,
Ï Z 1Z x Z 1£ ¤ y=x
Z 1 1
x dx dy = x dy dx = xy y=0 dy dx = x 2 dx = ;
D 0 0 0 0 3
π 1 π 1
¸r = cos(ϑ) Z π
Z
4
Z
cos(ϑ)
Z
4
·
r 3
1 4 1 1h iπ 1
4
r 2 cos(ϑ) dr dϑ = cos(ϑ) dϑ = 2
dϑ = tan(ϑ) = .
0 0 0 3 r =0 3 0 cos (ϑ) 3 0 3

y
Exercice 1.37 (La baleine)
Calculer l’intégrale double
Ï y = |x + 1|
x 2 y dx dy. x = −2
D x2 + y 2 = 1
x
y = −x − 2 D

y = −1

Correction
L’ensemble d’intégration peut être décrit comme la réunion des trois domaines disjoints suivants :

D1 = (x, y) ∈ R2 ¯ −2 ≤ x < −1, −x − 2 ≤ y < −x − 1 ,


© ¯ ª
y = |x + 1|
D2 = (x, y) ∈ R2 ¯ −1 ≤ x < 0, −1 ≤ y < x + 1 ,
© ¯ ª
x = −2
D3 = (x, y) ∈ R2 ¯ x ≥ 0, x 2 + y 2 ≤ 1 x2 + y 2 = 1
© ¯ ª
D1 D3
n ¯ p p o x
= (x, y) ∈ R2 ¯ 0 ≤ x ≤ 1, − 1 − x 2 ≤ y ≤ 1 − x 2 y = −x − 2 D2
¯
½ ¯ q ¾

= (x, y) ∈ R ¯ 0 ≤ y ≤ 1, 0 ≤ x ≤ 1 − y
¯
2 y = −1
n ¯ π πo
= (r, ϑ) ∈ R+ × [−π; π[ ¯ 0 < r ≤ 1, − ≤ ϑ ≤ .
¯
2 2

Par définition on a Ï Ï Ï Ï
x 2 y dx dy = x 2 y dx dy + x 2 y dx dy + x 2 y dx dy.
D D1 D2 D3

Calculons chaque intégrale :


• D1 x 2 y dx dy :
Î

74 © 2024-2026 G. Faccanoni
Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 1. Calcul différentiel et intégrale dans R2

¸ y=−x−1
−1 Z −x−1 −1 y2 −1(−x − 1)2 (−x − 2)2
Ï Z Z · Z µ ¶
x 2 y dx dy = x 2 y dy dx = x2 dx = x2 − dx
D1 −2 −x−2 −2 2 y=−x−2 −2 2 2
· 4 ¸x=−1
x3
Z −1
3 3 2 x 1
=− x + x dx = − + =
−2 2 4 2 x=−2 4

x 2 y dx dy :
Î
• D2

¸ y=x+1
0 x+1 0 y2 (x + 1)2 (−1)2
0
Ï Z Z Z · Z µ ¶
2 2 2 2
x y dx dy = x y dy dx = x dx = x − dx
D2 −1 −1 −1 2 y=−1 −1 2 2
¸x=0
1 0 4 1 x5 x4
·
3
Z
3
= x + 2x dx = + =−
2 −1 2 5 2 x=−1 20

x 2 y dx dy = 0 car le domaine est symétrique par rapport à l’axe des abscisses et la fonction à intégrer est
Î
• D3
impaire par rapport à y. Si on n’a pas remarqué la symétrie, il suffit d’utiliser les coordonnées polaires :

π/2 π/2 ¶ · 5 ¸1 · ¸π/2


cos3 (ϑ)
Z 1Z 1 r
Ï µZ ¶ µZ
x 2 y dx dy =
¡ 4
r cos2 (ϑ) sin(ϑ) dϑ dr = r 4 dr cos2 (ϑ) sin(ϑ) dϑ =
¢
− =0
D3 0 −π/2 0 −π/2 5 0 3 −π/2

En conclusion,
1 3 1
Ï
x 2 y dx dy. = − +0 = .
D 4 20 10

Exercice 1.38
y
Calculer l’intégrale double

y = |x|
Ï
x y 2 dx dy. (x + 1)2 + y 2 = 1 D (x − 1)2 + y 2 = 1
D
−2 −1 0 1 2 x
y = −|x|

Correction
Il s’agit de la réunion des quatre domaines :

D1 = (x, y) ¯ x ≤ −1, (x + 1)2 + y 2 ≤ 1 ,


© ¯ ª

D2 = (x, y) ¯ −1 ≤ x ≤ 0, x ≤ y ≤ −x ,
© ¯ ª
D1 D2 D3 D4
D3 = (x, y) ¯ 0 ≤ x ≤ 1, −x ≤ y ≤ x , 2 x
© ¯ ª
−2 −1 0 1
D4 = (x, y) ¯ x ≥ 0, (x − 1)2 + y 2 ≤ 1 .
© ¯ ª

Par définition on a
Ï Ï Ï Ï Ï
x y 2 dx dy = x y 2 dx dy + x y 2 dx dy + x y 2 dx dy + x y 2 dx dy.
D D1 D2 D3 D4

Calculons chaque intégrale :


3π/2 Z 1 ¶ µZ 1 ¶ · 3 ¸ϑ=3π/2 · 5 ¸r =1
3π/2 r
µZ
sin (ϑ) 2
Ï Z
x y 2 dx dy = r 4 cos(ϑ) sin2 (ϑ) dr dϑ =
cos(ϑ) sin2 (ϑ) dϑ r 4 dr = =−
D1 π/2 0 π/2 0 3 ϑ=π/2 5 r =0 15
Z 0 Z −x Z 0 · 3 ¸ y=−x Z 0 µ 3 3¶ Z 0 · 5 ¸x=0
y (−x) (x) 2 2 x 2
Ï
x y 2 dx dy = x y 2 dy dx = x dx = x − dx = − x 4 dx = − =−
D2 −1 x −1 3 y=x −1 3 3 3 −1 3 5 x=−1 15
Z 1 · 3 ¸ y=x Z 1 µ 3 · ¸x=1
(−x)3 2 x5
Z 1Z x
y x 2 1 4

2
Ï Z
x y 2 dx dy = x y 2 dy dx = x dx = x − dx = x dx = =
D3 0 −x 0 3 y=−x 0 3 3 3 0 3 5 x=0 15
Z π/2 Z 1 µZ π/2 ¶ µZ 1 ¶ · 3 ¸ϑ=π/2 · 5 ¸r =1
sin (ϑ) r 2
Ï
x y 2 dx dy = r 4 cos(ϑ) sin2 (ϑ) dr dϑ = cos(ϑ) sin2 (ϑ) dϑ r 4 dr = =
D4 −π/2 0 −π/2 0 3 ϑ=−π/2 5 r =0 15

© 2024-2026 G. Faccanoni 75
Chapitre 1. Calcul différentiel et intégrale dans R2 Dernière mise à jour : Mardi 30 septembre 2025

En conclusion, Ï
x y 2 dx dy = 0.
D
Ce résultat était prévisible car le domaine est symétrique par rapport à l’axe des ordonnées et la fonction à intégrer est
impaire par rapport à x.
y
7
Exercice 1.39 x 2 + (y − 6)2 = 1
(x + 1)2 + (y − 5)2 = 1 6
Calculer
Ï 5
y dx dy
D 4 (x − 1)2 + (y − 5)2 = 1
où l’ensemble d’intégration est celui colo- 3
rié dans la figure ci-contre.
2
(Le trait discontinue suggère un découpage
du domaine d’intégration) 1

−2 −1 0 1 2x

Correction

Méthode I On décompose le domaine d’intégration en cinq parties sur lesquelles sera facile de calculer l’intégrale
donnée :
y
7
E
Ï Ï Ï Ï Ï Ï
y dx dy = y dx dy+ y dx dy+ y dx dy+ y dx dy+ y dx dy 6
D A B C E F

F 5 A C
2
A = (x, y) ∈ R ¯ −1 ≤ x ≤ 1, 4 ≤ y ≤ 6 ,
© ¯ ª
4
n ¯ y yo
B = (x, y) ∈ R2 ¯ 0 ≤ y ≤ 4, − ≤ x ≤ ,
¯
3 B
n ¯ 4 4
π πo
C = (r, t ) ∈ R∗+ × [−π; π[ ¯ 0 ≤ r ≤ 1, − ≤ t ≤ , avec x = 1 + r cos(t ), y = 5 + r sin(t ),
¯
2 2 2
E = (r, t ) ∈ R∗+ × [0; 2π[ ¯ 0 ≤ r ≤ 1, 0 ≤ t ≤ π , avec x = r cos(t ), y = 6 + r sin(t ),
© ¯ ª
1
π
½ ¯ ¾

F = (r, t ) ∈ R∗+ × [0; 2π[ ¯¯ 0 ≤ r ≤ 1, ≤ t ≤
¯
, avec x = −1 + r cos(t ), y = 5 + r sin(t ),
2 2 −2 −1 0 1 2 x

1 6 1 · 2 ¸ y=6 6
y
Ï Z Z µZ ¶ ¶ µZ
y dx dy = y dx dy = y dy = 2 ×1 dx × = 20
A −1 4 −1 4 2 y=4
Z 4 Z y/4 Z 4 · 3 ¸ y=4
1 4 2 y 32
Ï Z
£ ¤x=y/4
y dx dy = y dx dy = y x x=−y/4 dy = y dx = =
B −0 −y/4 0 2 0 6 y=0 3
Ï Z 1 Z π/2 µZ 1 ¶ µZ π/2 ¶ µZ 1 ¶ µZ π/2 ¶
y dx dy = r (5 + r sin(t )) dt dr = 5r dr × 1 dt + r 2 dr × sin(t ) dt
C 0 −π/2 0 −π/2 0 −π/2
· 2 ¸r =1 h i · 3 ¸r =1 h
r t =π/2 r it =π/2 5π
= 5 × t + × − cos(t ) =
2 r =0 t =−π/2 3 r =0 t =−π/2 2
Ï Z 1Z π µZ 1 ¶ µZ π ¶ µZ 1 ¶ µZ π ¶
y dx dy = r (6 + r sin(t )) dt dr = 6r dr × 1 dt + r 2 dr × sin(t ) dt
E 0 0 0 0 0 0
· 2 ¸r =1 h i · 3 ¸r =1 h
r t =π r it =π 2
= 6 × t + × − cos(t ) = 3π +
2 r =0 t =0 3 r =0 t =0 3
Ï Ï
y dx dy = y dx dy.
F C
Conclusion :
34
Ï
y dx dy = 20 + + 8π.
D 3

76 © 2024-2026 G. Faccanoni
Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 1. Calcul différentiel et intégrale dans R2

Méthode II La fonction et le domaine d’intégration sont symétriques par rapport au plan d’équation x = 0, par
conséquent il suffit de calculer l’intégrale sur une moitié du domaine d’intégration :
y
7
E′
Ï µÏ Ï Ï Ï ¶ 6
y dx dy = 2 y dx dy + y dx dy + y dx dy + y dx dy
D A′ B′ C E′ 5 A′ C

4
A ′ = (x, y) ∈ R2 ¯ 0 ≤ x ≤ 1, 4 ≤ y ≤ 6 ,
© ¯ ª

B ′ = (x, y) ∈ R2 ¯ 0 ≤ x ≤ 1, 4x ≤ y ≤ 4 , 3 B′
© ¯ ª
n ¯ π πo
C = (r, t ) ∈ R∗+ × [−π; π[ ¯ 0 ≤ r ≤ 1, − ≤ t ≤ , avec x = 1 + r cos(t ), y = 5 + r sin(t ), 2
¯
2 2
n ¯ π o
E ′ = (r, t ) ∈ R∗+ × [0; 2π[ ¯ 0 ≤ r ≤ 1, 0 ≤ t ≤ , avec x = r cos(t ), y = 6 + r sin(t ), 1
¯
2

0 1 2 x

Z 1Z 6 1 · 2 ¸ y=6 6
y
Ï µZ
¶ ¶ µZ
y dx dy = y dx dy = y dy = 1 × 1 dx × = 10
A′ 0 4 0 4 2 y=4
Z 1 · 2 ¸ y=4 ¸x=1
x3
Z 1Z 4 Z 1
y
·
16
Ï
y dx dy = y dy dx = dx = 8 (1 − x 2 ) dx = 8 x − =
B′ 0 4x 0 2 y=4x 0 3 x=0 3
Ï Z 1 Z π/2 µZ 1 ¶ µZ π/2 ¶ µZ 1 ¶ µZ π/2 ¶
y dx dy = r (5 + r sin(t )) dt dr = 5r dr × 1 dt + r 2 dr × sin(t ) dt
C 0 −π/2 0 −π/2 0 −π/2
2 ¸r =1 · 3 ¸r =1 h
r r
· h it =π/2 it =π/2 5π
= 5 × t + × − cos(t ) =
2 r =0 t =−π/2 3 r =0 t =−π/2 2
Ï Z 1Z π/2 µZ 1 ¶ µZ π/2 ¶ µZ 1 ¶ µZ π/2 ¶
y dx dy = r (6 + r sin(t )) dt dr = 6r dr × 1 dt + r 2 dr × sin(t ) dt
E′ 0 0 0 0 0 0
¸r =1 h it =π/2 · r 3 ¸r =1 h
r2
· it =π/2 3 1
= 6 × t + × − cos(t ) = π+
2 r =0 t =0 3 r =0 t =0 2 3

Conclusion : µ ¶
17
Ï
y dx dy = 2 10 + + 4π .
D 3

Exercice 1.40
Après avoir représenté graphiquement l’ensemble A , calculer l’intégrale

x
Ï
A = (x, y) ∈ R2 ¯ 1 ≤ x 2 + y 2 ≤ 4, |y| ≥ |x| .
© ¯ ª
dx dy avec
A y

Correction
L’ensemble A est la partie coloriée dans la figure ci-dessous :

y
2
1

−2 −1 0 1 2x
−1
−2

En passant en coordonnées polaires

x = r cos(ϑ), y = r sin(ϑ), dx dy = r dr dϑ

© 2024-2026 G. Faccanoni 77
Chapitre 1. Calcul différentiel et intégrale dans R2 Dernière mise à jour : Mardi 30 septembre 2025

on obtient
π
½ ¯ ¾ ½ ¯ ¾
3π 5π 7π
A = (r, ϑ) ∈ R+ × [0; 2π[ ¯ 1 ≤ r ≤ 2 et ≤ ϑ ≤ ∪ (r, ϑ) ∈ R+ × [0; 2π[ ¯¯ 1 ≤ r ≤ 2 et ≤ϑ≤
¯ ¯
¯
4 4 4 4
et donc
3π 7π 3π 7π
ÃZ ! µZ
Ï
x
Z
4
Z 2 cos(ϑ)
Z
4
Z 2 cos(ϑ) 4 cos(ϑ)
Z
4 cos(ϑ) 2 ¶
dx dy = r dr dϑ + r dr dϑ = dϑ + dϑ r dr = 0.
y π sin(ϑ) 5π sin(ϑ) π sin(ϑ) 5π sin(ϑ)
A 4 1 4 1 4 4 1

car
cos(t )
Z
dt = ln(| sin(t )|).
sin(t )

Exercice 1.41
Après avoir représenté graphiquement l’ensemble A , calculer l’intégrale

y
Ï
A = (x, y) ∈ R2 ¯ 1 ≤ x 2 + y 2 ≤ 4, |y| ≤ |x| .
© ¯ ª
dx dy avec
A x

Correction
L’ensemble A est la partie coloriée dans la figure ci-dessous :

y
2
1

−2 −1 0 1 2x
−1
−2

En passant en coordonnées polaires

x = r cos(ϑ), y = r sin(ϑ), dx dy = r dr dϑ

on obtient
Z π Z 2 Z 5π Z 2 ÃZ π Z 5π ! µZ
2
y

sin(ϑ) sin(ϑ) 4 sin(ϑ) 4 sin(ϑ)
Ï
4 4
dx dy = r dr dϑ + r dr dϑ = dϑ + dϑ r dr = 0
A x − π4 1 cos(ϑ) 3π
4 1 cos(ϑ) − π4 cos(ϑ) 3π cos(ϑ)
4 1

car
sin(t )
Z
dt = − ln(| cos(t )|).
cos(t )

Exercice 1.42

y
Soit D la partie coloriée en figure.
3 • Décrire D en coordonnées cartésiennes.
• Trouver un changement de variables adéquat pour décrire D en
5

coordonnées polaires.
+
x

x−y
Ï
=

• Calculer dx dy.
y

p
D (x + 2)2 + (y − 3)2
−2 − 12 x

Correction
Le domaine d’intégration est le demi cercle de centre (−2, 3) et rayon r = 32 qui se trouve sous la droite d’équation
y = x + 5, autrement dit ½ ¯ ¾
2¯ 2 2 9
D = (x, y) ∈ R ¯ (x + 2) + (y − 3) < , y < x + 5 .
¯
4

78 © 2024-2026 G. Faccanoni
Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 1. Calcul différentiel et intégrale dans R2

Avec le changement de variables (


x = −2 + r cos(φ),
y = 3 + r sin(φ),
on obtient
x−y −2 + r cos(φ) − 3 − r sin(φ)
Ï Ï
p dx dy = r dr dφ
D (x + 2)2 + (y − 3)2 D r
où ½ ¯ ¾
3 5 9
D = (r, φ) ∈ R × [π/2, 5π/2] ¯ 0 < r < , π < φ < π .
¯
¯
2 4 4
Donc
3 9

ÃZ !
−2 + r cos(φ) − 3 − r sin(φ)
Ï Z
2
r dr dφ = −5 + r (cos(φ) − sin(φ)) dφdr
D r 0 5

3 9 3 9
4π 4π
à Z Z ! ÃZ Z !
2 2
= −5 1 dφdr + r (cos(φ) − sin(φ)) dφdr
5 5
0 4π 0 4π
3 9 3 9
4π 4π
ÃZ ! ÃZ ! ÃZ ! ÃZ !
2 2
= −5 1 dr 1 dφ + r dr cos(φ) − sin(φ) dφ
5 5
0 4π 0 4π
15 9p
=− π+ 2.
2 4

Exercice 1.43

y
Soit D la partie coloriée en figure.
3 • Décrire D en coordonnées cartésiennes.
• Trouver un changement de variables adéquat pour décrire D en
y
=

coordonnées polaires.

x

x−y
Ï
+
5

• Calculer 2 2
dx dy.
x D (x − 2) + (y − 3)
1 2
2

Correction
Le domaine d’intégration est le demi cercle de centre (2, 3) et rayon r = 32 qui se trouve sous la droite d’équation
y = −x + 5, autrement dit ½ ¯ ¾
2¯ 2 2 9
D = (x, y) ∈ R ¯ (x − 2) + (y − 3) < , y < −x + 5 .
¯
4
Avec le changement de variables (
x = 2 + r cos(φ),
y = 3 + r sin(φ),
on obtient
x−y 2 + r cos(φ) − 3 − r sin(φ)
Ï Ï
dx dy = r dr dφ
D (x − 2)2 + (y − 3)2 D r2
où ½ ¯ ¾
3 3 7
D = (r, φ) ∈ R × [0, 2π] ¯¯ 0 < r < , π < φ < π .
¯
2 4 4
Donc
Z 3 Z 7
2 + r cos(φ) − 3 − r sin(φ) 1 2 1 3 4π
Ï Ï Ï
r dr dφ = − dr dφ+ cos(φ)−sin(φ) dr dφ = −π dr + cos(φ)−sin(φ) dφ = ∞.
D r2 D r D 0 r 2 43 π

Calcul d’aires et centres de gravité, coordonnées polaires

© 2024-2026 G. Faccanoni 79
Chapitre 1. Calcul différentiel et intégrale dans R2 Dernière mise à jour : Mardi 30 septembre 2025

Exercice 1.44
Un disque de rayon 5 cm a densité 10 g cm−2 dans son centre, densité 0 g cm−2 sur le bord et la densité est une
fonction linéaire de la distance du centre. Calculer la masse du disque.

Correction
Décrivons le disque en coordonnées polaires centrées dans le centre du disque. Soit ϱ la densité : elle ne dépend que de
la distance r du centre et l’on a ϱ(0) = 10, ϱ(5) = 0 et elle est linéaire donc ϱ(r ) = 2(5 − r ). La masse du disque est donc
· 2 ¸r =5
r3 53
Z 5Z 2π Z 5Z 2π 5 2π r
µZ ¶ µZ ¶
ρ(r )r dϑ dr = 2 r (5 − r ) dϑ dr = 2 r (5 − r ) dr 1 dϑ = 4π 5 − = 2π.
0 0 0 0 0 0 2 3 r =0 3

Exercice 1.45
Considérons un disque de métal de rayon 3 cm et prenons un repère centré dans son centre. À la distance r de
l’origine, la densité du métal par unité de surface est r 21+1 . Calculer la masse du disque.

Correction
Décrivons le disque en coordonnées polaires centrées dans le centre du disque. La masse du disque est
Z 3 Z 2π µZ 3 ¶ µZ 2π µZ 3
r r
¶ ¶
2r ¤r =3
1 dϑ = π dr = π ln(r 2 + 1) r =0 = π ln(10).
£
2 +1
dϑ dr = 2 +1
dr × 2 +1
0 0 r 0 r 0 0 r

Exercice 1.46

y [km] Une ville entoure une baie comme dans la figure ci-
4
contre. La densité de population de la ville (en milliers
de personnes par kilomètre carré) est δ(r, ϑ), où r et ϑ
sont les coordonnées polaires et les distances sont me-
surées en kilomètres. Plus loin on vit de la baie et plus la
Ville 1 densité de population diminue. De même, plus loin on
vit de l’océan et plus la densité de population diminue.
Ocean

Bay
x [km]
Laquelle des fonctions suivantes décrit au mieux cette
−1 situation ?
1. δ(r, ϑ) = (4 − r )(2 + cos(ϑ))
2. δ(r, ϑ) = (4 − r )(2 + sin(ϑ))
3. δ(r, ϑ) = (4 + r )(2 + cos(ϑ))
−4 En déduire une estimation de la population totale de la
ville.

Correction

• La ville (domaine d’intégration) s’écrit


π
½ ¯ ¾
∗ 3π
(r, ϑ) ∈ R+ × [0; 2π[ ¯ 1 ≤ r ≤ 4, ≤ ϑ ≤
¯
¯ .
2 2
• La fonctions qui décrit au mieux la densité de population est δ(r, ϑ) = (4 − r )(2 + cos(ϑ)) ; en effet, pour tout ϑ0 fixé
dans [π/2; 3π/2], la fonction f ϑ0 (r ) ≡ δ(r, ϑ0 ) est monotone décroissante et pour tout r 0 fixé dans [1; 4], la fonction
g r 0 (ϑ) ≡ δ(r 0 , ϑ) est monotone décroissante sur [π/2; π] et monotone croissante sur [π; 3π/2].
• La population totale qui vit dans la ville est
3π 3π ¶ ÃZ 3π
Z 4Z Z 4Z !
2 2
µZ 4 2
δ(r, ϑ)r dr dϑ = r (4 − r )(2 + cos(ϑ)) dr dϑ = r (4 − r ) dr × (2 + cos(ϑ)) dϑ
π π π
1 2 1 2 1 2
¸r =4 h
r3 i 3π
·
2
= 2r 2 − × 2ϑ + sin(ϑ) π = 18(π − 1).
3 r =1 2

80 © 2024-2026 G. Faccanoni
Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 1. Calcul différentiel et intégrale dans R2

Exercice 1.47 (Population de lièvres) y [km]


Route
Une forêt est à coté d’une route (voir la figure ci- 5
contre). La densité de la population de lièvres ℓ qui
vivent dans la forêt est proportionnelle à la distance
Forêt
de la route. Plus précisément, elle vaut 0 au bord de la
route et vaut 10 lièvres par kilomètre carré au coté op-
posé de la forêt (i.e. ℓ(x) = 10 pour x = [0; 6]). Estimer
−5 0 6 8 x [km]
la population totale de lièvres dans la forêt.

Correction

• La forêt (domaine d’intégration) s’écrit

π o ½ ¯ ¾
n ¯ 2
(r, ϑ) ∈ R+ × [0, 2π] ¯ 0 ≤ r ≤ 5, ≤ ϑ ≤ π ∪ (x, y) ∈ R2 ¯¯ 0 ≤ y ≤ 5, 0 ≤ x ≤ (15 + y)
¯ ¯
2 5

• Calcul de la fonction à intégrer :


◦ pour x < 0, la densité est une fonction affine de la seule variable r (comme la route est un arc de cercle,
la distance ne dépend que de la coordonnées r ), i.e. ℓ(r ) = mr + q avec m et q à déterminer. On sait que
ℓ(5) = 0 et ℓ(0) = 10 donc ℓ(r ) = 2(5 − r ).
◦ pour x > 0, la densité est une fonction affine de la seule variable y (comme la route est horizontale, la
distance ne dépend que de la coordonnées y), i.e. ℓ(y) = m y + q avec m et q à déterminer. On sait que
ℓ(5) = 0 et ℓ(0) = 10 donc ℓ(y) = 2(5 − y).
• La population totale de lapins qui vivent dans la forêt est

5 π Z ÃZ 2 !
5 π Z 5Ã ÃZ 2
!!
5 (15+y) 5 5 (15+y)
Z µZ ¶ µZ ¶ µZ ¶
ℓ(r )r dϑ dr + ℓ(y) dx dy = ℓ(r )r dr × dϑ + 2 (5 − y) 1 dx dy
0 π/2 0 0 0 π/2 0 0

π
µZ 5 ¶ µZ 5 ¶
2
= 10r − 2r 2 dr + 2 (5 − y) (15 + y) dy
2 0 0 5
µZ 5 ¶ µZ 5 ¶
2 4 2
=π 5r − r dr + 75 − 5y − 2y dy
0 5 0
· 2 ¸5 ¸5
r r3 y2 y3
·
4
=π 5 − + 75y − 5 − 2
2 3 0 5 2 3 0
53 3 3¸
·
4 5 5
= π+ 3 × 53 − −2
6 5 2 3
µ ¶
1 4 3 125 550
= π+ 5 = π+ .
6 3 6 3

Exercice 1.48
Soit R > 1. Après avoir représenté graphiquement la région

D = (x, y) ∈ R2 ¯ y ≥ 0, 1 ≤ x 2 + y 2 ≤ R ∪ (x, y) ∈ R2 ¯ x y ≥ 0, 1 ≤ x 2 + y 2 ≤ R ,
© ¯ ª © ¯ ª

calculer les coordonnées de son centre de gravité en supposant la région D homogène. À partir de quelle valeur de
R le centre de gravité appartient à D ?

Correction
On trace d’abord les courbes d’équation x 2 + y 2 = 1 et x 2 + y 2 = R avec R > 1 et on colore l’ensemble D.

x2 + y 2 = R x2 + y 2 = 1
R

1
© 2024-2026 G. Faccanoni 81
yG

−R −1 x G 0 1 R x

−1
Chapitre 1. Calcul différentiel et intégrale dans R2 Dernière mise à jour : Mardi 30 septembre 2025

On décrit ensuite D en coordonnées polaires centrées en Le centre de gravité a coordonnées (x G , y G ) données par
(0, 0) : on a une bijection de R2 \ { (0, 0) } dans lui même dé- Î Î
finie par x = r cos(ϑ), y = r sin(ϑ) pour (r, ϑ) ∈ R∗+ × [0, 2π[, D x dx dy y dx dy
xG = Î , y G = ÎD .
ainsi D 1 dx dy D 1 dx dy
½ ¯ ¾

D = (r, ϑ) ∈ R∗+ × [0, 2π[ ¯¯ 0 < r ≤ R, 0 ≤ ϑ ≤
¯
.
2

On calcule alors
R Z 3π/2 R 3π/2 3π(R2 − 1)
Ï Z µZ ¶ µZ ¶
1 dx dy = r dr dϑ = r dr × 1 dϑ = ;
D 1 0 1 0 4
(R3 − 1)
Ï Z R Z 3π/2 µZ R ¶ µZ 3π/2 ¶
x dx dy = r 2 cos(ϑ) dr dϑ = r 2 dr × cos(ϑ) dϑ = − ;
D 1 0 1 0 3
(R3 − 1)
Ï Z R Z 3π/2 µZ R ¶ µZ 3π/2 ¶
y dx dy = r 2 sin(ϑ) dr dϑ = r 2 dr × sin(ϑ) dϑ = .
D 1 0 1 0 3
On obtient finalement
3 (R3 −1)
− (R 3−1) 4(R2 + R + 1) 3 4(R2 + R + 1)
xG = =− , yG = = .
3π(R2 −1) 9π(R + 1) 3π(R2 −1) 9π(R + 1)
4 4
2 2
Le centre de gravité appartient à D si et seulement si 1 ≤ x G + yG ≤ R:
¶2 µ ¶2 ( R2 +R+1 9π p
4(R2 + R + 1) 4(R2 + R + 1) R+1 ≥
p , c + c 2 + 4c
µ
1≤ − + ≤ 4 ⇐⇒ 4 p2 ⇐⇒ R > ≈ 4.826617132
9π(R + 1) 9π(R + 1) R2 +R+1 9π 2 2
R+1 ≤ 4 ,


avec c ≡ p − 1.
4 2

y
Exercice 1.49
Soit D la région représentée en figure ci-contre. Calcu- 2 2
x +y =4 x2 + y 2 = 1
ler les coordonnées de son centre de gravité (x G , y G ) 2
en supposant la région D homogène.
1
yG

−2 −1 x G 0 1 2 x

−1

−2

Correction
Le centre de gravité a coordonnées (x G , y G ) données par
Î Î
x dx dy y dx dy
x G = ÎD , y G = ÎD .
D 1 dx dy D 1 dx dy

Il convient de passer aux coordonnées polaires et on obtient


Z 3π/2 Z 2 µZ 3π/2 ¶ µZ 2 ¶
9
Ï
1 dx dy = r dr dθ = dθ r dr = π,
D 0 1 0 1 4
Z 3π/2 Z 2 µZ 3π/2 ¶ µZ 2 ¶
7
Ï
2 2
x dx dy = r cos(θ) dr dθ = cos(θ) dθ r dr = − ,
D 0 1 0 1 3
Z 3π/2 Z 2 µZ 3π/2 ¶ µZ 2 ¶
7
Ï
y dx dy = r 2 sin(θ) dr dθ = sin(θ) dθ r 2 dr = .
D 0 1 0 1 3

82 © 2024-2026 G. Faccanoni
Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 1. Calcul différentiel et intégrale dans R2

Donc
28 14 2 28
xG = − , yG = = .
27π 3 3π 27π
Remarquons que seul le calcul explicite de la dernière intégrale est nécessaire car
Î
• D 1 dx dy représente l’aire de la plaque que l’on peut calculer géométriquement comme la différence des 3/4 du
cercle de rayon 2 ôtés des 3/4 du cercle de rayon 1, i.e. (22 π − π)3/4 = 9π/4,
• x G = −y G car la droite d’équation y = −x est un axe de symétrie de la plaque.

Exercice 1.50
On se propose de calculer (x G , y G ) les coordonnées du centre de gravité de la plaque homogène Ω esquissée dans
la figure ci-dessous :

y
2
1
Ω3
−4 −3 −2 −1 0 1 2 x
−1
Ω2
Ω1 −2
−3
−4

1. On décompose la plaque comme union de trois plaques Ωi comme en figure. Décrire Ω1 et Ω2 en variables
cartésiennes et Ω3 en variables polaires (écrire explicitement le changement en variables polaires).
2. Pour i = 1, 2, 3, calculer l’aire de Ωi . En déduire l’aire de Ω.
3. Pour i = 1, 2, 3, calculer (x Gi , y Gi ) les coordonnées du centre de gravité de la plaque Ωi . En déduire (x G , y G ).
NB Lorsqu’il est possible, éviter le calcul d’intégrales !

Correction

1. Le changement de variables polaires pour Ω3 est


(
x = −1 + r cos(ϑ),
avec (r, ϑ) ∈ R∗+ × [0; 2π[
y = −1 + r sin(ϑ)

et l’on a

Ω1 = (x, y) ∈ R2 ¯ x ∈ [−4; −1], y ∈ [−x − 5; x + 3] ,


© ¯ ª

Ω2 = (x, y) ∈ R2 ¯ x ∈ [−1; 2], y ∈ [−4; −1] ,


© ¯ ª

ª n ¯ h πio
Ω3 = (x, y) ∈ R2 ¯ x ∈ [−1; 2], y ∈ [−1; 2], (x + 1)2 + (y + 1)2 ≤ 32 = (r, ϑ) ∈ R∗+ × [0; 2π[ ¯ r ∈]0; 3], ϑ ∈ 0;
© ¯
.
¯
2

2. Aire(Ω)=Aire(Ω1 )+Aire(Ω2 )+Aire(Ω3 )=9 + 9 + 94 π = 9 2 + π4 .


¡ ¢

3. Pour calculer (x G , y G ) on calcule (x Gi , y Gi ) les coordonnées du centre de gravité de chaque plaque Ωi :


Î
Ω1 x dx dy
• x G1 = Aire(Ω1 ) = −2 car

−1 Z x+3 −1 −1 −1 · ¸x=−1
2 3
Ï Z Z Z Z
£ ¤ y=x+3 2
x dx dy = x dy dx = x y y=−x−5 dx = x(2x + 8) dx = 2x + 8x dx = x + 4x 2 = −18,
Ω1 −4 −x−5 −4 −4 −4 3 x=−4

• y G1 = −1 par symétrie de la plaque Ω1 par rapport à la droite d’équation y = −1 ;


1
• x G2 = 2 par symétrie de la plaque Ω2 par rapport à la droite d’équation x = 21 ,
• y G2 = − 52 par symétrie de la plaque Ω2 par rapport à la droite d’équation y = − 52 ;

© 2024-2026 G. Faccanoni 83
Chapitre 1. Calcul différentiel et intégrale dans R2 Dernière mise à jour : Mardi 30 septembre 2025

Î
Ω3 x dx dy 4
• x G3 = Aire(Ω3 ) = π − 1 car

Ï Z 3Z π Z 3Z π Z 3Z π
2 2 2
x dx dy = (−1 + r cos(ϑ))r dϑ dr = −r dϑ dr + r 2 cos(ϑ) dϑ dr
Ω1 0 0 0 0 0 0
µZ 3 ¶ ÃZ π ! µZ
3 ¶ ÃZ π !
2 2
2
=− r dr × 1 dϑ + r dr × cos(ϑ) dϑ
0 0 0 0
2 ¸3 3 ¸3 iπ
r π r π´
· · h
2 9 ³
=− × + × sin(ϑ) = − π + 9 = 9 1 − ,
2 0 2 3 0 0 4 4

• y G3 = x G3 par symétrie de la plaque Ω3 par rapport à la droite d’équation y = x.

On conclut que
π 2−π
µ ¶
(x G , y G ) = − , .
2+π 2+π

Exercice 1.51
La valeur moyenne d’une fonction f : R2 → R sur un domaine R ⊂ R2 est définie par

1
Ï
def
f moy = f (x, y) dx dy.
Aire(R) R

1. Une
³ lentille
´ circulaire de rayon 2 cm présente, en tout point situé à r cm de son centre, une épaisseur de
2
1 − r4 cm. Déterminer l’épaisseur moyenne de cette lentille.
2. La température (en degrés Celsius) en un point (x, y) d’une plaque plane est modélisée par la fonction
T(x, y) = 5x y + x 2 où x et y sont exprimés en mètres. Calculer la température moyenne de la portion de la
plaque ayant la forme d’un losange, définie par

P = (x, y) ∈ R2 tel que ¯2x + y ¯ ≤ 4 et ¯2x − y ¯ ≤ 4 .


© ¯ ¯ ¯ ¯ ª

Correction

1. L’épaisseur moyenne de la lentille est donné par

R 2 R 2π ³ 2
´ R2³ r3
´
0 0 1 − r4 r dr dϑ 2π 0 r − 4 dr 1 r2 r4
· ¸2
1
= = − = .
4π 4π 2 2 16 0 2

2. Le domaine est symétrique par rapport à l’axe des abscisses et T(x, −y) = −T(x, y) donc

Ï Ï
T(x, y) dx dy = 2 T(x, y) dx dy
P P+

P + = P ∩ (x, y) ∈ R2 ¯ y ≥ 0
© ¯ ª

= (x, y) ∈ R2 ¯ −4 ≤ x ≤ 0 et 0 ≤ y ≤ 2x + 4 ∪ (x, y) ∈ R2 ¯ 0 ≤ x ≤ 4 et 0 ≤ y ≤ −2x + 4


© ¯ ª © ¯ ª

et

Aire(P ) = 2Aire(P + ) = 32 cm.

84 © 2024-2026 G. Faccanoni
Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 1. Calcul différentiel et intégrale dans R2

Donc la température moyenne de la plaque est donné par


Î
2 P + T(x, y) dx dy
Tmoy =
32
µZ 0 Z 2x+4 Z 4Z −2x+4 ¶
1
= (5x y + x 2 ) dy dx + (5x y + x 2 ) dy dx
16 −4 0 0 0
ÃZ ¸2x+4 ¸−2x+4 !
0 y2 y2
· Z 4·
1
= 5x + x2 y dx + 5x + x2 y dx
16 −4 2 0 0 2 0

(2x + 4)2 (−2x + 4)2


µZ 0 Z 4 ¶
1
= 5x + x 2 (2x + 4) dx + 5x + x 2 (−2x + 4) dx
16 −4 2 0 2
µZ 0 Z 4 ¶
1 3 2 3 2
= 3x + 7x + 2x dx + 2x − 9x + 10x dx
4 −4 0
µ·µ ¶ ¸0 ·µ ¶ ¸4 ¶
1 3 2 7 1 2 16
= x + x + 1 x2 + x − 3x + 5 x 2 =− .
4 4 3 −4 2 0 3

y
Exercice 1.52 (Centre de gravité d’un poisson)
3
Calculer les coordonnées du centre de
gravité G de la plaque D en figure sup- 2
posée homogène (éviter le calcul d’inté- Ellipse d’équation
grales lorsqu’il est possible, mais justi- 1 (x − 4)2 (y − 2)2
+ = 12
fier le raisonnement) : 4 1
0 1 2 3 4 5 6 x

Correction
Tout d’abord remarquons que le corps du poisson est une ellipse d’équation

¯ (x − 4)2 (y − 2)2
½ ¯ ¾
(x, y) ∈ R2 ¯¯ + = 1 2
.
22 12

Pour calculer les coordonnées (x G , y G ) du centre de gravité on doit calculer d’abord les trois intégrales doubles suivantes :
Ï Z 2Z 4−x Z 2π Z 1 Z 2 Z 2π
1 dy dx = 1 dy dx + 2r dr dϑ = (4 − 2x) dx + 1 dϑ = 1 + 2π,
D 1 x 0 0 1 0
Z 2Z 4−x 2π Z 1 2¡ 2π µ ¶
4
Ï Z Z Z
4x − 2x 2 dx +
¢
x dy dx = x dy dx + (4 + 2r cos(ϑ))2r dr dϑ = 4+ cos(ϑ) dϑ
D 1 x 0 0 1 0 3
Z 2µ ¶ · ¸2π
2 4 4
= 2x 2 − x 3 dx + 4ϑ + sin(ϑ) = + 8π,
1 3 3 0 3
(4 − x)2 x 2
Z 2 Z 4−x Z 2π Z 1 Z 2µ ¶ Z 2π µ ¶
2
Ï
y dy dx = y dy dx + (2 + r sin(ϑ))2r dr dϑ = − dx + 2 + sin(ϑ) dϑ
D 1 x 0 0 1 2 2 0 3
Z 2 · ¸2π
2
= (8 − 4x) dx + 2ϑ − cos(ϑ) = 2 + 4π
1 3 0

et on en déduit que
Î 4 Î
x dy dx + 8π y dy dx 2 + 4π
x G = ÎD = 3
, y G = ÎD = = 2.
D 1 dy dx 1 + 2π D 1 dy dx 1 + 2π

En fait, aucune des trois intégrales est nécessaire car on peut les calculer géométriquement comme suit (cf. figure 1.3)
Î
• D 1 dy dx = Aire(D) = Aire(T ) + Aire(E ) = 1 + 2π,
Aire(T ) Aire(E ) 4/3 + 8π
• xG = xG + xG =
Aire(D) T Aire(D) E 1 + 2π
• y G = 2 car la droite d’équation y = 2 est un axe de symétrie pour la plaque.

© 2024-2026 G. Faccanoni 85
Chapitre 1. Calcul différentiel et intégrale dans R2 Dernière mise à jour : Mardi 30 septembre 2025

y y

3 GT =
¡4 ¢ 3G = (4, 2)
3,2 E

2 2
Aire(T ) = 1 Aire(E ) = 2π
1 1

0 1 2 3 4 5 6 x 0 1 2 3 4 5 6 x

F IGURE 1.3. – Exercice 1.52

Exercice 1.53 (Aire de la cardioïde)


L’équation de la cardioïde est paramétrée par ϕ
comme suit : (x = r (ϕ) cos(ϕ), y = r (ϕ) sin(ϕ)) où
y
r (ϕ) = 1 − sin(ϕ) et ϕ ∈ [−π; π]. Considérons le do-
maine délimité par cette courbe, i.e. l’ensemble décrit −1 1 x
en coordonnées polaires par
−1
(r, ϕ) ¯ −π ≤ ϕ ≤ π,
© ¯ ª
0 ≤ r ≤ 1 − sin(ϕ)

Calculer l’aire de cette ensemble. Calculer ensuite son −2


centre de gravité en la considérant une plaque homo-
gène de densité surfacique de masse 1.

Correction
Rappelons d’abord que

cos2 (t ) = 1+cos(2t )
cos2 (t ) dt = 1+cos(2t )
dt = 2t + sin(2t )
R R
2 =⇒ 2 4 + C,
2 1−cos(2t ) 1−cos(2t ) t sin(2t )
sin2 (t ) dt =
R R
sin (t ) = 2 =⇒ 2 dt = 2 − 4 + C,

et que

sinn+1 (ϕ) cosn+1 (ϕ)


Z Z
cos(ϕ) sinn (ϕ) dϕ = , sin(ϕ) cosn (ϕ) dϕ = − , n ≥ 0.
n +1 n +1

On peut alors calculer la surface de la cardioïde :

π ¸1−sin(ϕ) Z π π
1−sin(ϕ) r2 (1 − sin(ϕ))2
Z Z Z ·
Aire = r dr dϕ = dϕ = dϕ
−π 0 −π 2 0 −π 2
Z π Z π Z π
1 sin2 (ϕ)
= dϕ + −2 sin(ϕ) dϕ + dϕ
−π 2 −π −π 2
Z π
1 − cos(2ϕ) π 3
= π+0+ dϕ = π + + 0 = π.
−π 4 2 2

Pour calculer le centre de gravité on doit calculer les intégrales


Z π Z 1−sin(ϕ) Z π Z 1−sin(ϕ)
r cos(ϕ)r dr dϕ, r sin(ϕ)r dr dϕ.
−π 0 −π 0

On a

π π ¸1−sin(ϕ) π
1−sin(ϕ) 1−sin(ϕ)r3
Z Z Z µZ ¶ Z ·
2
r cos(ϕ)r dr dϕ = cos(ϕ) r dr dϕ = cos(ϕ) dϕ
−π 0 −π 0 −π 3 0
Z π
(1 − sin(ϕ))3 1 π
Z
= cos(ϕ) dϕ = cos(ϕ)(1 − sin(ϕ) + sin2 (ϕ) − sin3 (ϕ)) dϕ = 0
−π 3 3 −π

86 © 2024-2026 G. Faccanoni
Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 1. Calcul différentiel et intégrale dans R2

et

π π π ¸1−sin(ϕ)
1−sin(ϕ) 1−sin(ϕ) r3
Z Z Z µZ ¶ Z ·
r sin(ϕ)r dr dϕ = sin(ϕ) r 2 dr dϕ = sin(ϕ) dϕ
−π 0 −π 0 −π 3 0
Z π π
(1 − sin(ϕ))3 1
Z
= sin(ϕ) dϕ = sin(ϕ) − 3 sin2 (ϕ) + 3 sin3 (ϕ) − sin4 ϕ dϕ =
−π 3 3 −π
µ ¶
1 3 5
= 0 − 3π + 0 − π = − π
3 4 4

car

Z π £ ¤π
sin(ϕ) dϕ = cos(ϕ) −π = 0,
−π
ϕ sin(2ϕ) π
Z π Z π · ¸
2 1 − cos(2ϕ)
sin (ϕ) dϕ = dϕ = − = π,
−π −π 2 2 4 −π
Z π Z π Z π ¸π π
cos3 ϕ
Z ·
sin3 (ϕ) dϕ = sin(ϕ)(1 − cos2 (ϕ)) dϕ = sin(ϕ) dϕ −sin(ϕ) cos2 (ϕ) dϕ = − cos(ϕ) + = 0,
−π −π −π −π 3 −π
sin(2ϕ) π
Z π Z πµ Z π
1 − cos(2ϕ) 2 1 π 1 π π
¶ · ¸
1 1 3
Z Z
sin4 ϕ dϕ = dϕ = dϕ − cos(2ϕ) dϕ + cos2 (2ϕ) dϕ = + 0 + ϕ+ = π.
−π −π 2 −π 4 2 −π 4 −π 2 4 2 −π 4

On obtient les coordonnées du centre de gravité

R π R 1−sin(ϕ) R π R 1−sin(ϕ)
−π 0 r cos(ϕ)r dr dϕ 0 −π 0 r cos(ϕ)r dr dϕ − 54 π 5
xG = = 3
= 0, yG = = 3
=− .
2π 2π
Aire Aire 6

Exercice 1.54 (Aire des trèfles de H ABENICHT)


Calculer l’aire de la région définie en coordonnées polaires par

D = {(r, φ) ∈ R+ × [0, 2π] : r ≤ 1 + cos(kφ) + sin2 (kφ), k ∈ N∗ }.

Suggestion : utiliser les formules de duplication cos(2θ) = 2 cos2 (θ) − 1 = 1 − 2 sin2 (θ) et calculer au préalable les
intégrales suivantes
Z 2kπ Z 2kπ Z 2kπ Z 2kπ Z 2kπ Z 2kπ
1 dα, cos(α) dα, cos2 (α) dα, cos(α) sin2 (α) dα, sin2 (α) dα, sin4 (α) dα.
0 0 0 0 0 0

Correction
On a

Z 2kπ h i2kπ Z 2kπ h i2kπ


1 dα = α = 2kπ, cos(α) dα = sin(α) = 0,
0 0 0 0
Z 2kπ 1h i2kπ Z 2kπ h sin3 (α) i2kπ
cos2 (α) dα = sin(2α) + 2α = kπ, cos(α) sin2 (α) dα = = 0,
0 4 0 0 3 0
Z 8π 2kπ
1h 1h i2kπ 3
i2kπ Z
sin2 (α) dα = 2α − sin(2α) = kπ, sin4 (α) dα = 24α − 8 sin(2α) + sin(4α) = kπ.
0 4 0 0 32 0 4

© 2024-2026 G. Faccanoni 87
Chapitre 1. Calcul différentiel et intégrale dans R2 Dernière mise à jour : Mardi 30 septembre 2025

L’aire est donnée, en coordonnées polaires, par


Ï Z 2π Z 1+cos(kφ)+sin2 (kφ)
r dr dθ = r dr dφ
D 0 0
1
Z 2π h r 2 i1+cos(kφ)+sin2 (kφ)
= dφ
2 0 2 0
1 2π
Z
= (1 + cos(kφ) + sin2 (kφ))2 dφ
2 0
1 2kπ
Z
= (1 + cos(α) + sin2 (α))2 dα
2k 0
1 2kπ
Z
= 1 + cos2 (α) + sin4 (α) + 2 cos(α) + 2 sin2 (α) + 2 cos(α) sin2 (α) dα
2k 0
·Z 2kπ Z 2kπ Z 2kπ Z 2kπ Z 2kπ Z 2kπ ¸
1
= 1 dα + cos2 (α) dα + sin4 (α) dα + 2 cos(α) dα + 2 sin2 (α) dα + 2 cos(α) sin2 (α) dα
2k 0 0 0 0 0 0
· ¸
1 3 23
= 2kπ + kπ + kπ + 0 + 2kπ + 0 = π.
2k 4 8

y y y

k=1 k=2 k=3

x x x

y y y

k=4 k=5 k=6

x x x

88 © 2024-2026 G. Faccanoni
CHAPITRE 2

Interpolation
Étant donné (n + 1) points de R2 , i.e. n + 1 couples {(x i , y i )}ni=0 , le problème consiste à trouver une fonction ϕ = ϕ(x)
telle que ϕ(x i ) = y i . On dit alors que ϕ interpole l’ensemble de valeurs {y i }ni=0 aux nœuds {x i }ni=0 . Les quantités y i
représentent les valeurs aux nœuds x i d’une fonction f connue analytiquement ou de données expérimentales. Dans le
premier cas, l’approximation a pour but de remplacer f par une fonction plus simple (en vue par exemple d’un calcul
numérique d’intégrale ou de dérivée). Dans le second cas, le but est d’avoir une représentation synthétique de données
expérimentales (dont le nombre peut être très élevé).
La fonction ϕ appartient généralement à un espace vectoriel de dimension finie ; l’interpolation consiste donc à
trouver ses coordonnées par rapport à une base choisie. On peut également considérer des interpolations composites
ou « par morceaux » (ou encore des interpolations par fonctions splines) si ϕ est composée de polynômes définis sur
des sous-intervalles dans l’espace vectoriel par morceaux.
On parle d’interpolation polynomiale quand ϕ est un polynôme, et d’interpolation de Fourier lorsque ϕ est une série
de Fourier.

Dans ce chapitre

2.1 Interpolation polynomiale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89


2.1.1 Bases canonique, de L AGRANGE, de N EWTON de Rn [x] et coordonnées du polynôme d’interpolation 89
2.1.2 Fonctions prédéfinies en Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
2.1.3 Les défauts de l’interpolation polynomiale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
2.1.4 Interpolation polynomiale composite: splines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
2.1.5 Splines avec SciPy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
2.1.6 Deux exemples complets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
2.2 Généralisation: l’interpolation dans un espace vectoriel quelconque . . . . . . . . . . . . . . . . . . . . . 100
2.2.1 Cas particulier: l’interpolation Trigonométrique et FFT . . . . . . . . . . . . . . . . . . . . . . . . . 101
2.3 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
2.3.1 Révisions: espaces vectoriels et bases dans Rn [x] . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
2.3.2 Interpolation polynomiale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
2.3.3 Interpolation trigonométrique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127

2.1. Interpolation polynomiale


Supposons que l’on veuille chercher un polynôme p n ∈ Rn [x], n ≥ 0 (c’est-à-dire un polynôme de degré au plus n) qui,
pour des valeurs x 0 , x 1 , x 2 , . . . , x n distinctes données (appelés nœuds d’interpolation), prenne les valeurs y 0 , y 1 , y 2 , . . . , y n
respectivement, c’est-à-dire
p n (x i ) = y i pour 0 ≤ i ≤ n. (2.1)
Si un tel polynôme existe, il est appelé polynôme d’interpolation ou polynôme interpolant.

2.1.1. Bases canonique, de Lagrange, de Newton de Rn [x] et coordonnées du polynôme


d’interpolation
Base canonique. Une manière apparemment simple de résoudre ce problème est d’écrire le polynôme dans la base
canonique de Rn [x] :
p n (x) = a 0 + a 1 x + a 2 x 2 + · · · + a n x n ,

89
Chapitre 2. Interpolation Dernière mise à jour : Mardi 30 septembre 2025

où a 0 , a 1 , a 2 , . . . , a n sont des coefficients qui devront être déterminés. Les (n + 1) relations (2.1) s’écrivent alors

n
a 0 + a 1 x 0 + . . . a n x 0 = y 0


a + a x + . . . a x n = y

0 1 1 n 1 1


 . . .
a 0 + a 1 x n + . . . a n x nn = y n

Puisque les valeurs x i et y i sont connues, ces relations forment un système linéaire de (n + 1) équations en les
(n + 1) inconnues a 0 , a 1 , a 2 , . . . , a n qu’on peut mettre sous la forme matricielle

x 0n a 0
    
1 x0 ... y0
1
 x1 ... x 1n  a   y 
 1  1
 .  =  . . (2.2)
. .. ..     
.
. . .   ..   .. 
1 xn ... x nn a n yn

Ainsi, le problème consistant à chercher le polynôme p n satisfaisant (2.1) peut se réduire à résoudre le système
linéaire (2.2) (cette matrice s’appelle matrice de VANDERMONDE).
Étant donné n + 1 points distincts x 0 , . . . , x n et n + 1 valeurs correspondantes y 0 , . . . , y n , il existe un
unique polynôme p n ∈ Rn [x] tel que p n (x i ) = y i , pour i = 0, . . . n qu’on peut écrire sous la forme

x 0n a 0
    
1 x0 ... y0
n 1 x1 ... x 1n 
  a1   y 1 
   
ai x i
X 
p n (x) = avec .
. .. ..  .  =  . .
   
i =0 . . .   ..   .. 
1 xn ... x nn a n yn

Base de Lagrange. Malheureusement, résoudre une système linéaire de (n +1) équations à (n +1) inconnues n’est pas
une tache triviale. Cette méthode pour trouver le polynôme p n n’est donc pas une bonne méthode en pratique.
On se demande alors s’il existe une autre base { L0 , L1 , L2 , . . . , Ln } de Rn [x] telle que le polynôme p n s’écrit

p n (x) = y 0 L0 (x) + y 1 L1 (x) + y 2 L2 (x) + · · · + y n Ln (x),

autrement dit s’il existe une base telle que les coordonnées du polynôme dans cette base ne sont rien d’autre que
les valeurs connues y 0 , y 1 , . . . , y n . Pour trouver une telle base, commençons par imposer le passage du polynôme
par les n + 1 points donnés : les (n + 1) relations (2.1) imposent la condition
(
1 si i = j
Li (x j ) = δi j = pour 0 ≤ i , j ≤ n,
0 sinon

ce qui donne
n x −x (x − x 0 )(x − x 1 ) · · · (x − x i −1 )(x − x i +1 ) · · · (x − x n )
Y j
Li (x) = = .
j =0 x i − x j (x i − x 0 )(x i − x 1 ) · · · (x i − x i −1 )(x i − x i +1 ) · · · (x i − x n )
j ̸=i

Il est facile de vérifier que


• Li (x) ∈ Rn [x] car le numérateur de Li (x) est un produit de n termes (x − x j ) avec i ̸= j et est donc un
polynôme de degré n et le dénominateur de Li (x) est une constante,
• Li (x j ) = 0 si i ̸= j , 0 ≤ i ≤ n,
• Li (x i ) = 1.
De plus, les polynômes L0 , L1 , L2 , . . . , Ln sont linéairement indépendants car si l’équation ni=0 αi Li (x) = 0 doit
P

être satisfaite pour tout x ∈ R alors en particulier elle doit être satisfaite pour x = x j pour tout j = 0, 1, . . . , n et
puisque ni=0 αi Li (x j ) = α j , on conclut que tous les α j sont nuls. Par conséquent, la famille { L0 , L1 , L2 , . . . , Ln }
P

forme une base de Rn [x].


Il est important de remarquer que nous avons construit explicitement une solution du problème (2.1) et ceci
pour n’importe quelles valeurs y 0 , y 1 , y 2 , . . . , y n données. Ceci montre que le système linéaire (2.2) a toujours une
unique solution.

90 © 2024-2026 G. Faccanoni
Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 2. Interpolation

Étant donné n + 1 points distincts x 0 , . . . , x n et n + 1 valeurs correspondantes y 0 , . . . , y n , il existe un


unique polynôme p n ∈ Rn [x] tel que p n (x i ) = y i , pour i = 0, . . . n qu’on peut écrire sous la forme
n n x −x
X Y j
p n (x) = y i Li (x) où Li (x) = .
i =0 j =0 xi − x j
j ̸=i

Cette relation est appelée formule d’interpolation de L AGRANGE et les polynômes Li sont les polynômes
caractéristiques (de L AGRANGE).

import sympy as sp
x = [Link]('x')
n = 2 # degré
p = [Link].interpolating_poly(n+1, x, X='x', Y='y')
print(f"\\[ p(x) = {[Link](p)} \\]")

y 0 (x − x 1 ) (x − x 2 ) y 1 (x − x 0 ) (x − x 2 ) y 2 (x − x 0 ) (x − x 1 )
p(x) = + +
(x 0 − x 1 ) (x 0 − x 2 ) (−x 0 + x 1 ) (x 1 − x 2 ) (−x 0 + x 2 ) (−x 1 + x 2 )
Base de Newton. Cependant, cette méthode n’est pas encore la plus efficace d’un point de vue pratique. En ef-
fet, pour calculer le polynôme d’interpolation d’un ensemble de n + 1 points on doit calculer les n + 1 poly-
nômes
© { L0 , L1 , L2 , . .ª. , Ln }. Si ensuite on ajoute un point d’interpolation, on doit calculer les n + 2 polynômes
L̃0 , L̃1 , L̃2 , . . . , L̃n+1 qui diffèrent tous des n + 1 calculés précédemment. La méthode de N EWTON est basée sur le
choix d’une autre base de sort à ce que l’ajout d’un point comporte juste l’ajout d’une fonction de base.
Considérons la famille de polynômes { ω0 , ω1 , ω2 , . . . , ωn } où 1

ω0 (x) = 1,
k−1
ωk (x) =
Y
(x − x i ) = (x − x k−1 )ωk−1 (x), ∀k = 1, . . . , n.
i =0

Il est facile de vérifier que


• ωk (x) ∈ Rn [x],
• la famille { ω0 , ω1 , ω2 , . . . , ωn } est génératrice de Rn [x]
• la famille { ω0 , ω1 , ω2 , . . . , ωn } est libre.
Par conséquent, la famille { ω0 , ω1 , ω2 , . . . , ωn } forme une base de Rn [x].
Si on choisit comme base de Rn [x] la famille { ω0 , ω1 , ω2 , . . . , ωn }, le problème du calcul du polynôme d’interpola-
tion p n est alors ramené au calcul des coefficients { α0 , α1 , α2 , . . . , αn } tels que
n
αi ωi (x).
X
p n (x) =
i =0

Si on a calculé les n + 1 coefficients { α0 , α1 , α2 , . . . , αn } et on ajoute un point d’interpolation, il n’y a plus à calculer


que le coefficient αn+1 car la nouvelle base est déduite de l’autre base en ajoutant simplement le polynôme ωn+1 .
© ªn
Pour calculer tous les coefficients on introduit la notion de différence divisée : soit (x i , y i ) i =0 un ensemble de
n + 1 points distincts.
• La différence divisée d’ordre 1 de x i −1 et x i est
y i − y i −1
f [x i −1 , x i ] ≡ .
x i − x i −1

• La différence divisée d’ordre n des n + 1 points x 0 , . . . , x n est définie par récurrence en utilisant deux diffé-
rences divisées d’ordre n − 1 comme suit :

f [x 1 , . . . , x n ] − f [x 0 , . . . , x n−1 ]
f [x 0 , . . . , x n ] ≡
xn − x0
1. Notons que le dernier point x n n’intervient pas dans la construction de cette base.

© 2024-2026 G. Faccanoni 91
Chapitre 2. Interpolation Dernière mise à jour : Mardi 30 septembre 2025

Pour expliciter le processus récursif, les différences divisées peuvent être calculées en les disposant de la manière
suivante dans un tableau :

i xi yi f [x i −1 , x i ] f [x i −2 , x i −1 , x i ] f [x i −3 , x i −2 , x i −1 , x i ] f [x i −4 , x i −3 , x i −2 , x i −1 , x i ] ...
0 x0 y0
1 x1 y1 f [x 0 , x 1 ]
2 x2 y2 f [x 1 , x 2 ] f [x 0 , x 1 , x 2 ]
3 x3 y3 f [x 2 , x 3 ] f [x 1 , x 2 , x 3 ] f [x 0 , x 1 , x 2 , x 3 ]
4 x4 y4 f [x 3 , x 4 ] f [x 2 , x 3 , x 4 ] f [x 1 , x 2 , x 3 , x 4 ] f [x 0 , x 1 , x 2 , x 3 , x 4 ]
.. .. .. .. .. .. .. ..
. . . . . . . .
© ªn
Soit (x i , y i ) i =0 un ensemble de n + 1 points distincts. Le polynôme d’interpolation p n sous la forme
de N EWTON est donné par
n
ωi (x) f [x 0 , . . . , x i ]
X
p n (x) =
i =0

ω0 (x) = 1,
k−1
ωk (x) =
Y
(x − x i ) = (x − x k−1 )ωk−1 (x), ∀k = 1, . . . , n;
i =1
f [x k ] = y k , ∀k = 0, . . . , n,
f [x 1 , . . . , x k ] − f [x 0 , . . . , x k−1 ]
f [x 0 , . . . , x k ] ≡ , ∀k = 1, . . . , n.
xk − x0

Notation réduite : dans la suite on notera


y i − y i −1 f 1,...,n − f 0,...,n−1
f i −1,i = f [x i −1 , x i ] = f 0,...,n = f [x 0 , . . . , x n ] = .
x i − x i −1 xn − x0

i xi yi f i −1,i f i −2,i −1,i f i −3,i −2,i −1,i f i −4,i −3,i −2,i −1,i ...
0 x0 y0
y 1 −y 0
1 x1 y1 f 01 = x 1 −x 0
y 2 −y 1 f 12 − f 01
2 x2 y2 f 12 = x 2 −x 1 f 012 = x 2 −x 0
y 3 −y 2 f 23 − f 12 f 123 − f 012
3 x3 y3 f 23 = x 3 −x 2 f 123 = x 3 −x 1 f 0123 = x 3 −x 0
y 4 −y 3 f 34 − f 23 f 234 − f 123 f 1234 − f 0123
4 x4 y4 f 34 = x 4 −x 3 f 234 = x 4 −x 2 f 1234 = x 4 −x 1 f 01234 = x 4 −x 0

.. .. .. .. .. .. .. ..
. . . . . . . .
© ªn
Soit (x i , y i ) i =0 un ensemble de n + 1 points distincts. Le polynôme d’interpolation p n sous la forme
de N EWTON est donné par
n
ωi (x) f 0,...,i = y 0 ω0 (x) + f 01 ω1 (x) + f 012 ω2 (x) + · · · + f 012...n ωn (x)
X
p n (x) =
i =0

ω0 (x) = 1,
k−1
ωk (x) =
Y
(x − x i ) = (x − x k−1 )ωk−1 (x), ∀k = 1, . . . , n;
i =1
fk = yk , ∀k = 0, . . . , n,
f 1,...,k − f 0,...,k−1
f 0,...,k ≡ , ∀k = 1, . . . , n.
xk − x0

92 © 2024-2026 G. Faccanoni
Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 2. Interpolation

Comme le montre la définition des différences divisées, des points supplémentaires peuvent être ajoutés pour
créer un nouveau polynôme d’interpolation sans recalculer les coefficients. De plus, si un point est modifié,
il est inutile de recalculer l’ensemble des coefficients. Autre avantage, si les x i sont équirépartis, le calcul des
différences divisées devient nettement plus rapide. Par conséquent, l’interpolation polynomiale dans une base de
N EWTON est privilégiée par rapport à une interpolation dans la base de L AGRANGE pour des raisons pratiques.

import sympy as sp

def divided_diff(xx, yy):


n = len(yy)
if n == 1:
return yy[0]
else:
return (divided_diff(xx[1:], yy[1:]) - divided_diff(xx[:-1],
,→ yy[:-1])) / sp.S(xx[-1] - xx[0])

def newton_interpolation(x, xx, yy):


n = len(xx)
p = 0
for i in range(n):
p += divided_diff(xx[:i+1], yy[:i+1]) * [Link]([x - xx[j] for j
,→ in range(i)])
return p

x = [Link]('x')

for n in range(3):
x_data = [Link]('x:'+str(n+1))
y_data = [Link]('y:'+str(n+1))
p = newton_interpolation(x, x_data, y_data)
print("Nombre de points :", n+1, "Polynôme de Newton p(x) = ", p)

Nombre de points : 1 Polynôme de Newton p(x) = y0


Nombre de points : 2 Polynôme de Newton p(x) = y0 + (x - x0)*(-y0 + y1)/(-x0 + x1)
Nombre de points : 3 Polynôme de Newton p(x) = y0 + (x - x0)*(x - x1)*((-y1 + y2)/(-x1
,→ + x2) - (-y0 + y1)/(-x0 + x1))/(-x0 + x2) + (x - x0)*(-y0 + y1)/(-x0 + x1)

2.1.2. Fonctions prédéfinies en Python


• Avec numpy (calcul numérique) :

p_coeff = [Link](xx_p, yy_p, deg=len(xx_p)-1)


[Link](p_coeff, xx_eval)

• Avec sympy (calcul formel) :

p = [Link](list(zip(xx_p, yy_p)), x) # canonique


p = [Link].interpolating_poly(n, x, X=xx_p, Y=yy_p) #
,→ Lagrange
[[Link]({x: val}) for val in xx_eval]

Exemple :

© 2024-2026 G. Faccanoni 93
Chapitre 2. Interpolation Dernière mise à jour : Mardi 30 septembre 2025

# Given data to interpolate


xx_p = [0, 1, 2]
yy_p = [3, 2, 7]
# Given data to evaluate the function
xx_eval = [1/2, 3/2]

# NumPy Polynomial interpolation using [Link] and [Link]


import numpy as np
p = [Link](xx_p, yy_p, deg=len(xx_p)-1)
B = [Link](p, xx_eval)
print("Evaluation with NumPy Polynomial Interpolation:", B)

# SymPy interpolation
import sympy as sp
x = [Link]('x')
polynomial = [Link](list(zip(xx_p, yy_p)), x) # canonique
print("Polynome dans la base canonique : ",polynomial)
p = [Link].interpolating_poly(n+1, x, X=xx_p, Y=yy_p) #
,→ Lagrange
print("Polynome dans la base de Lagrange : ",p)
xx_eval = [[Link](1,2), [Link](3,2)]
y_eval = [[Link]({x: val}) for val in xx_eval]
print("Evaluation with SymPy Polynomial Interpolation:", y_eval)

Evaluation with NumPy Polynomial Interpolation: [1.75 3.75]


Polynome dans la base canonique : 3*x**2 - 4*x + 3
Polynome dans la base de Lagrange : -2*x*(x - 2) + 7*x*(x - 1)/2 + 3*(x - 2)*(x - 1)/2
Evaluation with SymPy Polynomial Interpolation: [7/4, 15/4]

2.1.3. Les défauts de l’interpolation polynomiale


Malheureusement les polynômes d’interpolation ne forment pas une suite convergente vers une fonction analy-
tique f .
Si y i = f (x i ) pour i = 1, 2, . . . , n, f : I → R étant une fonction donnée de classe C n (I) où I est le plus petit intervalle
contenant les nœuds distincts { x i }ni=0 , alors il existe ξ ∈ I tel que l’erreur d’interpolation au point x ∈ I est donnée par

f (n) (ξ)
ωn (x)
def
En−1 (x) = f (x) − p n−1 (x) =
n!

avec p n−1 ∈ Rn−1 [x] le polynôme d’interpolation.


Dans le cas d’une distribution uniforme de nœuds, i.e. quand x i = x i −1 + h avec i = 1, 2, . . . , n et h > 0 et x 0 donnés, on
a
hn
|ωn (x)| ≤ (n − 1)!
4
et donc
maxx∈I | f (n) (x)| n
max|En−1 (x)| ≤ h .
x∈I 4n
Malheureusement, on ne peut pas déduire de cette relation que l’erreur tend vers 0 quand n tend vers l’infini, bien
que h n /(4n) tend effectivement vers 0. En fait, il existe des fonctions f pour lesquelles maxx∈I |En−1 (x)| −−−−−→ +∞. Ce ré-
n→+∞
sultat frappant indique qu’en augmentant le degré n du polynôme d’interpolation, on n’obtient pas nécessairement
une meilleure reconstruction de f .

Ce phénomène est bien illustré par la fonction de RUNGE de l’exemple ci-dessous.

94 © 2024-2026 G. Faccanoni
Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 2. Interpolation

(a) Distribution équirepartie des nœuds (b) Nœuds de C HEBYSHEV-G AUSS -L OBATTO

F IGURE 2.1. – Interpolation de L AGRANGE, exemple de RUNGE

E XEMPLE
1 (n)
Soit la fonction f : [−5, 5] → R définie par f (x) = 1+x 2 . La fonction f est infiniment dérivable sur [−5, 5] et | f (±5)|
devient très rapidement grand lorsque n tend vers l’infini. Si on considère une distribution uniforme des nœuds on
voit que l’erreur tend vers l’infini quand n tend vers l’infini. Ceci est lié au fait que la quantité maxx∈[−5,5] | f (n) (x)| tend
n
plus vite vers l’infini que h4n tend vers zéro. La figure 2.1a montre ses polynômes interpolants de degrés 3, 5 et 10 pour
une distribution équirepartie des nœuds. Cette absence de convergence est également mise en évidence par les fortes
oscillations observées sur le graphe du polynôme d’interpolation (absentes sur le graphe de f ), particulièrement au
voisinage des extrémités de l’intervalle. Ce comportement est connu sous le nom de phénomène de RUNGE.
On peut éviter le phénomène de RUNGE en choisissant correctement la distribution des nœuds d’interpolation. Sur
un intervalle [a, b], on peut par exemple considérer les nœuds de C HEBYSHEV-G AUSS -L OBATTO (voir figure 2.1b)
a +b b −a ³ π ´
xi = − cos (i − 1) , pour i = 0, . . . , n
2 2 n −1
Pour cette distribution particulière de nœuds, il est possible de montrer que, si f est dérivable sur [a, b], alors p n
converge vers f quand n → +∞ pour tout x ∈ [a, b]. Les nœuds de C HEBYSHEV-G AUSS -L OBATTO, qui sont les abscisses
des nœuds équirépartis sur le demi-cercle unité, se trouvent à l’intérieur de [a, b] et sont regroupés près des extrémités
de l’intervalle.
Les courbes des figures 2.1a et 2.1b peuvent été obtenues par les instructions suivantes :

import numpy as np
import [Link] as plt
from [Link] import Polynomial

# Fonction de Runge
f = lambda x: 1 / (1 + x**2)

# Points d'affichage
x = [Link](-5, 5, 500)
y = f(x)

# Nombre de points pour l'interpolation


n_points = [5, 10, 15]

# Styles et labels pour les courbes


line_styles = ['b:', 'm-.', 'g--']

# Styles pour les points d'interpolation


marker_styles = ['o', '*', 'D']

© 2024-2026 G. Faccanoni 95
Chapitre 2. Interpolation Dernière mise à jour : Mardi 30 septembre 2025

# Labels pour les courbes


labels = [f"$p \in \\mathbb{{R}}_{{{n-1}}}[x]$" for n in n_points]

# Fonction d'interpolation et d'affichage


def interpolate_and_plot(nodes_func, n_points, line_styles, marker_styles,
,→ labels, title, filename):
# Fonction de Runge
[Link](x, f(x), 'r-', linewidth=2, label="f")
# Interpolations
for n, style, mark, label in zip(n_points, line_styles, marker_styles,
,→ labels):
# Calcul des nœuds et des valeurs interpolées
x_n = nodes_func(n)
y_n = f(x_n)
p_n = [Link](x_n, y_n, n-1)
y_interp = p_n(x)
# Tracer la courbe interpolée et les points
[Link](x, y_interp, style, linewidth=2, label=label)
[Link](x_n, y_n, mark, markersize=4)

[Link]()
[Link](title)
[Link]("x")
[Link]("f(x)")
[Link](True)
[Link](filename)
# [Link]()

# Noeuds équirépartis
[Link]()
nodes_equir = lambda n: [Link](-5, 5, n)
interpolate_and_plot(nodes_equir, n_points, line_styles, marker_styles,
,→ labels, "Interpolation avec noeuds équirépartis",
,→ "Images/runge_lagrange.png")

# Noeuds de Chebyshev
[Link]()
nodes_cheb = lambda n: -5 * [Link]([Link] * [Link](n) / (n-1))
interpolate_and_plot(nodes_cheb, n_points, line_styles, marker_styles,
,→ labels, "Interpolation avec noeuds de Chebyshev",
,→ "Images/runge_lagrangeTGL.png")

2.1.4. Interpolation polynomiale composite : splines


On a mis en évidence le fait que, quand les nœuds d’interpolation sont équirépartis, on ne peut pas garantir la
convergence uniforme du polynôme interpolatoire de L AGRANGE vers f . L’interpolation de L AGRANGE de bas degré
est cependant suffisamment précise quand elle est utilisée sur des intervalles assez petits, y compris avec des nœuds
équirépartis (ce qui est commode en pratique). Il est donc naturel d’introduire une partition de [a; b] en n sous-
intervalles [x i , x i +1 ], tels que [a; b] = ∪0≤i ≤n−1 [x i , x i +1 ] et d’utiliser l’interpolation de L AGRANGE sur chaque sous-
intervalles [x i , x i +1 ] en utilisant m nœuds équirépartis avec m petit (généralement m = 1 ou 3).
Évidemment tout polynôme de degré k est une spline, mais en pratique une spline est constituée de polynômes
différents sur chaque sous-intervalle. Il peut donc y avoir des discontinuités de la dérivée k-ième aux nœuds internes
x 1 , . . . , x n−1 . Ici nous allons considérer seulement le cas m = 1, i.e. des splines linéaires : étant donné une distribution
(non nécessairement uniforme) de nœuds x 0 < x 1 < · · · < x n , on approche f par une fonction continue qui, sur chaque
intervalle [x i , x i +1 ], est définie par le segment joignant les deux points (x i , f (x i )) et (x i +1 , f (x i +1 )). Cette fonction est
appelée interpolation linéaire par morceaux (ou spline linéaire).

96 © 2024-2026 G. Faccanoni
Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 2. Interpolation

Définition 2.1 (Splines linéaires)


Étant donné n + 1 points distincts x 0 , . . . , x n de [a; b] avec a = x 0 < x 1 < · · · < x n = b, la fonction ℓ : [a; b] → R est une
spline linéaire relative aux nœuds {x i } si
(
ℓ(x)|[xi ;xi +1] ∈ R1 , i = 1, 1, . . . , n − 1,
ℓ ∈ C 0 ([a; b]).

Autrement dit, dans chaque sous-intervalle [x i ; x i + 1], la fonction ℓ : [x i , x i +1 ] → R est le segment qui connecte le point
(x i , y i ) au point (x i +1 , y i +1 ) ; elle s’écrit donc
y i +1 − y i
ℓ(x)|[xi ;xi +1] = y i + (x − x i )
x i +1 − x i
Il est intéressant de noter que la commande plot(x,y), utilisée pour afficher le graphe d’une fonction f sur un
intervalle donné [a, b], remplace en fait la fonction par une interpolée linéaire par morceaux, les points d’interpolation
étant les composantes du vecteur x.
Le principale défaut de cette interpolation par morceaux est que ℓ n’est que continue. Or, dans des nombreuses
applications, il est préférable d’utiliser des fonctions ayant au moins une dérivée continue. On peut construire pour cela
une fonction s 3 comme l’interpolation d’H ERMITE des points (x i , f (x i ), f ′ (x i )) et (x i +1 , f (x i +1 ), f ′ (x i +1 )) sur chaque
[x i ; x i + 1] pour i = 1, 1, . . . , n − 1.
TO DO interpolation d’Hermite, splines cubiques

2.1.5. Splines avec SciPy


to do
[Link]

2.1.6. Deux exemples complets


E XEMPLE
On se propose de calculer le polynôme d’interpolation de l’ensemble de points { (−1, 1), (0, 0), (1, 1) }. On cherche donc
p 2 ∈ R2 [x] tel que p 2 (x i ) = y i pour i = 0, . . . , 2. On calculera enfin la spline linéaire associée aux mêmes points.
Sympy.

# Given data to interpolate


xx_p = [-1, 0, 1]
yy_p = [1, 0, 1]

import sympy as sp
x = [Link]('x')
polynomial = [Link](list(zip(xx_p, yy_p)), x)
print(f"p(x) = {polynomial}")
xx_eval = [[Link](i,2) for i in range(-3,4) ] # To evaluate the
,→ function
print( *[f"p({x_val})={[Link]({x:x_val})}" for x_val in
,→ xx_eval] )

p(x) = x**2
p(-3/2)=9/4 p(-1)=1 p(-1/2)=1/4 p(0)=0 p(1/2)=1/4 p(1)=1 p(3/2)=9/4
Numpy.

# Given data to interpolate


xx_p = [-1, 0, 1]
yy_p = [1, 0, 1]

import numpy as np

© 2024-2026 G. Faccanoni 97
Chapitre 2. Interpolation Dernière mise à jour : Mardi 30 septembre 2025

p = [Link](xx_p, yy_p, deg=len(xx_p)-1)


xx_eval = [Link](-1.5,1.5,7) # To evaluate the function
B = [Link](p, xx_eval)
print( *[f" p({x})={b:.2f}" for x,b in zip(xx_eval,B)] )

p(-1.5)=2.25 p(-1.0)=1.00 p(-0.5)=0.25 p(0.0)=-0.00 p(0.5)=0.25 p(1.0)=1.00


,→ p(1.5)=2.25
Méthode directe. Si on écrit p 2 (x) = α0 + α1 x + α2 x 2 , on cherche α0 , α1 , α2 tels que

1 α0
    
1 −1 1
1 0 0 α1  = 0
1 1 1 α2 1

En résolvant ce système linéaire par la méthode du pivot de Gauss


     
1 −1 1 1 L2 ←L2 −L1 1 −1 1 1 1 −1 1 1
L3 ←L3 −L1 L3 ←L3 −2L2
 1 0 0 0  −−−−−−−→  0 1 −1 −1  −−−−−−−−→  0 1 −1 −1 
1 1 1 1 0 2 0 0 0 0 2 2

on trouve α0 = 0, α1 = 0 et α2 = 1 ainsi p 2 (x) = x 2 .


Méthode de Lagrange. On a
x(x − 1) (x − (−1))(x − 0) 1 1
p 2 (x) = y 0 L0 (x) + y 1 L1 (x) + y 2 L2 (x) = + = x(x − 1) + (x + 1)x = x 2
(−1 − 0)(−1 − 1) (1 − (−1))(1 − 0) 2 2

Méthode de Newton. On commence par construire le tableau des différences divisées :

i xi yi f [x i −1 , x i ] f [x i −2 , x i −1 , x i ]
0 −1 1
1 0 0 −1
2 1 1 1 1

On a alors
2
ωi (x) f [x 0 , . . . , x i ]
X
p 2 (x) =
i =0
= ω0 (x) f [x 0 ] + ω1 (x) f [x 0 , x 1 ] + ω2 (x) f [x 0 , x 1 , x 2 ]
= ω0 (x) − ω1 (x) + ω2 (x)
= 1 − (x + 1) + x(x + 1) = x 2 .

Méthode astucieuse. x = 0 est une racine du polynôme, il s’écrit alors comme p(x) = xR(x) avec R ∈ R1 [x], autrement
dit p(x) = x(ax + b). Comme p(−1) = p(1), le polynôme est pair, donc b = 0. Enfin, comme p(1) = 1, on conclut
que a = 1.
Spline linéaire. (
−x si − 1 ≤ x ≤ 0,
s 1 (x) =
x si 0 ≤ x ≤ 1.

E XEMPLE
1. On se propose de calculer le polynôme d’interpolation de la fonction f (x) = sin(x) en les 3 points x i = π2 i avec
i = 0, 1, 2. On cherche donc p 2 ∈ R2 [x] tel que p 2 (x i ) = sin(x i ) pour i = 0, . . . , 2. Calculer ensuite la spline linéaire
associée aux même points.
2. Maintenant on veut calculer le polynôme d’interpolation de la même fonction en les 4 points x i = π2 i avec
i = 0, 1, 2, 3, i.e. on a juste ajouté le point x = 3π/2. On cherche donc p 3 ∈ R3 [x] tel que p 3 (x i ) = sin(x i ) pour
i = 0, . . . , 3.
1. On commence par le cas où on interpole f en 3 points.

98 © 2024-2026 G. Faccanoni
Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 2. Interpolation

Méthode directe. Si on écrit p 2 (x) = α0 + α1 x + α2 x 2 , on cherche α0 , α1 , α2 tels que

1 0 0 α0
    
0
1 π π2  α1  = 1
2 4
1 π π2 α2 0

4
En résolvant ce système linéaire 2 on trouve α0 = 0, α1 = π et α2 = − π42 ainsi p 2 (x) = π4 x − π42 x 2 = 4
π2
x(π − x).
Méthode de Lagrange. On a
x(x − π) 4
p 2 (x) = y 0 L0 (x) + y 1 L1 (x) + y 2 L2 (x) = π π
¢ = − 2 x(x − π).
−π π
¡
2 2

Méthode de Newton. On commence par construire le tableau des différences divisées :

i xi yi f [x i −1 , x i ] f [x i −2 , x i −1 , x i ]
0 0 0
π 2
1 2 1 π

2 π 0 − π2 − π42

On a alors
2
ωi (x) f [x 0 , . . . , x i ]
X
p 2 (x) =
i =0
= ω0 (x) f [x 0 ] + ω1 (x) f [x 0 , x 1 ] + ω2 (x) f [x 0 , x 1 , x 2 ]
2 4
= ω1 (x) − 2 ω2 (x)
π π
2 4 ³ π´
= x− 2x x−
π π 2
4
= − 2 x(x − π).
π

Spline linéaire.
si 0 ≤ x ≤ π2 ,
(
2
s 1 (x) = πx
π
− π2 (x − π) si 2 ≤ x ≤ π.

2. Maintenant on veut calculer le polynôme d’interpolation de la même fonction en un point de plus.


Méthode directe. Si on écrit p 3 (x) = α0 + α1 x + α2 x 2 + α3 x 3 , on cherche α0 , α1 , α2 , α3 tels que
    
1 0 0 0 α0 0
π π2 π3    
1 α
8   1 =  1 
 
2 4 
2
1 π π π3  α2   0 

3π 9π2 27π3 α3 −1
1 2 4 8

16
En résolvant ce système linéaire on trouve α0 = 0, α1 = 3π , α2 = − π82 et α3 = 8
3π3
.
Méthode de Lagrange. On a

x(x − π) x − 3π x x − π2 (x − π)
¡ ¢ ¡ ¢
2
p 3 (x) = y 0 L0 (x) + y 1 L1 (x) + y 2 L2 (x) + y 3 L3 (x) = π ¡ π ¢ ¡ π 3π ¢ − 3π 3π π
¢ ¡ 3π
2 2 −π 2 − 2 2 −π
¡ ¢
2 2 −2
π´
µ ¶
4 3π 4 ³
= 3 x(x − π) x − − 3x x− (x − π).
π 2 3π 2
2. Par la méthode du pivot de Gauss on obtient

1 0 0 0
     
1 0 0 0 L2 ←L2 −L1 1 0 0 0
π π 2 L 3 ←L 3 −L 1 π π2  L3 ←L3 −2L2  π π2
−−−−−−−−→  0 1  −−−−−−−−−→  0 1
   
 1 2 4 1  2 4 2 4 
1 π π2 0 0 π π2 0 π2
0 0 2 −2

© 2024-2026 G. Faccanoni 99
Chapitre 2. Interpolation Dernière mise à jour : Mardi 30 septembre 2025

Méthode de Newton. Il suffit de calculer une différence divisée en plus, i.e. ajouter une ligne au tableau :

i xi yi f [x i −1 , x i ] f [x i −2 , x i −1 , x i ] f [x i −3 , x i −2 , x i −1 , x i ]
0 0 0
π 2
1 2 1 π

2 π 0 − π2 − π42

3 2 −1 − π2 0 8
3π3

On a alors
3
ωi (x) f [x 0 , . . . , x i ]
X
p 3 (x) =
i =0
= p 2 (x) + ω3 (x) f [x 0 , x 1 , x 2 , x 3 ]
4 8
= − 2 x(x − π) + 3 ω3 (x)
π 3π
4 8 ³ π´
= − 2 x(x − π) + 3 x x − (x − π)
π 3π 2
8
= 3 x(x 2 − 3πx + 2π2 ).

Spline linéaire.
si 0 ≤ x ≤ π2 ,
2
πx

s 1 (x) = − π (x − π) si π2 ≤ x ≤ π
2

 2
− π (x − π) si π ≤ x ≤ 3π2 .

Remarque
Si n est petit il est souvent plus simple de calculer directement les coefficients a 0 , a 1 , . . ., a n en résolvant le système
linéaire (2.2).

2.2. Généralisation : l’interpolation dans un espace vectoriel quelconque


Une généralisation de l’interpolation polynomiale consiste à chercher la fonction interpolant les © n + 1 points donnés
non pas dans Rn [x] mais dans un autre espace vectoriel V engendré par n + 1 fonctions libres ϕ j , j = 0, . . . , n . On
ª
jx
peut considérer par exemple © des ª fonctions trigonométriques ϕ j (x) = cos( j x), des fonctions exponentielles ϕ j (x) = e
etc. Le choix des fonctions ϕ j est en pratique dicté par la forme supposée de la loi décrivant les données.
ªn
On considère donc un ensemble de (n + 1) points (x i , y i ) i =0 et on cherche une fonction f (x) = nj=0 a j ϕ j (x) telle
© P

que f (x i ) = y i où a 0 , a 1 , a 2 , . . . , a n sont des coefficients qui devront être déterminés. Les (n + 1) relations s’écrivent alors

a 0 ϕ0 (x 0 ) + a 1 ϕ1 (x 0 ) + . . . a n ϕn (x 0 ) = y 0


a ϕ (x ) + a ϕ (x ) + . . . a ϕ (x ) = y

0 0 1 1 1 1 n n 1 1


 . . .
a 0 ϕ0 (x n ) + a 1 ϕ1 (x n ) + . . . a n ϕn (x n ) = y n

Puisque les valeurs x i et y i sont connues, ces relations forment un système linéaire de (n + 1) équations en les (n + 1)
inconnues a 0 , a 1 , a 2 , . . . , a n qu’on peut mettre sous la forme matricielle

ϕ0 (x 0 ) ϕ1 (x 0 ) ϕn (x 0 ) a 0
    
... y0
 ϕ (x ) ϕ1 (x 1 ) ... ϕn (x 1 )  a   y 
 0 1  1  1
 .  =  . . (2.3)
 . .. ..     
 .
 . . .   ..   .. 
ϕ0 (x n ) ϕ1 (x n ) ... ϕn (x n ) a n yn

Ainsi, le problème consistant à chercher la fonction f peut se réduire à résoudre le système linéaire (2.3).

100 © 2024-2026 G. Faccanoni


Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 2. Interpolation

Étant donné n + 1 points distincts x 0 , . . . , x n et


© n + 1 valeurs correspondantes y 0 , . . . , y n , il existe une unique
fonction f de l’espace vectoriel V de base ϕ0 (x), ϕ1 (x), . . . , ϕn (x) telle que f (x i ) = y i , pour i = 0, . . . n
ª

qu’on peut écrire sous la forme

ϕ0 (x 0 ) ϕ1 (x 0 ) . . . ϕn (x 0 ) a 0
    
y0
n  ϕ (x ) ϕ (x ) . . . ϕ (x )   a   y 
 0 1 1 1 n 1  1  1
a i ϕ j (x)
X
f (x) = avec   .. .. ..   .  =  . .
   
i =0  . . .   ..   .. 
ϕ0 (x n ) ϕ1 (x n ) . . . ϕn (x n ) a n yn

E XEMPLE
ª f (x) = x(x − 2π)e en les points { x 0 = 0, x 1 = π } dans
On se propose d’interpoler la fonction f : [0; 2π] → R ©définie par −x

l’espace vectoriel engendré par les 2 fonctions libres ϕ0 , ϕ1 définies par ϕ j (x) = cos( j x).
On cherche donc a 0 et a 1 tels que g (x) = a 0 + a 1 cos(x) vérifie g (0) = 0 et g (π) = −π2 e −π . On doit ainsi résoudre le
système linéaire de deux équations en les deux inconnues a 0 et a 1 suivant :
µ ¶µ ¶ µ ¶ µ ¶µ ¶ µ ¶
1 cos(0) a0 0 1 1 a0 0
= i.e. = .
1 cos(π) a1 −π2 e −π 1 −1 a1 −π2 e −π
2 e −π
On trouve a 0 = − π 2 = −a 1 et
π2 e −π
g (x) = (−1 + cos(x)).
2
Deux cas particuliers :
• si ϕ j (x) = x j on retrouve le cas du fitting polynomial,
• si ϕ j (x) = cos( j x) ou φ j (x) = sin( j x) on parle d’interpolation trigonométrique et il n’est pas nécessaire de calculer
les coefficients en résolvant le système linéaire (2.3), il existe une méthode plus rapide : FFT.

2.2.1. Cas particulier : l’interpolation Trigonométrique et FFT


On veut approcher une fonction périodique f : [0; 2π] → C, i.e. satisfaisant f (0) = f (2π), par un polynôme trigo-
nométrique f˜, i.e. une combinaison linéaire de sinus et de cosinus, qui interpole f aux n + 1 nœuds équidistants

x j = j h ∈ [0; 2π[ avec j = 0, . . . , n et h = n+1 . On remarque que le point 2π est omis car redondant avec le point x = 0
étant donné que f (0) = f (2π).
La fonction d’interpolation trigonométrique f˜ peut s’écrire comme

K
f˜(x) = a 0 +
X
a k cos(kx) + b k sin(kx)
k=1

dont les inconnues sont le coefficient complexes a 0 et les 2K coefficients a k et b k . On peut remarquer que f˜ s’apparente
à une série de F OURIER tronquée, i.e. au lieu de sommer jusqu’à l’infini on tronque la somme à l’entier K.
Rappels :
( i kx −i kx (
cos(kx) = e +e 2 , e i kx = cos(kx) + i sin(kx),
e i kx −e −i kx e i kx −e −i kx
et
sin(kx) = 2i = −i 2 , e −i kx = cos(kx) − i sin(kx).

Ainsi
K e i kx + e −i kx e i kx − e −i kx
f˜(x) = a 0 +
X
ak − i bk
k=1 2 2
K a −ib a k + i b k i (−k)x K
k k i kx
c k e i kx
X X
= a0 + e + e =
2
k=1 | {z } 2
| {z } k=−K
ck c −k

les inconnues sont maintenant les 2K + 1 coefficients c k ∈ C et l’on a les relations


 
c 0 = a 0 ,
 a 0 = c 0 ,

a −i b
ck = k 2 k , k = 1, . . . , K ⇐⇒ a k = c k + c −k , k = 1, . . . , K
a k +i b k
 
c −k = c k = 2 , k = 1, . . . , K b k = i (c k − c −k ), k = 1, . . . , K.
 

© 2024-2026 G. Faccanoni 101


Chapitre 2. Interpolation Dernière mise à jour : Mardi 30 septembre 2025

Une autre écriture souvent utilisée se base sur l’écriture exponentielle des coefficients c k : pour tout k, c k ∈ C peut
s’écrire comme c k = 21 r k e i ϕk ainsi c −k = c k = 12 r k e −i ϕk et on trouve

1 1 1 ³ ´
a k cos(kx)+b k sin(kx) = c k e i kx +c k e −i kx = r k e i ϕk e i kx + r k e −i ϕk e −i kx = r k e i (ϕk +kx) + e −i (ϕk +kx) = r k cos(kx+ϕk ).
2 2 2

Ainsi les inconnues sont maintenant le coefficient a 0 et les 2K couples “amplitude, phase” (r k , ϕk ) ∈ R :

K
f˜(x) = a 0 + r k cos(kx + ϕk )
X
k=1

En écrivant les n + 1 conditions d’interpolation aux nœuds x j on trouve

K
f (x j ) = f˜(x j ) = c k e i kx j .
X
k=−K

Quand n est pair, on pose K = n/2 ainsi nous avons n + 1 conditions d’interpolation et 2K + 1 = n + 1 inconnues ; quand
n est impair, on pose K = (n + 1)/2 ainsi nous avons n + 1 conditions d’interpolation et 2K + 1 = n + 2 inconnues, pour
fermer le système on ajoute alors la condition c K = 0. Pour uniformiser la notation dans ces deux cas, nous pouvons
écrire M = n/2 et (
M 0 si n est pair,
i kx
f˜(x) = µ=
X
ck e ,
k=−(M+µ) 1 si n est impair,

et les n + 1 conditions d’interpolation aux nœuds x j = j h donnent les n + 1 conditions

M
f (x j ) = f˜(x j ) = ck e i k j h .
X
k=−(M+µ)

© ªM
Pour calculer les n +1 inconnues c k k=−M−µ , on multiplie cette équation par e −i m j h où m = −M−µ, . . . M et on somme
sur j :
à !
n ³ ´ Xn M
−i m j h i (k−m) j h
X X
f (x j )e = ck e .
j =0 j =0 k=−(M+µ)

En échangeant l’ordre de sommation on obtient


à à !!
n ³ ´ M n
−i m j h i (k−m) j h
X X X
f (x j )e = ck e .
j =0 k=−(M+µ) j =0

Pn Pn 1−q n+1
On se rappelle que j =0
q j = (n + 1) si q = 1 et j =0
qj = 1−q si q ̸= 1, ainsi en prenant q = e i (k−m)h on a

n
(e i (k−m)h ) j = (n + 1)δkm
X
j =0

Pn
car j =0
(e i (k−m)h ) j = n + 1 si k = m et si k ̸= m alors

n 1 − (e i (k−m)h )n+1 1 − e i (k−m)(n+1)h 1 − e i (k−m)2π 1 − cos((k − m)2π) − i sin((k − m)2π)


(e i (k−m)h ) j =
X
= = = = 0.
j =0 1 − (e i (k−m)h ) 1 − (e i (k−m)h ) 1 − (e i (k−m)h ) 1 − (e i (k−m)h )

Donc
n ³ ´ M
f (x j )e −i m j h = (n + 1) δkm c k
X X
j =0 k=−(M+µ)

i.e. seul le terme k = m est à prendre en considération

n ³ ´
f (x j )e −i m j h = (n + 1)c m m = −M − µ, . . . M.
X
j =0

102 © 2024-2026 G. Faccanoni


Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 2. Interpolation

ªn
Soit (x j = j h, f (x j )) j =0 un ensemble de n + 1 points avec h = 2π/(n + 1) et f : [0; 2π] → C une fonction
©

périodique. Le polynôme trigonométrique d’interpolation f˜ est donné par


(
M (n/2, 0) si n est pair,
−i kx
f˜(x) = (M, µ) =
X
ck e ,
k=−(M+µ) ((n − 1)/2, 1) si n est impair,

et, pour k = −(M + µ) . . . M,


1 X n
ck = f (x j )e i kx j .
n + 1 j =0

De manière équivalente on peut écrire


(
M+µ
(n/2, 0) si n est pair,
f˜(x) = a 0 + (M, µ) =
X
a k cos(kx) + b k sin(kx),
k=1 ((n − 1)/2, 1) si n est impair,

avec 
1 Pn


 a 0 = n+1 j =0
f (x j )

a = 2 Pn f (x ) cos(kx ), k = 1, . . . M + µ,

k n+1 j =0 j j
2 Pn


b k = n+1 j =0 f (x j ) sin(kx j ), k = 1, . . . M + µ,

a
M+µ = i b M+µ si µ = 1.

1
R 2π −i kx
Il est intéressant de noter que l’expression de c k est une approximation de l’intégrale 2π 0 f (x)e dx par la
méthode desRrectangles à gauche composite. De la même manière, les coefficients a k et b k sont des approximations des
2π R 2π
intégrales π1 0 f (x) cos(kx) dx et π1 0 f (x) sin(kx) dx respectivement. Vu que ces intégrales définissent précisément
les coefficients de F OURIER, on déduit que nos sommes sont des approximations des coefficients de F OURIER et on
parle alors d’une transformation de F OURIER discrète. Le calcul des coefficients c k peut ainsi être effectué en utilisant la
transformation de Fourier rapide (FFT).
Notons que si f est une fonction à valeurs réelles, alors c −k = c k et donc f˜ aussi est une fonction à valeurs réelles.
E XEMPLE
Considérons la fonction f : [0; 2π] → R définie par f (x) = x(x − 2π)e −x . On a bien f (0) = f (2π).
˜
• On ª © f (x) lorsque
© se propose de calculer n= ª 1. On a x j = j h avec j = 0, 1 et h = π. On interpole alors les deux points
(0, f (0)), (π, f (π)) = (0, 0), (π, −π2 e −π ) .

Méthode directe On cherche a0 et a1 tels que f˜(x) = a0 + a1 cos(x) vérifie f˜(0) = 0 et f˜(π) = −π2 e −π :
µ ¶µ ¶ µ ¶ µ ¶µ ¶ µ ¶
1 cos(0) a0 0 1 1 a0 0
= 2 −π i.e. = 2 −π
1 cos(π) a1 −π e 1 −1 a1 −π e

2 e −π
ainsi a 0 = − π 2 = −a 1 et
π2 e −π
f˜(x) = (−1 + cos(x)).
2
Méthode “Fourier” n étant impair, M = (n − 1)/2 = 0 et µ = 1 et
0
f˜(x) = c k e i kx6 = c −1 e −i x + c 0
X
k=−1

On doit alors calculer les deux coefficients de F OURIER c −1 et c 0 :

1 X 1 1³ ´ 1³ ´ π2 e −π
c −1 = f (x j )e −i x j = f (x 0 )e −i x0 + f (x 1 )e −i x1 = −π2 e −π e −i π =
n + 1 j =0 2 2 2

1 X 1 1¡ ¢ 1¡ π2 e −π
f (x 0 ) + f (x 1 ) = −π2 e −π = −
¢
c0 = f (x j ) =
n + 1 j =0 2 2 2

ainsi
π2 e −π −i x
f˜(x) = (e − 1).
2

© 2024-2026 G. Faccanoni 103


Chapitre 2. Interpolation Dernière mise à jour : Mardi 30 septembre 2025

a 1 −i b 1 a1
Lien entre les deux solutions b1 = 0 (il n’y a pas de sin(x) dans la base choisie) donc c 0 = a0 , c 1 = 2 = 2 ,
a 1 −i b 1 a1 e i x +e −i x
c −1 = 2 = 2 et cos(x) = 2 ainsi on a bien

π2 e −π π2 e −π −i x
f˜(x) = (−1 + cos(x)) = (e − 1).
2 2

• On se propose de calculer f˜(x) lorsque n = 2. On a x j = j h avec j = 0, 1, 2 et h = 2π . On interpole alors les trois


ª n o3
2π 2π 4π 4π 2π 8π2 − 2π 4π 8π2
− 4π
©
points (0, f (0)), ( 3 , f ( 3 )), ( 3 , f ( 3 )) = (0, 0), ( 3 , − 9 e 3 ), ( 3 , − 9 e 3 ) .
n étant pair, M = n/2 = 1 et µ = 0 et

1
f˜(x) = c k e i kx = c −1 e −i x + c 0 + c 1 e i x
X
k=−1

On doit alors calculer les trois coefficients de F OURIER c −1 , c 0 et c 1 :

1 X 2 1³ ´ 1 µ 8π2 2π 8π2 −(i +1) 4π



c −1 = f (x j )e −i x j = f (x 0 )e −i x0 + f (x 1 )e −i x1 + f (x 2 )e −i x2 = − e −(i +1) 3 − e 3
n + 1 j =0 3 3 9 9
8π2 ³ −(i +1) 2π 4π
´ 8π2 −(i +1) 2π ³ 2π
´
=− e 3 + e −(i +1) 3 =− e 3 1 + e −(i +1) 3
27 27
2 8π2 − 2π 8π2 − 4π 8π2 − 2π ³
µ ¶
1 X 1¡ ¢ 1 2π
´
c0 = f (x j ) = f (x 0 ) + f (x 1 ) + f (x 2 ) = − e 3 − e 3 =− e 3 1 + e− 3
n + 1 j =0 3 3 9 9 27
2 8π2 (i −1) 2π 8π2 (i −1) 4π
µ ¶
1 X ixj 1³ i x0 i x1 i x2
´ 1
c1 = f (x j )e = f (x 0 )e + f (x 1 )e + f (x 2 )e = − e 3 − e 3
n + 1 j =0 3 3 9 9
8π2 ³ (i −1) 2π 4π
´ 8π2 (i −1) 2π ³ 2π
´
=− e 3 + e (i −1) 3 =− e 3 1 + e (i −1) 3
27 27
ainsi

8π2 −(i +1) 2π ³ 2π


´ 8π2 − 2π ³ 2π
´ 8π2 2π
³ 2π
´
f˜(x) = − e 3 1 + e −(i +1) 3 e −i x − e 3 1 + e− 3 − e (i −1) 3 1 + e (i −1) 3 e i x
27 27 27
8π2 − 2π h −i 2π ³ 2π
´ ³ 2π
´ 2π
³ 2π
´ i
=− e 3 e 3 1 + e −(i +1) 3 e −i x + 1 + e − 3 + e i 3 1 + e (i −1) 3 e i x
27
8π2 − 2π h −i ( 2π +x) ³ 2π
´ ³ 2π
´ 2π
³ 2π
´i
=− e 3 e 3 1 + e −(i +1) 3 + 1 + e − 3 + e i ( 3 + x) 1 + e (i −1) 3 .
27

TO DO : Passer à une fonction périodique sur un autre intervalle. Expliquer la transformation de Fourier, la transforma-
tion de Fourier discrète (= série ?) et l’algorithme de transformation de Fourier rapide (FFT) et les liens avec l’interpolation.
Passer à une fonction non périodique et/ou non continue. Illustrer la convergence uniforme en opposition à celle non uni-
forme de l’interpolation polynomiale.

104 © 2024-2026 G. Faccanoni


Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 2. Interpolation

2.3. Exercices
2.3.1. Révisions : espaces vectoriels et bases dans Rn [x]
Exercice 2.1
Démontrer que les ensembles suivants sont des sous-espaces vectoriels de R2 [x] :
1. F = a + bx + c x 2 ∈ R2 [x] ¯ a + b + 2c = 0 ,
© ¯ ª

2. F = p ∈ R2 [x] ¯ p(1) = 0 ,
© ¯ ª

3. F = p ∈ R2 [x] ¯ p ′ (1) = 0 .
© ¯ ª

Correction
On montre que F = Vect e1 , . . . , ep où e1 , . . . , ep sont des éléments de R2 [x].
© ª

1. F = a + bx + c x 2 ∈ R2 [x] ¯ a + b + 2c = 0 :
© ¯ ª

F = a + bx + c x 2 ∈ R2 [x] ¯ a + b + 2c = 0
© ¯ ª

= a + (−2c − a)x + c x 2 ¯ a, c ∈ R
© ¯ ª

= a(1 − x) + c(−2x + x 2 ) ¯ a, c ∈ R
© ¯ ª

= Vect 1 − x, −2x + x 2 .
© ª

(On peut également en déduire que {1 − x, −2x + x 2 } est une famille génératrice de F.)
2. F = p ∈ R2 [x] ¯ p(1) = 0
© ¯ ª

F = a + bx + c x 2 ∈ R2 [x] ¯ a + b + c = 0
© ¯ ª

= a + bx + (−a − b)x 2 ¯ a, c ∈ R
© ¯ ª

= a(1 − x 2 ) + b(x − x 2 ) ¯ a, b ∈ R
© ¯ ª

= Vect 1 − x 2 , x − x 2 .
© ª

(On peut également en déduire que 1 − x 2 , x − x 2 est une famille génératrice de F.)
© ª

3. F = p ∈ R2 [x] ¯ p ′ (1) = 0
© ¯ ª

F = a + bx + c x 2 ∈ R2 [x] ¯ b + 2c = 0
© ¯ ª

= a − 2c x + c x 2 ¯ a, c ∈ R
© ¯ ª

= a + c(−2x + x 2 ) ¯ a, c ∈ R
© ¯ ª

= Vect 1, −2x + x 2 .
© ª

(On peut également en déduire que 1, −2x + x 2 est une famille génératrice de F.)
© ª

Exercice 2.2
Prouver que les familles suivantes sont libres :
1. C = 1, t , t 2 ⊂ R2 [t ]
© ª

2. D = { 1, t , t (t − 1), t (t − 1)(t − 2) } ⊂ R3 [t ]

Correction
1. C’est la base canonique de R3 [t ] donc la famille est libre.
2. α + βt + γt (t − 1) + δt (t − 1)(t − 2) = 0 pour tout t ∈ R ssi α + (β − γ + 2δ)t + (γ − 3δ)t 2 + δt 3 = 0 pour tout t ∈ R ssi
α = β = γ = δ = 0 donc la famille est libre.

Exercice 2.3
Soient p 0 (x) = x + 1, p 1 (x) = x 2 + x et p 2 (x) = 2x 2 + 1 trois polynômes de R2 [x]. Démontrer que Vect p 0 , p 1 , p 2 =
© ª

R2 [x].

© 2024-2026 G. Faccanoni 105


Chapitre 2. Interpolation Dernière mise à jour : Mardi 30 septembre 2025

Correction
Méthode 1 : pour prouver l’égalité de deux ensembles A et B, on peut démontrer que A ⊂ B et que B ⊂ A. Pour
démontrer que A ⊂ B, on considère un élément quelconque de A et on démontre qu’il appartient à B.
• Comme p 0 , p 1 , p 2 ∈ R2 [x] qui est un espace vectoriel,© toute combinaison linéaire de ces trois polynômes est
encore un élément de R2 [x], par conséquent Vect p 0 , p 1 , p 2 ⊂ R2 [x].
ª

• R2 [x] ⊂ Vect p 0 , p 1 , p 2 ssi pour tout q ∈ R2 [x] il existe des réels λ0 , λ1 , λ2 tels que q = λ0 ·p 0 +λ1 ·p 1 +λ2 ·p 2 :
© ª

q(x) = a + bx + c x 2 ∈ Vect p 0 , p 1 , p 2
© ª

⇐⇒ ∃ (λ0 , λ1 , λ2 ) ∈ R3 tel que q = λ0 · p 0 + λ1 · p 1 + λ2 · p 2


⇐⇒ ∃ (λ0 , λ1 , λ2 ) ∈ R3 tel que a + bx + c x 2 = λ0 (x + 1) + λ1 (x 2 + x) + λ2 (2x 2 + 1)
⇐⇒ ∃ (λ0 , λ1 , λ2 ) ∈ R3 tel que a + bx + c x 2 = (λ0 + λ2 ) + (λ0 + λ1 )x + (λ1 + 2λ2 )x 2

λ0 + λ2 = a,


⇐⇒ ∃ (λ0 , λ1 , λ2 ) ∈ R3 tel que λ0 + λ1 = b,

λ1 + 2λ2 = c.

¯ ¯
¯1 0 1 ¯
Comme ¯¯1 1 0¯¯ = 3, le système est de Cramer et on peut conclure que R2 [x] ⊂ Vect p 0 , p 1 , p 2 . Après
¯ ¯ © ª
¯0 1 2 ¯
résolution du système linéaire on trouve q = bp 0 + (−a + b + c)p 1 + (a − b)p 2 .
© ª © ª
Méthode 2 : comme card( p 0 , p 1 , p 2 ) = 3 = dim(R2 [x]), il suffit de prouver que la famille p 0 , p 1 , p 2 est libre, i.e.
“λ0 · p 0 + λ1 · p 1 + λ2 · p 2 = 0 =⇒ λ0 = λ1 = λ2 = 0” :
λ0 · p 0 + λ 1 · p 1 + λ 2 · p 2 = 0
⇐⇒ λ0 (x + 1) + λ1 (x 2 + x) + λ2 (2x 2 + 1) = 0
⇐⇒ (λ0 + λ2 ) + (λ0 + λ1 )x + (λ1 + 2λ2 )x 2 = 0

λ0 + λ2 = 0,


⇐⇒ λ0 + λ1 = 0,

λ1 + 2λ2 = 0.

¯ ¯
¯1 0 1¯¯
0¯¯ = 3, le système admet l’unique solution nulle et on peut conclure que Vect p 0 , p 1 , p 2 = R2 [x].
¯ © ª
Comme ¯¯1 1
¯0 1 2¯

Exercice 2.4
Étudier si la famille
F = p 0 (x) = x 3 + x 2 , p 1 (x) = x 2 + x, p 2 (x) = x + 1, p 3 (x) = x 3 + 1
© ª

de l’espace vectoriel R3 [x] est libre. Si la famille est liée, trouver une relation entre les vecteurs de cette famille.

Correction
On dit qu’une famille F = u1 , . . . , up est libre lorsque
© ª

p
X
a i · ui = 0E =⇒ ai = 0 ∀ i .
i =1

Ici
n
a i · ui = 0E ⇐⇒ a 0 p 0 + a 1 p 1 + a 2 p 2 + a 3 p 3 = 0 ⇐⇒ (a 2 + a 3 ) + (a 1 + a 2 )x + (a 0 + a 1 )x 2 + (a 0 + a 3 )x 3 = 0
X
i =0
 

 a 2 + a 3 = 0, 
 a 0 = κ,

 

a + a = 0, a = −κ,
1 2 1
⇐⇒ ⇐⇒ pour tout κ ∈ R
a 0 + a 1 = 0,

 a 2 = κ,


 
a 0 + a 3 = 0, a 3 = −κ,
 

donc la famille est liée. De plus, en prenant par exemple κ = 1 on a p 3 = p 0 − p 1 + p 2 .

106 © 2024-2026 G. Faccanoni


Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 2. Interpolation

Exercice 2.5
Considérons l’ensemble
F = a + ax 2 + bx 4 ¯ a, b ∈ R .
© ¯ ª

1. Montrer que F est un sous-espace vectoriel de R4 [x].


2. Donner une base de F et sa dimension.

Correction
1. F est un sous-espace vectoriel de R4 [x] car

F = a + ax 2 + bx 4 ¯ (a, b) ∈ R2 = a(1 + x 2 ) + bx 4 ¯ (a, b) ∈ R2 = Vect 1 + x 2 , x 4 .


© ¯ ª © ¯ ª © ª

2. Les deux polynômes p(x) = 1 + x 2 et q(x) = x 4 constituent une famille


© ª génératrice de F. On vérifie aisément que
cette famille est libre donc elle est une base de F. Comme card( p, q ) = 2, alors dim(F) = 2.

Exercice 2.6
Considérons l’ensemble
F = p ∈ R3 [x] ¯ p(0) = p(1) = 0 .
© ¯ ª

1. Montrer que F est un sous-espace vectoriel de R3 [x].


2. Donner une base de F et sa dimension.

Correction
1. F est un sous-espace vectoriel de R3 [x] car
n ³ ´ ³ ´¯ o
F = { x(x − 1)(ax + b) | a, b ∈ R } = a x 2 (x − 1) + b x(x − 1) ¯ a, b ∈ R = Vect x 2 (x − 1), x(x − 1) .
¯ © ª

Si on n’a pas remarqué que 0 et 1 sont racines des polynômes de F, il suffit de remarquer que

F = p ∈ R3 [x] ¯ p(0) = p(1) = 0


© ¯ ª

= a + bx + c x 2 + d x 3 ∈ R3 [x] ¯ a = 0 et a + b + c + d = 0
© ¯ ª

= bx + c x 2 + (−b − c)x 3 ¯ b, c ∈ R
© ¯ ª

= b(x − x 3 ) + c(x 2 − x 3 ) ¯ b, c ∈ R
© ¯ ª

= Vect x − x 3 , x 2 − x 3 .
© ª

Par conséquent F est un sous-espace vectoriel de R3 [x].


2. Les deux polynômes p(x) =ªx − x 3 et q(x) = x 2 − x 3 constituent une famille génératrice de F. On montre que la
famille F = x − x , x − x 3 est une base de l’espace vectoriel F ; en effet
3 2
©

α(x − x 3 ) + β(x 2 − x 3 ) = 0 ∀x ∈ R ⇐⇒ αx + βx 2 + (−α − β)x 3 = 0 ∀x ∈ R ⇐⇒ α = β = 0.

Comme card(F ) = 2, alors dim(F) = 2.

Exercice 2.7
Soit R3 [t ] l’espace vectoriel des polynômes de degré au plus 3. Soit U = p ∈ R3 [t ] ¯ p(−1) = 0 . Montrer que U est
© ¯ ª

un sous-espace vectoriel de R3 [t ] et en donner une base.

Correction
On montre que U = Vect e1 , . . . , ep où e1 , . . . , ep sont des éléments de R3 [x]. En effet
© ª

U = a + bx + c x 2 + d x 3 ∈ R3 [x] ¯ a − b + c − d = 0
© ¯ ª

= a + bx + c x 2 + (a − b + c)x 3 ¯ a, b, c ∈ R
© ¯ ª

= a(1 + x 3 ) + b(x − x 3 ) + c(x 2 + x 3 ) ¯ a, b, c ∈ R


© ¯ ª

= Vect 1 + x 3 , x − x 3 , x 2 + x 3 .
© ª

Par conséquent U est un sous-espace vectoriel de R3 [x].


(On peut également en déduire que 1 + x 3 , x − x 3 , x 2 + x 3 est une famille génératrice de U)
© ª

© 2024-2026 G. Faccanoni 107


Chapitre 2. Interpolation Dernière mise à jour : Mardi 30 septembre 2025

Exercice 2.8
Démontrer que l’ensemble
F = p ∈ R3 [x] ¯ p(0) = p ′ (1) = 0
© ¯ ª

est un sous-espace vectoriel de R3 [x] et en donner une base.

Correction
On montre que F = Vect e1 , . . . , ep où e1 , . . . , ep sont des éléments de R3 [x]. En effet
© ª

F = p ∈ R3 [x] ¯ p(0) = p ′ (1) = 0


© ¯ ª

= a + bx + c x 2 + d x 3 ∈ R3 [x] ¯ a = 0 et b + 2c + 3d = 0
© ¯ ª
½ ¯ ¾
−b − 2c 3 ¯¯
= bx + c x 2 + x ¯ b, c ∈ R
3
= b(x − x /3) + c(x 2 − 2x 3 /3) ¯ b, c ∈ R
3
© ¯ ª
½ ¾
1 2
= Vect x − x 3 , x 2 − x 3 .
3 3
Par conséquent F est un sous-espace vectoriel de Rª3 [x].
On montre que la famille F = x − 31 x 3 , x 2 − 32 x 3 est une base de l’espace vectoriel F ; en effet
©

α(x − x 3 /3) + β(x 2 − 2x 3 /3) = 0 ∀x ∈ R ⇐⇒ αx + βx 2 + (−α − 2β)x 3 /3 = 0 ∀x ∈ R ⇐⇒ α = β = 0.

Exercice 2.9
Trouver une base de l’espace engendré par les polynômes dans les deux familles suivantes
1. W = 1 + 2x + 3x 2 , x + 2x 2 , 1 + 2x + 4x 2 , 1 + x
© ª

2. W = 2 + 2x 2 , 2 + x − x 2 , 3 + x + x 2 , 3 + x + 3x 2
© ª

Correction
1. Notons

w 1 (x) = 1 + 2x + 3x 2 , w 2 (x) = x + 2x 2 , w 3 (x) = 1 + 2x + 4x 2 , w 4 (x) = 1 + x.


W est une famille non libre si et seulement si
∃(a, b, c, d ) ̸= (0, 0, 0, 0) | aw 1 (x) + bw 2 (x) + c w 3 (x) + d w 4 (x) = 0 ⇐⇒
∃(a, b, c, d ) ̸= (0, 0, 0, 0) | (a + c + d ) + (2a + b + 2c + d )x + (3a + 2b + 4c)x 2 = 0 ⇐⇒
  
 a +c+d =0, a +c +d =0, a +c+d =0,
2a +b+2c+d =0, ⇐⇒ b −d =0, ⇐⇒ b −d =0, ⇐⇒
3a+2b+4c =0 2b+c−3d =0 c−d =0
  

(a, b, c, d ) = (−2κ, κ, κ, κ), κ ∈ R.


Autrement dit w 4 = 2w 1 − w 2 − w 3 . On a alors
Vect { w 1 , w 2 , w 3 , w 4 } = Vect { w 1 , w 2 , w 3 } .
Vérifions si la famille { w 1 , w 2 , w 3 } est libre : on dit qu’une famille F = u1 , . . . , up est libre lorsque
© ª

p
X
a i · ui = 0E =⇒ ai = 0 ∀ i .
i =1

Ici
n
X
a i · ui = 0E ⇐⇒ aw 1 + bw 2 + c w 3 = 0
i =0
⇐⇒ (a + c) + (2a + b + 2c)x + (3a + 2b + 4c)x 2 = 0

 a +c=0,
⇐⇒ 2a +b+2c=0, ⇐⇒ a = b = c = 0
3a+2b+4c=0

donc la famille est libre. Par conséquent { w 1 , w 2 , w 3 } est une base de l’espace Vect(W).

108 © 2024-2026 G. Faccanoni


Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 2. Interpolation

2. Notons

w 1 (x) = 2 + 2x 2 , w 2 (x) = 2 + x − x 2 , w 3 (x) = 3 + x + x 2 , w 4 (x) = 3 + x + 3x 2 .

W est une famille non libre si et seulement si

∃(a, b, c, d ) ̸= (0, 0, 0, 0) | aw 1 (x) + bw 2 (x) + c w 3 (x) + d w 4 (x) = 0 ⇐⇒


∃(a, b, c, d ) ̸= (0, 0, 0, 0) | (2a + 2b + 3c + 3d ) + (b + c + d )x + (2a − b + c + 3d )x 2 = 0 ⇐⇒
  
2a+2b+3c+3d =0, 2a+2b+3c+3d =0, 2a+2b+3c+3d =0,
b +c +d =0, ⇐⇒ b +c +d =0, ⇐⇒ b +c +d =0, ⇐⇒
2a −b +c+3d =0, b+4c+6d =0, 3c+5d =0,
  

(a, b, c, d ) = (κ, 2κ, −5κ, 3κ), κ ∈ R.

Autrement dit 3w 4 = −w 1 − 2w 2 + 5w 3 . On a alors

Vect { w 1 , w 2 , w 3 , w 4 } = Vect { w 1 , w 2 , w 3 } .

Vérifions si la famille { w 1 , w 2 , w 3 } est libre : on dit qu’une famille F = u1 , . . . , up est libre lorsque
© ª

p
X
a i · ui = 0E =⇒ ai = 0 ∀ i .
i =1

Ici
n
X
a i · ui = 0E ⇐⇒ aw 1 + bw 2 + c w 3 = 0
i =0
⇐⇒ (2a + 2b + 3c) + (b + c)x + (2a − b + c)x 2 = 0

2a+2b+3c=0,
⇐⇒ b +c=0, ⇐⇒ a = b = c = 0
b+4c=0,

donc la famille est libre. Par conséquent { w 1 , w 2 , w 3 } est une base de l’espace Vect(W).

Exercice 2.10
Soit

q 0 (x) = 1 + x + x 2 + x 3 ,
q 1 (x) = x + x 2 + x 3 ,
q 2 (x) = x 2 + x 3 ,
q 3 (x) = x 3 ,

quatre polynômes de R3 [x].


1. Démontrer que l’ensemble q 0 , q 1 , q 2 , q 3 est une base de R3 [x] qu’on notera B.
© ª

2. Notons C = { c 0 , c 1 , c 2 , c 3 } la base canonique de R3 [x]. Calculer coord(c i , B) et coord(q i , C ).


3. Exprimer le polynôme a + bx + c x 2 + d x 3 dans la base B.

Correction
© base deª R3 [x] il faut montrer qu’il s’agit d’une famille libre et
© ª
1. Pour montrer que l’ensemble q 0 , q 1 , q 2 , q 3 est une
génératrice de R3 [x]. On dit qu’une famille F = u1 , . . . , up est libre lorsque

p
X
a i · ui = 0E =⇒ a i = 0 ∀ i = 1, . . . , p.
i =1

© 2024-2026 G. Faccanoni 109


Chapitre 2. Interpolation Dernière mise à jour : Mardi 30 septembre 2025

Ici
n
X
a i · ui = 0E ⇐⇒ a 0 q 0 + a 1 q 1 + a 2 q 2 + a 3 q 3 = 0
i =0


 a 0 = 0,


a = 0,
1
⇐⇒ a 0 + (a 0 + a 1 )x + (a 0 + a 1 + a 2 )x 2 + (a 0 + a 1 + a 2 + a 3 )x 3 = 0 ⇐⇒
a 2 = 0,



a 3 = 0,

donc la famille est libre. Comme card(Vect q 0 , q 1 , q 2 , q 3 ) = 4 et dim(R4 [x]) = 4, alors B = q 0 , q 1 , q 2 , q 3 est une
© ª © ª

base de R3 [x].
2. Soit C = c 0 (x) = 1, c 1 (x) = x, c 2 (x) = x 2 , x 3 (x) = x 3 la base canonique de R3 [x]. Calculons les coordonnées de q j
© ª

dans la base C :

q 0 (x) = 1 · c 0 (x) + 1 · c 1 (x) + 1 · c 2 (x) + 1 · c 3 (x) =⇒ coord(q 0 , C ) = (1, 1, 1, 1)


q 1 (x) = 0 · c 0 (x) + 1 · c 1 (x) + 1 · c 2 (x) + 1 · c 3 (x) =⇒ coord(q 1 , C ) = (0, 1, 1, 1)
q 2 (x) = 0 · c 0 (x) + 0 · c 1 (x) + 1 · c 2 (x) + 1 · c 3 (x) =⇒ coord(q 2 , C ) = (0, 0, 1, 1)
q 3 (x) = 0 · c 0 (x) + 0 · c 1 (x) + 0 · c 2 (x) + 1 · c 3 (x) =⇒ coord(q 3 , C ) = (0, 0, 0, 1)

En résolvant le système linéaire (ici c’est très facile car il s’agit d’un système triangulaire), on obtient
 
q 0


= c0 + c1 + c2 + c3 , c 0


= q0 − q1 ,

q 
1 = c1 + c2 + c3 , c
1 = q1 − q2 ,
⇐⇒


 q 2 = c2 + c3 , 

c 2 = q2 − q3 ,
 
q3 = c3 , c3 = q3 ,
 

Cela signifie que

c 0 (x) = 1 · q 0 (x) − 1 · q 1 (x) + 0 · q 2 (x) + 0 · q 3 (x) i.e. coord(c 0 , B) = (1, −1, 0, 0),
c 1 (x) = 0 · q 0 (x) + 1 · q 1 (x) − 1 · q 2 (x) + 0 · q 3 (x) i.e. coord(c 1 , B) = (0, 1, −1, 0),
c 2 (x) = 0 · q 0 (x) + 0 · q 1 (x) + 1 · q 2 (x) − 1 · q 3 (x) i.e. coord(c 2 , B) = (0, 0, 1, −1),
c 3 (x) = 0 · q 0 (x) + 0 · q 1 (x) + 0 · q 2 (x) + 1 · q 3 (x) i.e. coord(c 3 , B) = (0, 0, 0, 1).

3. Soit le polynôme p(x) = a + bx + c x 2 + d x 3 ; dans la base C il a coordonnées (a, b, c, d ), donc

p(x) = ac 0 + bc 1 + cc 2 + d c 3 = a(q 0 − q 1 ) + b(q 1 − q 2 ) + c(q 2 − q 3 ) + d (q 3 ) = aq 0 + (b − a)q 1 + (c − b)q 2 + (d − c)q 3 .

Par conséquent, dans la base B le polynôme p(x) = a + bx + c x 2 + d x 3 a coordonnées

coord(p, B) = (a, b − a, c − b, d − c).

Exercice 2.11
Soit R3 [t ] l’espace des polynômes de degré au plus 3 et considérons l’ensemble

V = p ∈ R3 [t ] ¯ p(0) + p(2) = 0, p(1) = 3p(−1) .


© ¯ ª

1. Montrer que V est un sous-espace vectoriel de R3 [t ].


2. Déterminer une base et la dimension de V.
3. Montrer que le polynôme p(t ) = 2 + 2t − t 3 est dans V et trouver les composantes de p dans la base de V
calculée auparavant.

110 © 2024-2026 G. Faccanoni


Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 2. Interpolation

Correction
1. On montre que V = Vect e1 , . . . , ep où e1 , . . . , ep sont des éléments de R3 [t ]. En effet
© ª

V = p ∈ R3 [t ] ¯ p(0) + p(2) = 0, p(1) = 3p(−1)


© ¯ ª

= a + bt + c t 2 + d t 3 ∈ R3 [t ] ¯ 2a + 2b + 4c + 8d = 0 et a + b + c + d = 3a − 3b + 3c − 3d
© ¯ ª
½µ ¶ µ ¶ ¯ ¾
5 1
= − c − 2d + − c − 2d t + c t 2 + d t 3 ¯¯ c, d ∈ R
¯
3 3
½µ ¶ ¯ ¾
5 1
= − − t + t c + −2 − 2t + t 3 d ¯¯ c, d ∈ R
2
¡ ¢ ¯
3 3
½ ¾
5 1
= Vect q 1 (t ) = − − t + t 2 ; q 2 (t ) = −2 − 2t + t 3 .
3 3

Par conséquent V est un sous-espace vectoriel de R3 [t ].


2. La famille V = q 1 , q 2 est génératrice de l’espace vectoriel V. De plus,
© ª

αq 1 + βq 2 = 0R3 [t ] ⇐⇒ αq 1 (t ) + βq 2 (t ) = 0 ∀t ∈ R ⇐⇒ α=β=0

donc elle est aussi libre donc elle est une base de V et dim(V) = 2.
3. Si p(t ) = 2 + 2t − t 3 on a p(0) + p(2) = 2 + 2 + 4 − 8 = 0 et p(1) − 3p(−1) = 2 + 2 − 1 − 3 2 − 2 + 1 = 0 donc p ∈ V
¡ ¢ ¡ ¢ ¡ ¢ ¡ ¢

et coord(p, V ) = (0, −1).

2.3.2. Interpolation polynomiale


Exercice 2.12 (Interpolation avec Numpy (calcul approché))
Les fonctions polyfit et polyval du module numpy permettent de calculer les coefficients du polynôme d’inter-
polation d’un ensemble de points et de l’évaluer sur un (autre) ensemble de points.
Les utiliser pour interpoler l’ensemble de points { (−2, 4), (0, 0), (1, 1) }. Évaluer le polynome ainsi obtenu en −1,
en 0 et en 2.

Correction
Le seul polynôme de degré au plus 2 qui interpole l’ensemble de points { (−2, 4), (0, 0), (1, 1) } est la parabole d’équation
p(x) = x 2 et lorsqu’on évalue p en −1, en 0 et en 2 on trouve respectivement 1, 0 et 4. Voici comment faire avec
numpy :

from numpy import polyfit, polyval

# Calcul des coefficients du polynôme d'interpolation


xx = [-2, 0, 1]
yy = [4, 0, 1]
alpha = polyfit(x=xx, y=yy, deg=len(xx)-1)

# Évaluation du polynôme d'interpolation


x_vals = [-1, 0, 2]
y_vals = polyval(alpha, x_vals)
print(y_vals)

[1.00000000e+00 6.29173796e-16 4.00000000e+00]

Exercice 2.13 (Interpolation avec SymPy (calcul formel))


La fonction interpolate du module sympy permet de calculer le polynôme d’interpolation d’un ensemble de
points et de l’évaluer sur un (autre) ensemble de points.
Utilisez-la pour interpoler l’ensemble de points { (−2, 4), (0, 0), (1, 1) }. Évaluez le polynôme ainsi obtenu en −1,

© 2024-2026 G. Faccanoni 111


Chapitre 2. Interpolation Dernière mise à jour : Mardi 30 septembre 2025

en 0 et en 2.

Correction
Le seul polynôme de degré au plus 2 qui interpole l’ensemble de points { (−2, 4), (0, 0), (1, 1) } est la parabole d’équation
p(x) = x 2 . Lorsqu’on évalue p en −1, en 0 et en 2, on trouve respectivement 1, 0 et 4. Voici comment faire avec
SymPy :

from sympy import symbols, interpolate


x = symbols('x')

# Polynôme d'interpolation
points = [(-2, 4), (0, 0), (1, 1)]
polynome = interpolate(points, x)
print(polynome)

# Évaluation du polynôme aux points souhaités


x_vals = [-1, 0, 2]
y_vals = [[Link]({x:val}) for val in x_vals]
print(y_vals)

x**2
[1, 0, 4]

Exercice 2.14
Construire le polynôme P qui interpole les points (0, 2), (1, 1), (2, 2) et (3, 3).

Correction
On cherche un polynôme de degré au plus 3 tel que P(0) = 2, P(1) = 1, P(2) = 2 et P(3) = 3. Construire P signifie trouver
ses coordonnées dans une base de R3 [x]. On considère des méthodes qui sont basées sur des choix différents de bases
de R3 [x] :
• Avec sympy

import sympy as sp
x = [Link]('x')

points = [(0, 2), (1, 1), (2, 2), (3, 3)]


xx_p, yy_p = zip(*points)
n = len(points)-1

# Base canonique
polynomial = [Link](points, x)
print("Polynome dans la base canonique : $", [Link](polynomial),
,→ r"$\\")

# Base de Lagrange
p = [Link].interpolating_poly(n+1, x, X=xx_p, Y=yy_p)
print("Polynome dans la base de Lagrange : $", [Link](p), r"$\\")

# Base de Newton
def divided_diff(xx, yy):
n = len(yy)
if n == 1:

112 © 2024-2026 G. Faccanoni


Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 2. Interpolation

return yy[0]
else:
return (divided_diff(xx[1:], yy[1:]) - divided_diff(xx[:-1],
,→ yy[:-1])) / sp.S(xx[-1] - xx[0])

def newton_interpolation(x, xx, yy):


n = len(xx)
p = 0
for i in range(n):
p += divided_diff(xx[:i+1], yy[:i+1]) * [Link]([x - xx[j] for j
,→ in range(i)])
return p

p = newton_interpolation(x, xx_p, yy_p)


print("Polynôme de Newton : $", [Link](p), "$")

3
Polynome dans la base canonique : − x3 + 2x 2 − 8x3 +2
x(x−3)(x−2)
Polynome dans la base de Lagrange : 2 − x (x − 3) (x − 1) + x(x−2)(x−1)
2 − (x−3)(x−2)(x−1)
3
x(x−2)(x−1)
Polynôme de Newton : − 3 + x (x − 1) − x + 2
• Avec numpy

from numpy import polyfit

# Définir les points


points = [(0, 2), (1, 1), (2, 2), (3, 3)]
xx, yy = zip(*points) # Séparer les x et y

# Calculer les coefficients du polynôme d'interpolation


coeffs = polyfit(xx, yy, deg=len(points)-1)
print(coeffs)

[-0.33333333 2. -2.66666667 2. ]
• Méthode astucieuse
On remarque due les points (1, 1), (2, 2) et (3, 3) sont alignés, ainsi le polynôme Q(x) = x de R2 [x] interpole ces
points.
Introduisons le polynôme D(x) = P(x) − Q(x) de R3 [x]. Par construction, ce polynôme s’annule en x = 1, x = 2 et
x = 3, donc D(x) = λ(x − 1)(x − 2)(x − 3). De plus, D(0) = P(0) − Q(0) = 2 mais aussi D(0) = −6λ donc λ = −1/3 et on
conclut que
1
P(x) = D(x) + Q(x) = − (x − 1)(x − 2)(x − 3) + x.
3

• Méthode directe (naïve)


On considère C = 1, x, x 2 , x 3 la base canonique de R3 [x] et on cherche (a 0 , a 1 , a 2 , a 3 ) = coord(P, C ), i.e. a 0 , a 1 , a 2 , a 3
© ª
P3
tels que P(x) = i =0 a i x i .
Il s’agit de trouver les 4 coefficients a 0 , a 1 , a 2 et a 3 solution du système linéaire
 

 P(0) = 2 
 a 0 + a 1 · 0 + a 2 · 02 + a 3 · 03 = 2 
1 0 0 0 a0
   
2
 

P(1) = 1  a + a · 1 + a · 12 + a · 13 = 1

1 a 1  1
0 1 2 3 1 1 1
⇐⇒ 2 3
⇐⇒    =  

 P(2) = 2 
 a 0 + a 1 · 2 + a 2 · 2 + a 3 ·2 = 2
1 2 4 8  a 2  2
 


P(3) = 3


a 0 + a 1 · 3 + a 2 · 3 + a 3 · 33 = 3
2 1 3 9 27 a3 3

On peut utiliser la méthode de G AUSS -J ORDAN :

© 2024-2026 G. Faccanoni 113


Chapitre 2. Interpolation Dernière mise à jour : Mardi 30 septembre 2025

 L ←L −L   L ←L −0L 
1 0 0 0 2 1 0 0 0 2 1 0 0 0 2
 
2 2 1 1 1 2
L3 ←L3 −L1 L3 ←L3 −2L2
 1 1 1 1 1  L4 ←L4 −L1 
 0 1 1 1 −1  L4 ←L4 −3L2 
 0 1 1 1 −1 

 1 −−−−−−−→  −−−−−−−−→  
2 4 8 2   0 2 4 8 0   0 0 2 6 2 
1 3 9 27 3 0 3 9 27 1 0 0 6 24 4
L1 ←L1 −0L3
 L ←L −0L 
1 0 0 0 2 1 0 0 0 2
 
1 1 4
L2 ←L2 −L3 /2 L2 ←L2 +L4 /3
 0
L4 ←L4 −3L3 1 0 −2 −2  L3 ←L3 −L4 
 0 1 0 0 −8/3 
−−−−−−−−−→ 
 0 −−−−−−−−−→  
0 2 6 2   0 0 2 0 4 
0 0 0 6 −2 0 0 0 6 −2

donc a 3 = − 31 , a 2 = 2, a 1 = − 38 et a 0 = 2 et on trouve P(x) = 2 − 38 x + 2x 2 − 13 x 3 .


Remarque : dans ce cas particulier, le système s’écrit


 a0 = 2

 a + a · 1 + a · 1 2 + a · 13 = 1

0 1 2 3
 a 0 + a 1 · 2 + a 2 · 2 2 + a 3 · 23 = 2


a 0 + a 1 · 3 + a 2 · 3 2 + a 3 · 33 = 3

ainsi on peut déjà poser a 0 = 2 et résoudre le système linéaire réduit suivant :

2 3

a 1 · 1 + a 2 · 1 + a 3 · 1 = −1

a 1 · 2 + a 2 · 22 + a 3 · 23 = 0

a 1 · 3 + a 2 · 32 + a 3 · 33 = 1

On peut utiliser la méthode de G AUSS -J ORDAN :


       
1 1 1 −1 L2 ←L2 −2L1 1 1 1 −1 L1 ←L1 −L2 1 0 −2 −2 L1 ←L1 +2L3 1 0 0 −8/3
L3 ←L3 −3L1 L3 ←L3 −6L2 L2 ←L2 −3L3
 2 4 8 0  −−−−−−−−→  0 2 6 2  −−−−−−−−→  0 1 3 1  −−−−−−−−→  0 1 0 2 
L2 ←L2 /2 L3 ←L3 /6
3 9 27 1 0 6 24 4 0 0 6 −2 0 0 1 −1/3

donc a 3 = − 13 , a 2 = 2, a 1 = − 38 et a 0 = 2 et on trouve P(x) = 2 − 38 x + 2x 2 − 13 x 3 .


• Méthode de Lagrange
On considère L = { L0 , L1 , L2 , L3 } une base de R3 [x] telle que coord(P, L ) = (y 0 , y 1 , y 2 , y 3 ), i.e. P(x) = 3i =0 y i Li (x).
P

On a
n x −x
Y j
Li (x) =
j =0 x i − x j
j ̸=i

donc

y
(x − x 1 )(x − x 2 )(x − x 3 ) (x − x 0 )(x − x 2 )(x − x 3 ) 3
P(x) = y 0 + y1 P(x)
(x 0 − x 1 )(x 0 − x 2 )(x 0 − x 3 ) (x 1 − x 0 )(x 1 − x 2 )(x 1 − x 3 )
(x − x 0 )(x − x 1 )(x − x 3 ) (x − x 0 )(x − x 1 )(x − x 2 )
+ y2 + y3 =
(x 2 − x 0 )(x 2 − x 1 )(x 2 − x 3 ) (x 3 − x 0 )(x 3 − x 1 )(x 3 − x 2 ) 2
(x − 1)(x − 2)(x − 3) (x − 0)(x − 2)(x − 3)
=2 +
(0 − 1)(0 − 2)(0 − 3) (1 − 0)(1 − 2)(1 − 3)
(x − 0)(x − 1)(x − 3) (x − 0)(x − 1)(x − 2) 1
+2 +3 =
(2 − 0)(2 − 1)(2 − 3) (3 − 0)(3 − 1)(3 − 2)
(x − 1)(x − 2)(x − 3) x(x − 2)(x − 3)
= + 0 1 2 3 x
−3 2
x(x − 1)(x − 2) 1 8
− x(x − 1)(x − 3) + = − x 3 + 2x 2 − x + 2.
2 3 3

• Méthode de Newton
On considère N = { ω0 , ω1 , ω2 , ω3 } une base de R3 [x] telle que coord(P, N ) = (y 0 , f [x 0 , x 1 ], f [x 0 , x 1 , x 2 ], f [x 0 , x 1 , x 2 , x 3 ]),
i.e. P(x) = 3i =0 f [x 0 , . . . , x i ]ωi (x).
P

114 © 2024-2026 G. Faccanoni


Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 2. Interpolation

La base de Newton est définie récursivement comme suit :

ω0 (x) = 1; pour k = 1, . . . , n ωk (x) = ωk−1 (x)(x − x k−1 ).

Les coordonnées sont les valeurs encadrées dans le tableau des différences divisées ci-dessous :
i xi yi f [x i −1 , x i ] f [x i −2 , x i −1 , x i ] f [x i −3 , x i −2 , x i −1 , x i ]
0 0 2
1 1 1 −1
2 2 2 1 1
3 3 3 1 0 − 31

On a alors
3
X
P3 (x) = f [x 0 , . . . , x i ]ωi (x)
i =1
= y 0 ω0 (x) + f [x 0 , x 1 ]ω1 (x) + f [x 0 , x 1 , x 2 ]ω2 (x) + f [x 0 , x 1 , x 2 , x 3 ]ω3 (x)
1
= 2ω0 (x) − ω1 (x) + ω2 (x) − ω3 (x)
3
1
= 2 − x + x(x − 1) − x(x − 1)(x − 2)
3
1 3 2 8
= − x + 2x − x + 2.
3 3

Remarque : on réordonne les points comme suit : (1, 1), (2, 2), (3, 3) et (0, 2).

i xi yi f [x i −1 , x i ] f [x i −2 , x i −1 , x i ] f [x i −3 , x i −2 , x i −1 , x i ]
0 1 1
1 2 2 1
2 3 3 1 0
3 0 2 − 31 − 13 − 31

On a alors
3
X
P3 (x) = f [x 0 , . . . , x i ]ωi (x)
i =1
= y 0 ω0 (x) + f [x 0 , x 1 ]ω1 (x) + f [x 0 , x 1 , x 2 ]ω2 (x) + f [x 0 , x 1 , x 2 , x 3 ]ω3 (x)
1
= ω0 (x) + ω1 (x) − ω3 (x)
3
1
= 1 + (x − 1) − (x − 1)(x − 2)(x − 3)
3
1
= x − (x − 1)(x − 2)(x − 3).
3
On remarque que les points (1, 1), (2, 2) et (3, 3) sont alignés, ainsi le polynôme Q(x) = x de R2 [x] interpole ces
points.

Partage d’un message secret : comment envoyer un message secret avec plusieurs espions sans pour autant que
ceux-ci ne connaissent le contenu du message envoyé ?
Imaginons que l’on désire envoyer un message secret. Par codage, on peut remplacer ce message par un nombre,
appelons-le n.
Considérons un polynôme P(X) = a k X k + · · · + a 1 X + n de degré k dont le terme indépendant vaut exactement n,
autrement dit P(0) = n. Un corollaire du théorème fondamental de l’algèbre stipule que le polynôme P est complètement
caractérisé par les valeurs qu’il prend en k + 1 points, par exemple en X = 1, 2, . . . , k + 1.
On engage alors au moins k + 1 espions (mieux en engager un peu plus au cas où certains seraient capturés par les
«ennemis»). On donne au i -ème espion le nombre P(i ). Les espions se dispersent (par exemple, pour passer les lignes
ennemies). Une fois qu’au moins k + 1 espions sont arrivés à destination, il est aisé de reconstituer le polynôme et ainsi

© 2024-2026 G. Faccanoni 115


Chapitre 2. Interpolation Dernière mise à jour : Mardi 30 septembre 2025

retrouver la valeur secrète n (on a un système d’au moins k + 1 équations linéaires pour retrouver les k + 1 coefficients de
P).
Si un espion est capturé et qu’il parle, les ennemis auront à leur disposition un des P(i ) mais cela ne leur permet
nullement de retrouver n.
De même, si un espion étaient en fait un agent double, connaître P(i ) seul ne sert à rien.
Source : [Link]

Exercice 2.15
Calculer le message secret n si k = 2 et on envoie 4 espions avec les messages suivants :

Espion 1 2 3 4
Message 45 50 57 66

Correction
On doit interpoler l’ensemble { (1, 45), (2, 50), (3, 57), (4, 66) } constitué de 4 points. Cependant on nous dit de chercher
un polynôme de degré au plus 2 (et non pas 3 comme on pourrait s’y attendre). Cela signifie qu’ils ont envoyé un espion
de plus en cas de “perte”. Donc, pour nos calculs, on utilisera seulement 3 points parmi les 4 données et on vérifiera à
posteriori que le polynôme obtenu interpole aussi le point négligé.
On choisit par exemple d’interpoler l’ensemble { (1, 45), (2, 50), (3, 57) } : on cherche un polynôme de degré au plus 2 tel
que P(1) = 45, P(2) = 50, P(3) = 57 et P(4) = 66. Construire P signifie trouver ses coordonnées dans une base de R2 [x]. On
considère trois méthodes qui sont basées sur trois choix différents de bases de R2 [x] :
• Méthode directe (naïve)
On considère C = 1, x, x 2 la base canonique de R2 [x] et on cherche (a, b, c) = coord(P, C ), i.e. a, b, c tels que
© ª

P(x) = a + bx + c x 2 . (le message secret est P(0) = a).


Il s’agit de trouver les 3 coefficients a, b, c solution du système linéaire
 

P(1) = 45, 
 a + b + c = 45
 

P(2) = 50, a + 2b + 22 c = 50

i.e.
P(3) = 57,

 a + 3b + 32 c = 57


a + 4b + 42 c = 66
 
P(4) = 66
 

Puisqu’on a envoyé un espion de trop, on a 4 équations et 3 inconnues : le système est sur-déterminé.


Négligeons pour le moment la dernière équation et résolvons avec Gauss
  
a +b +c = 45 L2 ←L2 −L1 a+b +c = 45 a+b+c = 45 c =1
L3 ←L3 −L1 L3 ←L3 −2L2
a+2b+4c = 50 −−−−−−−→ b +3c = 5 −−−−−−−−→ b+3c = 5 =⇒ b = 5 − 3c = 2
a+3b+9c = 57 Étape j =1 2b+8c = 12 Étape j =2 2c = 2 a = 45 − b − c = 42
  

Vérifions si la dernière équation est bien satisfaite :

42 + 2 × 4 + 1 × 42 = 66.

Le polynôme recherché est ainsi P(x) = 42 + 2x + x 2 et le message secret est donc P(0) = a = 42.
• Méthode de Lagrange Puisqu’on a envoyé un espion de trop, négligeons pour l’instant le point (4, 66). On construit
la base de Lagrange de R2 [x] telle que (45, 50, 57) = coord(P, L ), i.e. 45, 50, 57 tels que P(x) = 45L0 (x) + 50L1 (x) +
57L2 (x). On a

P(x) = y 0 L0 (x) + y 1 L1 (x) + y 2 L2 (x)


(x − 2)(x − 3) (x − 1)(x − 3) (x − 1)(x − 2)
= 45 + 50 + 57
(1 − 2)(1 − 3) (2 − 1)(2 − 3) (3 − 1)(3 − 2)
45 57
= (x − 2)(x − 3) − 50(x − 1)(x − 3) + (x − 1)(x − 2).
2 2
Bien sur P(4) = 66 (un espion était redondant) et le message secret est donc

45 57
P(0) = × 6 − 50 × 3 + × 2 = 135 − 150 + 57 = 42.
2 2

116 © 2024-2026 G. Faccanoni


Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 2. Interpolation

Méthode de Newton. Puisqu’on a envoyé un espion de trop, négligeons pour l’instant le point (4, 66).
On commence par construire le tableau des différences divisées :

i xi yi f [x i −1 , x i ] f [x i −2 , x i −1 , x i ]
0 1 45
1 2 50 5
2 3 57 7 1

On a alors
2
ωi (x) f [x 0 , . . . , x i ]
X
P(x) =
i =1
= ω0 (x) f [x 0 ] + ω1 (x) f [x 0 , x 1 ] + ω2 (x) f [x 0 , x 1 , x 2 ]
= 45ω0 (x) + 5ω1 (x) + ω2 (x)
= 45 + 5(x − 1) + (x − 1)(x − 2).

Bien sur P(4) = 45 + 5 × 3 + 3 × 2 = 66 (un espion était redondant) et le message secret est donc

P(0) = 45 − 5 + 2 = 42.

Exercice 2.16
1. Calculer le polynôme d’interpolation de la fonction f (x) = cos(x) en les 3 points x i = π2 i avec i = 0, . . . , 2.
2. Calculer ensuite le polynôme d’interpolation de la même fonction en les 4 points x i = π2 i avec i = 0, . . . , 3, i.e.
en ajoutant le point x 3 = 3π/2.

Correction
1. On cherche p 2 ∈ R2 [x] tel que p 2 (x i ) = cos(x i ) pour i = 0, . . . , 2. On peut choisir l’une des quatre méthodes ci-
dessous (on préférera la méthode de N EWTON car elle permet de réutiliser les calculs de cette question pour
répondre à la question suivante).
Méthode directe (naïve). Si on écrit p 2 (x) = α0 + α1 x + α2 x 2 , on cherche α0 , α1 , α2 tels que

1 0 0 α0
    
1
1 π π2  α  =  0 
2 4 1
1 π π2 α2 −1

En résolvant ce système linéaire on trouve α0 = 1, α1 = − π2 et α2 = 0 :

import sympy as sp

x = [Link]('x', real=True)
alpha_0 = [Link](r'\alpha_0',real=True)
alpha_1 = [Link](r'\alpha_1',real=True)
alpha_2 = [Link](r'\alpha_2',real=True)

p = [Link](alpha_0 + alpha_1*x + alpha_2*x**2, x)

xx = [0, [Link]/2, [Link]]


yy = [[Link](x) for x in xx]
Eqs = [ [Link]([Link](x,xx[i]),yy[i]) for i in range(3)]

sol = [Link](Eqs, [alpha_0, alpha_1, alpha_2])


print(sol)

{\alpha_0: 1, \alpha_1: -2/pi, \alpha_2: 0}

© 2024-2026 G. Faccanoni 117


Chapitre 2. Interpolation Dernière mise à jour : Mardi 30 septembre 2025

Méthode astucieuse. Le polynôme p 2 s’annule en π2 , ceci signifie qu’il existe un polynôme R(x) tel que
³ π´
p 2 (x) = R(x) x − .
2
Puisque p 2 (x) a degré 2, le polynôme R(x) qu’on a mis en facteur a degré 1, autrement dit R est de la forme
ax + b. On cherche alors a et b tels que
R(0) = ¡p 2 (0)
 
b = ¡ 1 π ¢ ,
(
π , b = − π2 ,
¢
0− 2 0− 2
⇐⇒ ⇐⇒
R(π) = ¡p 2 (π)
π .
aπ + b = ¡ −1π ¢ . a = 0.
π− 2 π− 2
¢

Ainsi ³ π´ 2³ π´ 2
p 2 (x) = R(x) x − =− x− = − x + 1.
2 π 2 π
Méthode de Lagrange. On a
x − π2 (x − π) (x − 0) x − π2
¢¡ ¡ ¢
2
p 2 (x) = y 0 L0 (x) + y 1 L1 (x) + y 2 L2 (x) = 1 ¡ π −1 π = 1 − π x.
0 − 2 (0 − π) (π − 0) π − 2
¢ ¡ ¢

Méthode de Newton. On commence par construire le tableau des différences divisées :


i xi yi f [x i −1 , x i ] f [x i −2 , x i −1 , x i ]
0 0 1
π
1 2 0 − π2
2 π −1 − π2 0
On a alors
2
ωi (x) f [x 0 , . . . , x i ]
X
p 2 (x) =
i =1
= ω0 (x) f [x 0 ] + ω1 (x) f [x 0 , x 1 ] + ω2 (x) f [x 0 , x 1 , x 2 ]
2
= ω0 (x) − ω1 (x)
π
2
= 1 − x.
π
2. On cherche donc p 3 ∈ R3 [x] tel que p 3 (x i ) = sin(x i ) pour i = 0, . . . , 3. On peut choisir l’une des quatre méthodes
ci-dessous (on préférera la méthode de N EWTON car elle permet d’utiliser les calculs précédents).
Méthode directe. Si on écrit p 3 (x) = α0 + α1 x + α2 x 2 + α3 x 3 , on cherche α0 , α1 , α2 , α3 tels que
 
1 0 0 0 α 0   1 
π π2 π3    
1 2 α 1   0 
 
4 8 
2 3   = 
1 π π π  α2 −1

3π 9π2 27π3 α3 0
1 2 4 8
2
En résolvant ce système linéaire on trouve α0 = 1, α1 = − 3π , α2 = − π42 et α3 = 8
3π3
:

import sympy as sp

x = [Link]('x', real=True)
alpha_0 = [Link](r'\alpha_0',real=True)
alpha_1 = [Link](r'\alpha_1',real=True)
alpha_2 = [Link](r'\alpha_2',real=True)
alpha_3 = [Link](r'\alpha_3',real=True)

p = [Link](alpha_0 + alpha_1*x + alpha_2*x**2 + alpha_3*x**3, x)

xx = [0, [Link]/2, [Link], 3*[Link]/2]


yy = [[Link](x) for x in xx]
Eqs = [ [Link]([Link](x,xx[i]),yy[i]) for i in range(4)]

118 © 2024-2026 G. Faccanoni


Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 2. Interpolation

sol = [Link](Eqs, [alpha_0, alpha_1, alpha_2, alpha_3])


print(sol)

{\alpha_0: 1, \alpha_1: -2/(3*pi), \alpha_2: -4/pi**2, \alpha_3: 8/(3*pi**3)}


Méthode astucieuse. Le polynôme p 3 s’annule en π2 et en 3π
2 , ceci signifie qu’il existe un polynôme R(x) tel que

π´
µ ¶
³ 3π
p 3 (x) = R(x) x − x− .
2 2

Puisque p 3 (x) a degré 3, le polynôme R(x) qu’on a mis en facteur a degré 1, autrement dit R est de la forme
ax + b. On cherche alors a et b tels que

R(0) = ¡ πp¢¡ 3 (0)


 
3π , b = ¡ π ¢¡1 3π ¢ ,
(
0− 2 0− 2
¢
0− 2 0− 2 b = 3π4 2 ,
⇐⇒ ⇐⇒
R(π) = ¡ πp¢¡ 3 (π)
3π .
aπ + b = ¡ π −1 3π . a = 83 .
π− 2 π− π− 2 π−
¢ ¢¡ ¢
2 2

Ainsi
π´ π´
µ ¶ µ ¶ µ ¶
³ 3π 8 4 ³ 3π 2 4 8
p 3 (x) = R(x) x − x− = x + x − x − = 1− x − 2 x2 + 3 x3.
2 2 3π 3 3π2 2 2 3π π 3π

Méthode de Lagrange. On a

x − π2 (x − π) x − 3π (x − 0) x − π2 x − 3π
¢¡ ¡ ¢ ¡ ¢¡ ¢
2 2
p 3 (x) = y 0 L0 (x) + y 1 L1 (x) + y 2 L2 (x) + y 3 L3 (x) = 1 ¡ ¢ −1
0 − π2 (0 − π) 0 − 3π (π − 0) π − π2 π − 3π
¢ ¡ ¡ ¢¡ ¢
2 2
π´
µ ¶
4 ³ 3π 2 4 8
= 3 x− x− (−x + π + 3x) = 1 − x − 2 x2 + 3 x3.
3π 2 2 3π π 3π

Méthode de Newton. Il suffit de calculer une différence divisée en plus, i.e. ajouter une ligne au tableau
précédant :

i xi yi f [x i −1 , x i ] f [x i −2 , x i −1 , x i ] f [x i −3 , x i −2 , x i −1 , x i ]
0 0 1
π
1 2 0 − π2
2 π −1 − π2 0
3π 2 4 8
3 2 0 π π2 3π3

On a alors
3
ωi (x) f [x 0 , . . . , x i ]
X
p 3 (x) =
i =1
= p 2 (x) + ω3 (x) f [x 0 , x 1 , x 2 , x 3 ]
2 8
= 1 − x + 3 ω3 (x)
π 3π
2 8 ³ π´
= 1− x + 3 x x − (x − π)
π 3π 2
2 4 8
= 1− x − 2 x2 + 3 x3.
3π π 3π

Exercice 2.17
1. Construire le polynôme P qui interpole les points (−1, 2), (0, 1), (1, 2) et (2, 3).
2. Soit Q le polynôme qui interpole les points (−1, 2), (0, 1), (1, 2). Montrer qu’il existe un réel λ tel que :

Q(x) − P(x) = λ(x + 1)x(x − 1).

© 2024-2026 G. Faccanoni 119


Chapitre 2. Interpolation Dernière mise à jour : Mardi 30 septembre 2025

Correction
1. Dans la base de L AGRANGE le polynôme d’interpolation de degré n = 3 s’écrit

(x − x 1 )(x − x 2 )(x − x 3 ) (x − x 0 )(x − x 2 )(x − x 3 )


P(x) = y 0 + y1
(x 0 − x 1 )(x 0 − x 2 )(x 0 − x 3 ) (x 1 − x 0 )(x 1 − x 2 )(x 1 − x 3 )
(x − x 0 )(x − x 1 )(x − x 3 ) (x − x 0 )(x − x 1 )(x − x 2 )
+ y2 + y3
(x 2 − x 0 )(x 2 − x 1 )(x 2 − x 3 ) (x 3 − x 0 )(x 3 − x 1 )(x 3 − x 2 )
x(x − 1)(x − 2) (x + 1)(x − 1)(x − 2) (x + 1)x(x − 1)
= + − (x + 1)x(x − 2) + =
−3 2 2
1 1
= − x 3 + x 2 + x + 1.
3 3

2. Par construction

Q(−1) = P(−1),
Q(0) = P(0),
Q(1) = P(1),

donc le polynôme Q(x) − P(x) s’annule en −1, en 0 et en 1, ceci signifie qu’il existe un polynôme R(x) tel que

Q(x) − P(x) = R(x)(x + 1)x(x − 1).

Puisque P(x) a degré 3 et Q(x) a degré 2, le polynôme Q(x) − P(x) a degré 3, donc le polynôme R(x) qu’on a mis en
facteur a degré 0 (i.e. R(x) est une constante).
Si on n’a pas remarqué ça, on peut tout de même faire tous les calculs : dans ce cas n = 2 donc on a

(x − x 1 )(x − x 2 ) (x − x 0 )(x − x 2 ) (x − x 0 )(x − x 1 )


Q(x) = y 0 + y1 + y2
(x 0 − x 1 )(x 0 − x 2 ) (x 1 − x 0 )(x 1 − x 2 ) (x 2 − x 0 )(x 2 − x 1 )
= x(x − 1) − (x + 1)(x − 1) + (x + 1)x

= x 2 + 1.

Ainsi

(x − x 1 )(x − x 2 ) x − x3 (x − x 0 )(x − x 2 ) x − x3
· ¸ · ¸
Q(x) − P(x) = y 0 1− + y1 1−
(x 0 − x 1 )(x 0 − x 2 ) x0 − x3 (x 1 − x 0 )(x 1 − x 2 ) x1 − x3
(x − x 0 )(x − x 1 ) x − x3 (x − x 0 )(x − x 1 )(x − x 2 )
· ¸
+ y2 1− − y3
(x 2 − x 0 )(x 2 − x 1 ) x2 − x3 (x 3 − x 0 )(x 3 − x 1 )(x 3 − x 2 )
(x − x 0 )(x − x 1 )(x − x 2 ) (x − x 0 )(x − x 1 )(x − x 2 )
= −y 0 − y1
(x 0 − x 1 )(x 0 − x 2 )(x 0 − x 3 ) (x 1 − x 0 )(x 1 − x 2 )(x 1 − x 3 )
(x − x 0 )(x − x 1 )(x − x 2 ) (x − x 0 )(x − x 1 )(x − x 2 )
− y2 − y3
(x 2 − x 0 )(x 2 − x 1 )(x 2 − x 3 ) (x 3 − x 0 )(x 3 − x 1 )(x 3 − x 2 )
y0 y1
·
=− +
(x 0 − x 1 )(x 0 − x 2 )(x 0 − x 3 ) (x 1 − x 0 )(x 1 − x 2 )(x 1 − x 3 )
y2 y3
¸
+ + (x − x 0 )(x − x 1 )(x − x 2 )
(x 2 − x 0 )(x 2 − x 1 )(x 2 − x 3 ) (x 3 − x 0 )(x 3 − x 1 )(x 3 − x 2 )
(x + 1)x(x − 1)
=
3

et λ = 31 . Sinon directement

1 1 1 1 (x + 1)x(x − 1)
Q(x) − P(x) = x 2 + 1 + x 3 − x 2 + x − 1 = x 3 + x = = λx(x + 1)(x − 1)
3 3 3 3 3

avec λ = 13 .

120 © 2024-2026 G. Faccanoni


Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 2. Interpolation

y
Q(x)

3
x3
2
x0 x2
P(x)
x1

−1 0 1 2 x

Exercice 2.18
1. Construire le polynôme P qui interpole les trois points (−1, e), (0, 1) et (1, e).
2. Sans faire de calculs, donner l’expression du polynôme Q qui interpole les trois points (−1, −1), (0, 0) et
(1, −1).
3. Trouver le polynôme de l’espace vectoriel Vec{1, x, x 2 } qui interpole les trois points (−1, −1), (0, 0) et (1, −1).

Correction
1. Dans la base de L AGRANGE le polynôme d’interpolation de degré n = 2 s’écrit

y P(x)
e
(x − x 1 )(x − x 2 ) (x − x 0 )(x − x 2 ) (x − x 0 )(x − x 1 )
P(x) = y 0 + y1 + y2 =
(x 0 − x 1 )(x 0 − x 2 ) (x 1 − x 0 )(x 1 − x 2 ) (x 2 − x 0 )(x 2 − x 1 )
x(x − 1) (x + 1)x
=e − (x + 1)(x − 1) + e =
2 2 1
= (e − 1)x 2 + 1.

−1 1 x

2. Il suffit de changer les coefficients y i dans l’expression y


précédente : −1 0 1
x
x(x − 1) (x + 1)x
Q(x) = − − = −x 2 .
2 2
Q(x)

3. Il s’agit de trouver un polynôme p(x) qui soit combinaison linéaire des deux polynômes assignés (i.e. p(x) =
α + βx + γx 2 ) et qui interpole les trois points (−1, −1), (0, 0) et (1, −1) :

α − β + γ = −1,
 
p(−1) = 1,
 
p(0) = 0, ⇔ α = 0,
 
p(1) = −1, α + β + γ = −1,
 

d’où α = 0, β = 0 et γ = −1. Le polynôme cherché est donc le polynôme p(x) = −x 2 . En fait, il suffisait de remarquer
que le polynôme Q ∈ Vec{1, x, x 2 } pour conclure que le polynôme p cherché est Q lui même.

Exercice 2.19
1. Construire le polynôme P qui interpole les points (−1, 1), (0, 1), (1, 2) et (2, 3).

© 2024-2026 G. Faccanoni 121


Chapitre 2. Interpolation Dernière mise à jour : Mardi 30 septembre 2025

2. Soit Q le polynôme qui interpole les points (−1, 1), (0, 1), (1, 2). Montrer qu’il existe un réel λ tel que :

Q(x) − P(x) = λ(x + 1)x(x − 1).

Correction
1. Dans la base de L AGRANGE le polynôme d’interpolation de degré n = 3 s’écrit

(x − x 1 )(x − x 2 )(x − x 3 ) (x − x 0 )(x − x 2 )(x − x 3 )


P(x) = y 0 + y1
(x 0 − x 1 )(x 0 − x 2 )(x 0 − x 3 ) (x 1 − x 0 )(x 1 − x 2 )(x 1 − x 3 )
(x − x 0 )(x − x 1 )(x − x 3 ) (x − x 0 )(x − x 1 )(x − x 2 )
+ y2 + y3
(x 2 − x 0 )(x 2 − x 1 )(x 2 − x 3 ) (x 3 − x 0 )(x 3 − x 1 )(x 3 − x 2 )
x(x − 1)(x − 2) (x + 1)(x − 1)(x − 2) (x + 1)x(x − 1)
= + − (x + 1)x(x − 2) + =
−6 2 2
1 1 2
= − x 3 + x 2 + x + 1.
6 2 3

2. Par construction

Q(−1) = P(−1),
Q(0) = P(0),
Q(1) = P(1),

donc le polynôme Q(x) − P(x) s’annule en −1, en 0 et en 1, ceci signifie qu’il existe un polynôme R(x) tel que

Q(x) − P(x) = R(x)(x + 1)x(x − 1).

Puisque P(x) a degré 3 et Q(x) a degré 2, le polynôme Q(x) − P(x) a degré 3, donc le polynôme R(x) qu’on a mis en
facteur a degré 0 (i.e. R(x) est une constante).
Si on n’a pas remarqué ça, on peut tout de même faire tous les calculs : dans ce cas n = 2 donc on a

(x − x 1 )(x − x 2 ) (x − x 0 )(x − x 2 ) (x − x 0 )(x − x 1 )


Q(x) = y 0 + y1 + y2
(x 0 − x 1 )(x 0 − x 2 ) (x 1 − x 0 )(x 1 − x 2 ) (x 2 − x 0 )(x 2 − x 1 )
x(x − 1)
= − (x + 1)(x − 1) + (x + 1)x
2
1 1
= x 2 + x + 1.
2 2
Ainsi
(x − x 1 )(x − x 2 ) x − x3 (x − x 0 )(x − x 2 ) x − x3
· ¸ · ¸
Q(x) − P(x) = y 0 1− + y1 1−
(x 0 − x 1 )(x 0 − x 2 ) x0 − x3 (x 1 − x 0 )(x 1 − x 2 ) x1 − x3
(x − x 0 )(x − x 1 ) x − x3 (x − x 0 )(x − x 1 )(x − x 2 )
· ¸
+ y2 1− − y3
(x 2 − x 0 )(x 2 − x 1 ) x2 − x3 (x 3 − x 0 )(x 3 − x 1 )(x 3 − x 2 )
(x − x 0 )(x − x 1 )(x − x 2 ) (x − x 0 )(x − x 1 )(x − x 2 )
= −y 0 − y1
(x 0 − x 1 )(x 0 − x 2 )(x 0 − x 3 ) (x 1 − x 0 )(x 1 − x 2 )(x 1 − x 3 )
(x − x 0 )(x − x 1 )(x − x 2 ) (x − x 0 )(x − x 1 )(x − x 2 )
− y2 − y3
(x 2 − x 0 )(x 2 − x 1 )(x 2 − x 3 ) (x 3 − x 0 )(x 3 − x 1 )(x 3 − x 2 )
y0 y1
·
=− +
(x 0 − x 1 )(x 0 − x 2 )(x 0 − x 3 ) (x 1 − x 0 )(x 1 − x 2 )(x 1 − x 3 )
y2 y3
¸
(x + 1)x(x − 1)
+ + (x − x 0 )(x − x 1 )(x − x 2 ) =
(x 2 − x 0 )(x 2 − x 1 )(x 2 − x 3 ) (x 3 − x 0 )(x 3 − x 1 )(x 3 − x 2 ) 6

et λ = 16 . Sinon directement

1 1 1 1 2 1 1 1
Q(x) − P(x) = x 2 + x + 1 + x 3 − x 2 − x − 1 = x 3 − x = x(x 2 − 1) = λx(x + 1)(x − 1)
2 2 6 2 3 6 6 6

avec λ = 16 .

122 © 2024-2026 G. Faccanoni


Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 2. Interpolation

Q(x)

y
3
x3
P(x)

2
x2

1
x0 x1

−1 0 1 2 x

Exercice 2.20
1. Construire le polynôme P qui interpole les trois points (−1, α), (0, β) et (1, α) où α et β sont des réels.
2. Si α = β, donner le degré de P.
3. Montrer que P est pair. Peut-on avoir P de degré 1 ?

Correction

1. Dans la base de L AGRANGE le polynôme d’interpolation de degré n = 2 s’écrit

(x − x 1 )(x − x 2 ) (x − x 0 )(x − x 2 ) (x − x 0 )(x − x 1 )


P(x) = y 0 + y1 + y2 +
(x 0 − x 1 )(x 0 − x 2 ) (x 1 − x 0 )(x 1 − x 2 ) (x 2 − x 0 )(x 2 − x 1 )
x(x − 1) (x + 1)(x − 1) (x + 1)x
=α +β +α =
2 −1 2
α α
= x(x − 1) − β(x + 1)(x − 1) + x(x + 1)
2 2
= (α − β)x 2 + β.

Sinon, dans la base de N EWTON, on commence par construire le tableau des différences divisées :

i xi yi f [x i −1 , x i ] f [x i −2 , x i −1 , x i ]
0 −1 α
1 0 β (β − α)
2 1 α (α − β) (α − β)

On a alors
2
ωi (x) f [x 0 , . . . , x i ]
X
p 2 (x) =
i =0
= ω0 (x) f [x 0 ] + ω1 (x) f [x 0 , x 1 ] + ω2 (x) f [x 0 , x 1 , x 2 ]
= αω0 (x) + (β − α)ω1 (x) + (α − β)ω2 (x)
= α + (β − α)(x + 1) + (α − β)x(x + 1) = (α − β)x 2 + β.

2. Si α = β, P(x) = α qui est un polynôme de degré 0.


3. P(−x) = P(x) donc P est pair. Donc P ne peut pas être de degré 1 car un polynôme de degré 1 est de la forme
a 0 + a 1 x qui ne peut pas être pair.

© 2024-2026 G. Faccanoni 123


Chapitre 2. Interpolation Dernière mise à jour : Mardi 30 septembre 2025

Exercice 2.21
Trouver le polynôme de l’espace vectoriel Vec{1 + x 2 , x 4 } qui interpole les points (0, 1) et (1, 3).

Correction y
p(x)
Il s’agit de trouver un polynôme p(x) qui soit combinai-
3
son linéaire des deux polynômes assignés (i.e. p(x) =
α(1 + x 2 ) + β(x 4 )) et qui interpole les deux points (0, 1) et
(1, 3) :
( (
p(0) = 1, α(1 + 02 ) + β(04 ) = 1,
⇔ 1
p(1) = 3, α(1 + 12 ) + β(14 ) = 3,

d’où α = 1 et β = 1. Le polynôme cherché est donc le poly-


0 1 x
nôme p(x) = 1 + x 2 + x 4 .

Exercice 2.22
Soit f : R → R la fonction définie par f (x) = 1 + x 3 .
1. Calculer le polynôme p 0 ∈ R0 [x] qui interpole f au point d’abscisse x 0 = 0.
2. Calculer le polynôme p 1 ∈ R1 [x] qui interpole f aux points d’abscisse { x 0 = 0, x 1 = 1 }.
3. Calculer le polynôme p 2 ∈ R2 [x] qui interpole f aux points d’abscisse { x 0 = 0, x 1 = 1, x 2 = 2 }.
4. Calculer le polynôme p 3 ∈ R3 [x] qui interpole f aux points d’abscisse { x 0 = 0, x 1 = 1, x 2 = 2, x 3 = 3 }.
5. Pour n > 3, calculer les polynômes p n ∈ Rn [x] qui interpolent f aux points d’abscisse { x 0 = 0, x 1 = 1, . . . , x n = n }.

Correction
1. On interpole l’ensemble { (0, 1) } donc p 0 (x) = 1.
2. On interpole l’ensemble { (0, 1), (1, 2) } donc p 1 (x) = 1 + x.
3. On interpole l’ensemble { (0, 1), (1, 2), (2, 9) } donc p 2 (x) = 1 − 2x + 3x 2 .
4. f ∈ R3 [x] et comme il existe un seul polynôme de degré au plus 3 qui interpole quatre points ce polynôme coïncide
forcement avec f donc p 3 ≡ f .
5. f ∈ Rn [x] pour tout n ≥ 3 et comme il existe un seul polynôme de degré au plus 3 qui interpole quatre points ce
polynôme coïncide forcement avec f donc p n ≡ f pour n ≥ 3.

Exercice 2.23
Soit f : R → R la fonction définie par f (x) = 1 + x 2 .
1. Calculer le polynôme de R0 [x] qui interpole f au point 0.
2. Calculer le polynôme de R1 [x] qui interpole f aux points { 0, 2 }.
3. Calculer le polynôme de R9 [x] qui interpole f aux points { 0, 2, . . . , 2i , . . . , 18 }0≤i ≤9 .

Correction
1. On interpole l’ensemble de points { (0, 1) } donc p 0 (x) = 1.
2. On interpole l’ensemble de points { (0, 1), (2, 5) } donc p 1 (x) = 1 + 2x.
3. f ∈ Rn [x] pour tout n ≥ 2 et comme il existe un seul polynôme de degré au plus 2 qui interpole trois points ce
polynôme coïncide forcement avec f donc p n ≡ f pour n ≥ 2.

Exercice 2.24
1. Calculer le polynôme qui interpole les points (0, 3), (1, 2), (2, 4), (3, −2).
2. Calculer le polynôme qui interpole les points (0, 2), (1, 3), (2, 4), (3, 5), (4, 6), (5, 7), (6, 8), (7, 9) (pas de calculs
inutiles !).
3. Calculer le polynôme qui interpole les points (0, 2), (1, 1), (2, 2), (3, 3), (4, 4) en le cherchant sous la forme
p(x) = x + q(x) (pas de calculs inutiles !).

124 © 2024-2026 G. Faccanoni


Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 2. Interpolation

4. Donner l’expression du polynôme p ∈ R3 [x] dont la dérivée k-ème vérifie p (k) (1) = 3 pour k = 0, 1, 2, 3.
Est-il unique dans p ∈ R3 [x] ? Soit f une fonction de classe C ∞ telle que f (k) (1) = 3. Quelle estimation de
f (x) − p(x) a-t-on ?

Correction
1. Dans la base de L AGRANGE le polynôme d’interpolation de degré n = 3 s’écrit
(x − x 1 )(x − x 2 )(x − x 3 ) (x − x 0 )(x − x 2 )(x − x 3 )
P(x) = y 0 + y1
(x 0 − x 1 )(x 0 − x 2 )(x 0 − x 3 ) (x 1 − x 0 )(x 1 − x 2 )(x 1 − x 3 )
(x − x 0 )(x − x 1 )(x − x 3 ) (x − x 0 )(x − x 1 )(x − x 2 )
+ y2 + y3
(x 2 − x 0 )(x 2 − x 1 )(x 2 − x 3 ) (x 3 − x 0 )(x 3 − x 1 )(x 3 − x 2 )
(x − 1)(x − 2)(x − 3) x(x − 2)(x − 3)
=3 +2
(0 − 1)(0 − 2)(0 − 3) (1 − 0)(1 − 2)(1 − 3)
x(x − 1)(x − 3) x(x − 1)(x − 2)
+4 −2
(2 − 0)(2 − 1)(2 − 3) (3 − 0)(3 − 1)(3 − 2)
37 11
= 3− x + 7x 2 − x 3 .
6 6
2. p(x) = x + 2 : en effet, on voit que les points sont alignés le long de la droite d’équation y = x + 2.
3. p ∈ R4 [x] et interpole les points (0, 2), (1, 1), (2, 2), (3, 3), (4, 4) donc p(0) = 2, p(1) = 1, p(2) = 2, p(3) = 3 et p(4) = 4.
• Première méthode. On cherche le polynôme q ∈ R4 [x] tel que q(x) = p(x) − x, autrement dit le polynôme
q ∈ R4 [x] qui interpole les points (0, 2 − 0), (1, 1 − 1), (2, 2 − 2), (3, 3 − 3), (4, 4 − 4). Donc le polynôme q s’annule
en x = 1, x = 2, x = 3 et x = 4, ceci signifie qu’il existe un polynôme R tel que

q(x) = (x − 1)(x − 2)(x − 3)(x − 4)R(x).

Comme q ∈ R4 [x] alors R est une constante qu’on peut calculer en imposant q(0) = 2 et l’on obtient
1
q(x) = (x − 1)(x − 2)(x − 3)(x − 4).
12
• Deuxième méthode. Notons x 0 = 1, x 1 = 2, x 2 = 3, x 3 = 4, x 4 = 0. On considère N = { ω0 , ω1 , ω2 , . . . , ωn−1 }
une base de Rn−1 [x] telle que coord(p, N ) = (y 0 , f [x 0 , x 1 ], f [x 0 , x 1 , x 2 ], . . . , f [x 0 , x 1 , x 2 , . . . , x n−1 ]), i.e. p(x) =
Pn−1
i =0
f [x 0 , . . . , x i ]ωi (x). La base de N EWTON est définie récursivement comme suit :

ω0 (x) = 0; ω1 (x) = x − x 0 ; pour k = 2, . . . , n ωk (x) = ωk−1 (x)(x − x k−1 ).

Le polynôme d’interpolation de degré n sur l’ensemble des n + 1 points {(x i , y i )}ni=1 dans la base de N EWTON
s’écrit
n
ωi (x) f [x 0 , ..., x i ]
X
p n (x) =
i =0
n−1
ωi (x) f [x 0 , ..., x i ] + ω4 (x) f [x 0 , x 1 , x 2 , x 3 , x 4 ]
X
=
i =1
= p n−1 (x) + ω4 (x) f [x 0 , x 1 , x 2 , x 3 , x 4 ]

où p n−1 est le polynôme d’interpolation de degré n − 1 sur l’ensemble des n points {(x i , y i )}n−1 i =0
.
Dans notre cas, on voit que les points { x 0 , x 1 , x 2 , x 3 } sont alignés le long de la droite d’équation y = x donc
p n−1 (x) = x et q(x) = ω4 (x) f [x 0 , x 1 , x 2 , x 3 , x 4 ] avec ω4 (x) = (x − 1)(x − 2)(x − 3)(x − 4). On doit donc calculer
le coefficient f [x 0 , x 1 , x 2 , x 3 , x 4 ] sachant que q(0) = 2, ce qui donne f [x 0 , x 1 , x 2 , x 3 , x 4 ] = 1/12.
On conclut que
1 1 4 5 3 35 2 19
p(x) = x + (x − 1)(x − 2)(x − 3)(x − 4) = x − x + x − x + 2.
12 12 6 12 6
4. Soit p(x) = a 0 + a 1 x + a 2 x 2 + a 3 x 3 un polynôme de R3 [x]. On cherche les quatre coefficients a i tels que p (k) (1) = 3
pour k = 0, 1, 2, 3 :
  

 p(x) = a 0 + a 1 x + a 2 x 2 + a 3 x 3 , 
 3 = p(1) = a 0 + a 1 + a 2 + a 3 , 
 a 3 = 1/2,
  
p ′ (x) = a x + 2a x + 3a x 2 ,
 3 = p ′ (1) = a + 2a + 3a ,
 
a = 0,
1 2 3 1 2 3 2
′′
=⇒ ′′
=⇒


 p (x) = 2a 2 + 6a 3 x, 

 3 = p (1) = 2a 2 + 6a 3 , 

 a 1 = 3/2,
 ′′′  ′′′

p (x) = 6a 3 , 3 = p (1) = 6a 3 , a 0 = 1.
  

© 2024-2026 G. Faccanoni 125


Chapitre 2. Interpolation Dernière mise à jour : Mardi 30 septembre 2025

et ce polynôme est unique.


Soit f une fonction de classe C ∞ telle que f (k) (1) = 3. Alors la fonction g (x) ≡ f (x) − p(x) est de classe C ∞ et
g (k) (1) = 0 pour k = 0, 1, 2, 3 (i.e. x = 1 est un zéro de multiplicité 4 pour g ). Écrivons le développement de TAYLOR
avec le reste de L AGRANGE de g en x = 1 à l’ordre 3 :
3 g (k) (1) g (4) (ξ) g (4) (ξ)
(x − 1)k + (x − 1)4 = (x − 1)4
X
g (x) =
k=0 k! 4! 4!
où ξ est entre x et 1. Le polynôme p étant de degré 3, on obtient
f (4) (ξ)
f (x) − p(x) = (x − 1)4 .
4!

Exercice 2.25
Pour calculer le zéro d’une fonction y = f (x) inversible sur un intervalle [a; b] on peut utiliser l’interpolation : après
© ªn
avoir évalué f sur une discrétisation x i de [a; b], on interpole l’ensemble (y i , x i ) i =0 et on obtient un polynôme
x = p(y) tel que
f (x) = 0 ⇐⇒ x = p(0).
Utiliser cette méthode pour évaluer l’unique racine α de la fonction f (x) = e x − 2 dans l’intervalle [0; 1] avec trois
points d’interpolation.

Correction
Calculons d’abord les valeurs à interpoler
i xi yi
0 0 −1
1 p
1 2 e −2
2 1 e −2
Le polynôme d’interpolation de L AGRANGE de degré n sur l’ensemble des n + 1 points {(y i , x i )}ni=0 s’écrit
 
n  n y−y 
X Y j
p n (y) = x i .
i =0

j =0 y i − y j

j ̸=i

Ici n = 2 donc on a
(y − y 1 )(y − y 2 ) (y − y 0 )(y − y 2 ) (y − y 0 )(y − y 1 )
p(y) = x 0 + x1 + x2
(y 0 − y 1 )(y 0 − y 2 ) (y 1 − y 0 )(y 1 − y 2 ) (y 2 − y 0 )(y 2 − y 1 )
p
1 (y + 1)(y − e + 2) (y + 1)(y − e + 2)
= p p + p .
2 ( e − 2 + 1)( e − 2 − e + 2) (e − 2 + 1)(e − 2 − e + 2)
p
− e+2
Par conséquent une approximation de la racine de f est p(0) = 12 (pe−2+1)(−e+2
p
e−2−e+2)
+ (e−2+1)(e−2−pe+2) ≈ 0.7087486785.
Remarque : comme il n’y a que trois points d’interpolation, on pourrait calculer directement le polynôme interpolateur
de f plutôt que de sa fonction réciproque et chercher les zéros de ce polynôme directement car il s’agit d’un polynôme
de degré 2. Cependant cette idée ne peut pas être généralisée au cas de plus de trois points d’interpolation car on ne
connait pas de formule générale pour le calcul des zéros d’un polynôme de degré n ≥ 3.

Exercice 2.26 (Les limites de l’interpolation linéaire)


Cet exercice vise à montrer les limites de l’interpolation linéaire directe pour des fonctions qui varient rapidement,
et à introduire une approche améliorée en utilisant le logarithme de la fonction.
La fonction Gamma, notée Γ(x), est une généralisation de la fonction factorielle aux nombres réels et complexes.
Pour x > 0, elle est définie par l’intégrale Z ∞
Γ(x) = t x−1 e −t dt .
0
Pour les entiers positifs n, la fonction Gamma est reliée à la factorielle par la relation suivante

Γ(n) = (n − 1)!.

126 © 2024-2026 G. Faccanoni


Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 2. Interpolation

On cherche à approcher la valeur de Γ(10.3) en utilisant Γ(10) = 9! et Γ(11) = 10!.


1. Interpolation linéaire directe : calculez l’approximation de Γ(10.3) en utilisant l’interpolation linéaire sa-
chant que 9! = 362880 et 10! = 3628800. Comparez cette approximation avec la valeur exacte Γ(10.3) ≈
716430.69. Quelle est l’erreur relative dans ce cas ?
2. Interpolation via le logarithme de la fonction Gamma : appliquez l’interpolation linéaire au logarithme de
la fonction Gamma. Sachant que log(9!) ≈ 12.8018 et log(10!) ≈ 15.1044, effectuez l’interpolation linéaire de
{ (x i , ln(Γ(x i ))) }i . Comparez cette approximation avec la valeur exacte. Quelle est l’erreur relative dans ce
cas ?
3. Propriétés convexes de la fonction Gamma : la fonction log(Γ(x)) est convexe (d’après le théorème de Bohr-
Mollerup). Expliquez pourquoi l’interpolation linéaire appliquée à log(Γ(x)) donne une approximation
supérieure ou égale à la vraie valeur de Γ(x).
Source : [Link]

Correction
1. Interpolation linéaire directe :

Γ(10.3) ≈ 0.7 × 9! + 0.3 × 10! = 0.7 × 362880 + 0.3 × 3628800 = 1342656.0.

Comme Γ(10.3) ≈ 716430.69, le pourcentage d’erreur de cette approximation est 87.41%


2. Interpolation via le logarithme de la fonction Gamma :

log(Γ(10.3)) ≈ 0.7 × ln(9!) + 0.3 × ln(10!) = 0.7 × ln(362880) + 0.3 × ln(3628800) = 13.492603007979682

d’où
Γ(10.3) ≈ 724040.7888559059
Comme Γ(10.3) ≈ 716430.69, le pourcentage d’erreur de cette approximation est 1.06%
3. Propriétés convexes de la fonction Gamma : le théorème de Bohr-Mollerup affirme que la fonction ln(Γ(x))
est convexe pour x > 0. Cela signifie que la courbe de ln(Γ(x)) est toujours au-dessus de toute droite joignant
deux points de la courbe. Lorsque l’on applique l’interpolation linéaire à ln(Γ(x)), on obtient une droite reliant
ln(Γ(10)) et ln(Γ(11)). En raison de la convexité de ln(Γ(x)), cette droite se trouve toujours au-dessus de la
vraie courbe de ln(Γ(x)), sauf aux points d’interpolation eux-mêmes (10 et 11). Cela garantit que l’interpolation
linéaire de ln(Γ(x)) fournit une approximation qui est une borne supérieure de la vraie valeur. En prenant
l’exponentielle de l’approximation obtenue par interpolation de ln(Γ(x)), on obtient une approximation de Γ(x)
qui est également supérieure à la valeur exacte de Γ(x). Ainsi, l’interpolation linéaire de ln(Γ(x)) donne non
seulement une approximation plus précise que l’interpolation directe de Γ(x), mais fournit également une borne
supérieure à Γ(10.3).

2.3.3. Interpolation trigonométrique


Exercice 2.27
Considérons la fonction f : [0; 2π] → R définie par f (x) = x(x − 2π)e −x . Calculer f˜(x) lorsque n = 9 et comparer
graphiquement les fonctions f et f˜.

Correction
On commence par définir la fonction f et calculer les valeurs de f aux nœuds x j = j π/5, j = 0, . . . , 9 à l’aide des
instructions suivantes

import numpy as np

f = lambda x : x * (x - 2 * [Link]) * [Link](-x)

# Points d'interpolation
n = 9 # n+1 points
Px = 2 * [Link] / (n + 1) * [Link](n + 1)

© 2024-2026 G. Faccanoni 127


Chapitre 2. Interpolation Dernière mise à jour : Mardi 30 septembre 2025

Py = f(Px)

On calcule alors le vecteur des coefficients de F OURIER :

if n % 2 == 0:
M = n // 2
mu = 0
else:
M = (n - 1) // 2
mu = 1

c = [Link](2 * M + mu + 1, dtype=complex) # Initialiser le tableau des


,→ coefficients

# Calcul des coefficients de Fourier


for k in range(-M - mu, M + 1):
index = k + M + mu # Shift index to avoid negative or zero indices
c[index] = 1 / (n + 1) * [Link](f(Px) * [Link](-1j * k * Px))

On peut comparer notre calcul avec celui effectué par Numpy grâce à la FFT et vérifier que la norme de l’erreur est
nulle :

# Calcul des coefficients de Fourier avec fft


C = [Link]([Link](f(Px))) / (n + 1)

# Calcul de la norme de la différence entre les deux jeux de coefficients


norm_diff = [Link](c - C)

print("Coefficients de Fourier calculés manuellement :", c)


print("Coefficients de Fourier calculés avec fft :", C)
print("Norme de la différence :", norm_diff)

Coefficients de Fourier calculés manuellement : [ 0.08700969-3.94939161e-18j


,→ 0.09258466-2.13981536e-02j
0.10984941-6.00797260e-02j 0.12680548-1.62109852e-01j
-0.04672819-4.20011892e-01j -0.65203241+0.00000000e+00j
-0.04672819+4.20011892e-01j 0.12680548+1.62109852e-01j
0.10984941+6.00797260e-02j 0.09258466+2.13981536e-02j]
Coefficients de Fourier calculés avec fft : [ 0.08700969+0.j 0.09258466-0.02139815j
,→ 0.10984941-0.06007973j
0.12680548-0.16210985j -0.04672819-0.42001189j -0.65203241+0.j
-0.04672819+0.42001189j 0.12680548+0.16210985j 0.10984941+0.06007973j
0.09258466+0.02139815j]
Norme de la différence : 1.75242991822e-16

Pour comparer graphiquement f et son interpolée, on doit calculer f et f˜ sur [0; 2π] en S points :

import [Link] as plt

# Nombre de points pour l'évaluation


S = 100
x = 2 * [Link] / S * [Link](S)

# Valeur exacte de la fonction


fx = f(x)

128 © 2024-2026 G. Faccanoni


Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 2. Interpolation

# ?????????????????
# tilde_f calculée par interpft (équivalent en Python)
z = [Link]([Link]([Link](Py), S)).real

# tilde_f calculée par notre formule


ftildex = [Link](S, dtype=complex)
for s in range(S):
ftildex[s] = [Link](c * [Link](1j * [Link](-M - mu, M + 1) * x[s]))

# Afficher les résultats


[Link](x, fx, 'r-', linewidth=2, label='Exact $f(x)$')
[Link](x, [Link], 'b:', linewidth=2, label='$\\tilde{f}(x)$ par notre
,→ formule')
[Link](x, z, 'm.', linewidth=2, label='$\\tilde{f}(x)$ par interpft')
[Link](Px, Py, 'o', label='Points d\'interpolation')
[Link]('$x$')
[Link]('$y$')
[Link]()
[Link](True)
[Link]()

TO DO : il est intéressant de vérifier numériquement qu’en augmentant n l’approximation f˜ converge vers f tandis qu’avec
l’interpolation polynomiale ceci n’est pas vrai.

© 2024-2026 G. Faccanoni 129


CHAPITRE 3

Approximation au sens des moindres carrés


Nous avons déjà observé que, lorsque n est grand, le polynôme d’interpolation de Rn [x] ne fournit pas toujours une
bonne approximation d’une fonction donnée. De plus, si les données sont entachées d’erreurs de mesure, l’interpolation
peut devenir instable. Une première solution consiste à recourir à l’interpolation composite (par morceaux linéaires, ou
encore à l’aide de splines). Toutefois, ces méthodes ne sont pas adaptées à l’extrapolation, c’est-à-dire à la prédiction de
nouvelles valeurs en dehors de l’intervalle contenant les nœuds d’interpolation.
Pour répondre à cette difficulté, nous introduisons la méthode des moindres carrés.
On associe à chaque donnée (x i , y i ) un point du plan, de sorte qu’un échantillon de n + 1 données corresponde à
un nuage de n + 1 points. Si par exemple ce nuage présente une forme globalement allongée, il est naturel d’essayer
de tracer une droite «passant au milieu» des points. Cette droite, appelée droite de régression linéaire, fournit une
représentation simple de la dépendance linéaire entre les deux variables.
La méthode des moindres carrés permet de déterminer rigoureusement la «meilleure» droite ajustant ce nuage de
points, au sens d’une minimisation d’erreur. Cette idée s’étend naturellement au cas d’une approximation par des
polynômes, et plus généralement par des fonctions appartenant à un espace vectoriel adapté.
© ªn
Dans l’ensemble de ce chapitre, nous considérerons un nuage de n + 1 points (x i , y i ) i =0 .

Dans ce chapitre

3.1 Fitting par une relation affine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131


3.1.1 Fitting linéaire après transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
3.2 Fitting polynomiale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
3.3 Fitting dans un espace vectoriel quelconque . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
3.4 Résumé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
3.5 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149

3.1. Fitting par une relation affine


Supposons que deux grandeurs x et y sont approximativement liées par une relation affine, c’est-à-dire y ≈ α0 + α1 x.
Autrement dit, lorsque les données sont représentées dans un plan cartésien, les points ne sont pas exactement alignés
mais semblent se répartir autour d’une droite, avec des écarts dus à des erreurs de mesure ou à des fluctuations
expérimentales.

Nous cherchons alors à déterminer les coefficients α0 et y


f (x) = α0 + α1 x

α1 de sorte que la droite d’équation f (x) = α0 +α1 x s’ajuste y3


au mieux aux points observés. Par « ajuster au mieux », on d3 d4
y4
entend minimiser la somme des carrés des écarts verticaux y2
d2
entre les points (x i , y i ) et la droite f (x). Pour formaliser
y0
cela, introduisons
d0 d1
y1
d i (α0 , α1 ) = y i − α0 + α1 x i ,
def
¡ ¢

c’est-à-dire l’écart vertical du point (x i , y i ) à la droite


d’équation f (x).
x0 x1 x2 x3 x4 x

131
Chapitre 3. Approximation au sens des moindres carrés Dernière mise à jour : Mardi 30 septembre 2025

La méthode des moindres carrés consiste donc à choisir α0 et α1 de façon à rendre minimale la somme des carrés de
ces écarts. On définit ainsi la fonction d’erreur quadratique :
n n ³ ´2
E (α0 , α1 ) = d i2 (α0 , α1 ) = y i − (α0 + α1 x i ) .
X X
i =0 i =0
2
On remarque que E (α0 , α1 ) ≥ 0 pour tout (α0 , α1 ) ∈ R .
• Si tous les points sont parfaitement alignés, il existe (α0 , α1 ) tel que E (α0 , α1 ) = 0 (cas d’une interpolation).
• Dans le cas général, on cherche les paramètres qui rendent E aussi petit que possible.
Le problème se ramène donc à la minimisation d’une fonction de deux variables. Pour identifier le minimum, on calcule
le gradient de E et on cherche les points stationnaires, c’est-à-dire les couples (α0 , α1 ) vérifiant
∂E ∂E
= 0, = 0.
∂α0 ∂α1
E XEMPLE y A3
Considérons d’abord les trois points A1 = (0, 3), A2 = (2, 4) y = 3 + 12 x
et A3 = (6, 6). La fonction E (α0 , α1 ) s’écrit

E (α0 , α1 ) = (3 − α0 )2 + (4 − (α0 + 2α1 ))2 + (6 − (α0 + 6α1 ))2 A2


= 40α21 + 16α1 α0 − 88α1 + 3α20 − 26α0 + 61. A1
On en déduit
µ ¶
16α1 + 6α0 − 26
∇E (α0 , α1 ) = .
80α1 + 16α0 − 88

La condition ∇E (α0 , α1 ) = 0 donne α1 = 12 et α0 = 3. De x


plus, E (3, 12 ) = 0, ce qui signifie que les trois points sont
parfaitement alignés : on a retrouvé la droite d’interpola-
tion.

E XEMPLE
Considérons maintenant les 5 points
A1 = (4, 1), A2 = (7, 3), A3 = (8, 3), A4 = (10, 6), A5 = (12, 7).
Ces points sont approximativement alignés. On cherche la droite de meilleure approximation y = α0 + α1 x. Quelle
ordonnée peut-on extrapoler pour le point d’abscisse x = 6 ?
En minimisant E , on obtient µ ¶
82α1 + 10α0 − 40
∇E (α0 , α1 ) = .
746α1 + 82α0 − 386
145 453
La condition ∇E = 0 donne α1 = 184 ≈ 0.788 et α0 = − 184 ≈ −2.462.
453 145 211
Comme E (− 184 , 184 ) = 184 > 0, les points ne sont pas parfaitement alignés. Pour extrapoler à x = 6 (le point B de la
figure ci-dessus), on obtient
y = α0 + 6α1 = 417
184 ≈ 2.27.

y y = α0 + α1 x

A4 A5

A2 A3
A1 B

132 © 2024-2026 G. Faccanoni


Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 3. Approximation au sens des moindres carrés

De façon générale, on cherche à déterminer la droite y = α0 +α1 x minimisant l’erreur quadratique E : R2 → R+ définie
par
n ¡ ¢2
E (α0 , α1 ) = y i − (α0 + α1 x i )
X
i =0
Un calcul direct donne
à ! à !
∂E n ∂E n
(α0 , α1 ) = −2 (y i − α0 − α1 x i ) , (α0 , α1 ) = −2 x i (y i − α0 − α1 x i ) .
X X
∂α0 i =0 ∂α1 i =0

Les conditions du minimum s’écrivent alors


∂E
( (P
∂α0 (α0 , α1 ) = 0,
n
(y i − α0 − α1 x i ) = 0,
∂E
⇐⇒ Pin=0
∂α1 (α ,
0 1α ) = 0 x (y − α0 − α1 x i ) = 0
i =0 i i
(P
n
y i − α0 ni=0 1 − α1 ni=0 x i = 0,
P P
⇐⇒ Pn i =0
x y − α0 ni=0 x i − α1 ni=0 x i2 = 0
P P
i =0 i i
(
(n + 1)α0 + ni=0 x i α1 = ni=0 y i ,
¡P ¢ P · Pn ¸ · ¸ · Pn ¸
(n + 1) x a0 y
⇐⇒ ¡Pn ⇐⇒ Pn Pni =0 2i = Pni =0 i
x α0 + i =0 x i2 α1 = ni=0 y i x i
¡Pn
xi x a1 xi y i
¢ ¢ P
i =0 i | i =0 {z i =0 i } | {z } | i =0{z }
F a b

C’est le système des moindres carrés, qui admet une unique solution. Comme E est convexe, cette solution correspond
bien à un minimum. La droite y = α0 + α1 x obtenue est appelée droite de régression de y par rapport à x.
E XEMPLE
Pour les 5 points { (1, 1), (2, 2), (3, 1), (4, 2), (5, 3) }, le système est
Pn ¶ µ ¶ µ Pn
x α0
µ ¶
(n + 1) yi
Pn Pni =0 2i = Pni =0
x
i =0 i
x
i =0 i α1 x y
i =0 i i
α0
µ ¶µ ¶ µ ¶
4+1 1+2+3+4+5 1+2+1+2+3
⇝ =
1 + 2 + 3 + 4 + 5 1 2 + 2 2 + 32 + 4 2 + 5 2 α 1 1×1+2×2+3×1+4×2+5×3
5 15 α0
µ ¶µ ¶ µ ¶
9
⇝ =
15 55 α1 31
3 2
On en déduit α0 = 5 = 0.6 et α1 = 5 = 0.4.

import sympy as sp

# Données
xp = [1, 2, 3, 4, 5]
yp = [1, 2, 1, 2, 3]
n = len(xp)

# Système
A = [Link]([[n, sum(xp)], [sum(xp), sum([x ** 2 for x in xp])]])
b = [Link]([sum(yp), sum([x * y for x, y in zip(xp, yp)])])
alpha0, alpha1 = [Link]() * b

f = lambda t: alpha0 + alpha1 * t


erreur = sum([(y - f(x)) ** 2 for x, y in zip(xp, yp)])

# Affichage
print(f"alpha_0 = {alpha0}")
print(f"alpha_1 = {alpha1}")
print(f"Erreur = {erreur}")

# Graphes
import numpy as np

© 2024-2026 G. Faccanoni 133


Chapitre 3. Approximation au sens des moindres carrés Dernière mise à jour : Mardi 30 septembre 2025

import [Link] as plt


xx = [Link](0, 6, 100)
yy = [f(t) for t in xx]
[Link]()
[Link](xp, yp, 'o', label='Points donnés')
[Link](xx, yy, label='Droite de meilleure approximation')
[Link]('x')
[Link]('y')
[Link]()
[Link](True)
[Link]('approximation_lineaire.png')
# [Link]()

alpha_0 = 3/5
alpha_1 = 2/5
Erreur = 6/5

Remarque
k+ j j j
Notons que l’élément (F)k j = ni=0 x i est le produit scalaire du vecteur x = (x 0k , . . . , x nk ) avec le vecteur x j = (x 0 , . . . , x n )
P
Pn
et que l’élément b k = i =0 x ik y i est le produit scalaire du vecteur xk = (x 0k , . . . , x nk ) avec le vecteur colonne y = (y 0 , . . . , y n ) ;
on peut alors écrire F = AT A et b = AT y avec (A)i k = x ik avec i = 0, . . . , n et k = 0, 1 :
 
1 x0
1 x 
1
A= 
def

 ..  .
.. 
. . 
1 xn
| {z }
(n+1)×(m+1)

En effet,
   
1 x0 y0
µ ¶ 1 x1  µ
n +1
Pn
x
¶ µ ¶  y  µ Pn
1

AT A =
1 1 ... 1 
Pni =0 2i AT y =
1 1 ... 1  .  = P i =0 y i
 
. .. 
 = Pn n
x0 x1 ... xn  .. .  x
i =0 i
x x0 x1 ... xn  ..  x y
i =0 i i

i =0 i
1 xn yn

Remarque
Si l’on divise chaque équation du système par n + 1, on obtient

1 Pn     1 Pn
α0
 
1 n+1 x
i =0 i n+1 i =0 y i
   =  .
1 Pn 1 Pn 1 Pn
n+1 x
i =0 i
2
n+1 i =0 x i
α 1 n+1 i =0 x i y i

En introduisant les notations classiques de statistique descriptive


1 Pn
• x̄ = n+1 x (moyenne de x = (x 0 , . . . , x n )),
i =0 i

134 © 2024-2026 G. Faccanoni


Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 3. Approximation au sens des moindres carrés

1 Pn
• ȳ = n+1 y (moyenne de y = (y 0 , . . . , y n )),
i =0 i
1 Pn
• V(x) = n+1 i =0 (x i − x̄)2 (variance de x),
1 Pn
• C(x, y) = n+1 (x − x̄)(y i − ȳ) (covariance de x et y),
i =0 i
le système devient
α0
· ¸· ¸ · ¸
1 x̄ ȳ
= .
x̄ V(x) + (x̄)2 α1 C(x, y) + x̄ȳ
La résolution conduit aux formules explicites :

C(x, y)
α1 = , coefficient directeur (pente),
V(x)
α0 = ȳ − γ1 x̄, ordonnée à l’origine.

Ainsi, la droite de régression s’écrit


y = α1 (x − x̄) + ȳ,
et elle passe toujours par le point moyen (x̄, ȳ).

Remarque
C(x,y)
L’expression α1 = V(x) peut être sujette à des erreurs d’arrondi (roundoff ) lorsque C(x, y) et V(x) sont très petits. On
préfère alors la formule numériquement plus stable :
Pn
(x i − x̄)(y i − ȳ)
α1 = i =0
Pn .
(x − x̄)2
i =0 i

3.1.1. Fitting linéaire après transformations


Même si la relation entre deux quantités n’est pas linéaire, il est parfois possible d’appliquer une transformation pour
trouver une relation linéaire.
Fitting linéaire après transformation d’un exponentiel Soit a > 0 et considérons la fonction f (x) = ae kx : elle est
non-linéaire mais si on prend son logarithme on obtient ln( f (x)) = ln(a) + kx qui est linéaire et a la forme
α
© 0 + α1 x avec ªn α1 = k et α0 = ln(a). On peut alors calculer l’équation de la droite de régression sur l’ensemble
(x i , ln(y i )) i =0 et obtenir ainsi k et ln(a). 1
Fitting linéaire après transformation d’une puissance Soit a > 0 et considérons la fonction f (x) = ax k : elle est
non-linéaire mais si on prend son logarithme on obtient ln( f (x)) = ln(a) + k ln(x) qui est linéaire et a la forme
α
© 0 + α1 x avec αª1n= k et α0 = ln(a). On peut alors calculer l’équation de la droite de régression sur l’ensemble
(ln(x i ), ln(y i )) i =0 et obtenir ainsi k et ln(a). 2 On verra dans la prochaine section comment travailler directement
avec la fonction polynomiale f .

E XEMPLE (F ITTING LINÉAIRE APRÈS TRANSFORMATION )


On mesure plusieurs fois la pression P et le volume V d’un gaz de masse donnée. On obtient ainsi n + 1 mesures
{ Pi , Vi }ni=0 . Selon la thermodynamique, ces quantités sont liées par une relation du type PV γ = C où γ et C sont deux
constantes à calculer. On a ln(PV γ ) = ln(C) ainsi ln(P)+γ ln(V) = ln(C). Si on pose x = ln(V) et y = ln(P), on a une relation
de la forme y = α1 x + α0 avec α1 = −γ et α0 = ln(C). On peut alors calculer l’équation de la droite de régression sur
l’ensemble { (ln(Vi ), ln(Pi )) }ni=0 et obtenir ainsi γ = −α1 et C = e α0 .

E XEMPLE
Soit les 5 points { (1, 1), (2, 2), (3, 1), (4, 2), (5, 3) } (donc n = 4). On cherche la fonction de meilleure approximation de la
forme y = Ae Bx . Si on calcule le logarithme de cette fonction on trouve ln(y) = ln(A) + Bx. On peut alors calculer la
droite de meilleur approximation sur l’ensemble { (1, ln(1)), (2, ln(2)), (3, ln(1)), (4, ln(2)), (5, ln(3)) } et obtenir ainsi B et
ln(A). Notons α0 = ln(A) et α1 = B, il s’agit de chercher α0 et α1 solution du système linéaire

ªn
1. Ceci n’est pas équivalent à faire un fitting sur l’ensemble initial (x i , y i ) i =0 . En effet, si on note d i = y i − ae kxi et Di = ln(y i ) − (kx i + ln(a)),
©
© ªn
lorsqu’on calcule la droite de régression sur l’ensemble (x i , ln(y i )) i =0 on minimise Di et non d i .
ªn
2. À nouveau, ceci n’est pas équivalent à faire un fitting sur l’ensemble initial (x i , y i ) i =0 . En effet, si on note d i = y i − ax ik et Di = ln(y i ) −
©
© ªn
(k ln(x i ) + ln(a)), lorsqu’on calcule la droite de régression sur l’ensemble (ln(x i ), ln(y i )) i =0 on minimise Di et non d i .

© 2024-2026 G. Faccanoni 135


Chapitre 3. Approximation au sens des moindres carrés Dernière mise à jour : Mardi 30 septembre 2025

Pn ¶ µ ¶ µ Pn
x α0
µ ¶
(n + 1) ln(y i )
Pn Pni =0 2i = Pn i =0
x
i =0 i
x
i =0 i α1 x ln(y i )
i =0 i
α0
µ ¶µ ¶ µ ¶
4+1 1+2+3+4+5 ln(1) + ln(2) + ln(1) + ln(2) + ln(3)
=⇒ =
1 + 2 + 3 + 4 + 5 1 2 + 22 + 3 2 + 4 2 + 52 α1 1 × ln(1) + 2 × ln(2) + 3 × ln(1) + 4 × ln(2) + 5 × ln(3)
5 15 α0
µ ¶µ ¶ µ ¶
2 ln(2) + ln(3)
=⇒ =
15 55 α1 6 ln(2) + 5 ln(3)
5 15 α0
µ ¶µ ¶ µ ¶
2 ln(2) + ln(3)
=⇒ =
0 10 α1 2 ln(3)

Donc α1 = ln(3)
5 et α1 = ln(4)−ln(9)
5 et enfin B = α1 et A = e α0 .

import sympy as sp

# Données
xp = [1, 2, 3, 4, 5]
yp = [1, 2, 1, 2, 3]
log_yp = [[Link](y) for y in yp]
n = len(xp)

# Système
A = [Link]([[n, sum(xp)], [sum(xp), sum([x ** 2 for x in xp])]])
b = [Link]([sum(log_yp), sum([x * y for x, y in zip(xp, log_yp)])])
alpha0, alpha1 = [Link]() * b
A_val = [Link](alpha0)
B_val = alpha1

# Affichage des résultats


print(f"{A = }, {b = }")
print(f"alpha_0 = {alpha0} ainsi A = {A_val}")
print(f"alpha_1 = {alpha1} ainsi B = {B_val}")

# Graphes
import numpy as np
import [Link] as plt

xx = [Link](0, 6, 100)
f = lambda t: float(A_val) * [Link](float(B_val) * t)
yy = f(xx)

[Link]()
[Link](xp, yp, 'o', label='Points donnés')
[Link](xx, yy, label='Courbe de meilleure approximation')
[Link]('x')
[Link]('y')
[Link]()
[Link](True)
[Link]('approximation_exp.png')
# [Link]()

A = Matrix([
[ 5, 15],
[15, 55]]), b = Matrix([
[ log(3) + 2*log(2)],
[6*log(2) + 5*log(3)]])
alpha_0 = -2*log(3)/5 + 2*log(2)/5 ainsi A = 2**(2/5)*3**(3/5)/3

136 © 2024-2026 G. Faccanoni


Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 3. Approximation au sens des moindres carrés

alpha_1 = log(3)/5 ainsi B = log(3)/5

3.2. Fitting polynomiale


© ªn
On considère un ensemble de (n + 1) points expérimentaux (x i , y i ) i =0 et on suppose que les deux grandeurs x et y
sont liées, au moins approximativement, par une relation polynomiale, c’est-à-dire de la forme

m
aj x j ,
X
y≈
j =0

pour certaines constantes a j .


L’objectif est de déterminer les m + 1 coefficients a j de manière à ce que le polynôme

m
aj x j
X
f (x) =
j =0

s’ajuste le mieux possible aux points observés.


Pour chaque i , on définit l’écart vertical entre le point (x i , y i ) et le polynôme :

m
X j
d i (a 0 , . . . , a m ) = y i − a j xi .
j =0

La méthode des moindres carrés consiste à choisir les coefficients a j qui minimisent la somme des carrés de ces écarts,
c’est-à-dire la fonction E : Rm+1 → R+ définie par
à !2
n ¡ n m n ¡ ¢2
¢2 j
E (a 0 , . . . , a m ) = y i − a 0 − a 1 x i − a 2 x i2 − · · · − a m x im
X X X X
y i − f (x i ) = yi − a j xi = .
i =0 i =0 j =0 i =0

Pour minimiser E , on calcule ses points stationnaires, c’est-à-dire les solutions de

∂E
(a 0 , . . . , a m ) = 0, j = 0, . . . , m.
∂a j

Un calcul direct donne


à !
∂E n
j
m
k
n

x i y i − a 0 − a 1 x i − a 2 x i2 · · · − a m x im ,
X X X ¢
(a 0 , . . . , a m ) = −2 xi y i − a k x i = −2 j = 0, . . . , m.
∂a j i =0 k=0 i =0

© 2024-2026 G. Faccanoni 137


Chapitre 3. Approximation au sens des moindres carrés Dernière mise à jour : Mardi 30 septembre 2025

Ainsi, les coefficients a j vérifient le système linéaire Fa = b de (m+1) équations en les (m+1) inconnues a 0 , a 1 , a 2 , . . . , a m
suivant
Pn Pn Pn
n +1 x x2 ... xm
 
i =0 i i =0 i i =0 i
   Pn 
 n a0 i =0 i
y
P P n 2 P n 3 P n m+1 
 i =0 x i i =0 i
x i =0 i
x ... i =0 i
x  a   n x y 
P
P   1  P i =0 i i 
 n x2 Pn
x 3 Pn
x 4
. . .
Pn
x m+2 
a  n x2 y 
F =  i =0 i
 
2 i 
i =0 i i =0 i i =0 i , a =  ,  i =0. i  .
b=
   
.. .. .. .. . ..
 .. 
     
. . . .
   
  Pn m
Pn Pn Pn Pn am x yi
i =0 i
xm i =0 i
x m+1 i =0 i
x m+2 . . . i =0 i
x 2m i =0 i

ATTENTION
Lorsque m ≥ n, le polynôme de meilleure approximation coïncide avec le polynôme d’interpolation de Rn [x].

E XEMPLE
Considérons les 5 points { (1, 1), (2, 2), (3, 1), (4, 2), (5, 3) } (donc n = 4). On cherche la parabole de meilleure approximation
y = α0 + α1 x + α2 x 2 . Les coefficients α = (α0 , α1 , α2 )T sont solution du système

Fα = b,

avec Pn Pn  Pn
x2
  
(n + 1) xi y
i =0 i
 Pn Pni =0 2 Pni =0 i
F =  i =0 x i x3 , b =  ni=0 x i y i  .
P
x
 
Pn Pin=0 i3 Pin=0 i4 Pn
x2
i =0 i
x
i =0 i
x
i =0 i x2 y
i =0 i i
En explicitant les sommes, on obtient

12 + 22 + 32 + 42 + 52 α0
    
4+1 1+2+3+4+5 1+2+1+2+3
 1+2+3+4+5 12 + 2 2 + 3 2 + 42 + 5 2 1 3 + 2 3 + 3 3 + 4 3 + 5 3  α 1  =  1 × 1 + 2 × 2 + 3 × 1 + 4 × 2 + 5 × 3 
1 2 + 2 2 + 32 + 4 2 + 5 2 13 + 23 + 33 + 43 + 53 14 + 2 4 + 3 4 + 44 + 5 4 α 2 1 2 × 1 + 2 2 × 2 + 32 × 1 + 4 2 × 2 + 5 2 × 3
α0
    
5 15 55 9
⇝ 15 55 225 α1  =  31 
55 225 979 α2 125

La résolution donne

8
α0 = 5 = 1.6, α1 = − 16
35 ≈ −0.457, α2 = 1
7 ≈ 0.143.

Ainsi, la parabole de meilleure approximation est

y ≈ 1.6 − 0.457x + 0.143x 2 .

import sympy as sp

# Données
xp = [1, 2, 3, 4, 5]
yp = [1, 2, 1, 2, 3]
n = len(xp)

# Système

138 © 2024-2026 G. Faccanoni


Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 3. Approximation au sens des moindres carrés

g = lambda xp, q : sum([x ** q for x in xp])


A = [Link]([[g(xp,0), g(xp,1), g(xp,2)], [g(xp,1), g(xp,2), g(xp,3)],
,→ [g(xp,2), g(xp,3), g(xp,4)]])
h = lambda xp, yp, q : sum([x ** q * y for x,y in zip(xp,yp)])
b = [Link]([h(xp,yp,0), h(xp,yp,1), h(xp,yp,2)])
alpha0, alpha1, alpha2 = [Link]() * b

# Affichage des résultats


print(f"alpha_0 = {alpha0}")
print(f"alpha_1 = {alpha1}")
print(f"alpha_2 = {alpha2}")

# Graphes
import numpy as np
import [Link] as plt

xx = [Link](0, 6, 100)
f = lambda t: alpha0+alpha1*t+alpha2*t**2
yy = f(xx)

[Link]()
[Link](xp, yp, 'o', label='Points donnés')
[Link](xx, yy, label='Parabole de meilleure approximation')
[Link]('x')
[Link]('y')
[Link]()
[Link](True)
[Link]('approximation_parabole.png')
# [Link]()

alpha_0 = 8/5
alpha_1 = -16/35
alpha_2 = 1/7

Remarque
On observe que
• les coefficients de F sont des produits scalaires de vecteurs de la forme (x 0k , . . . , x nk ),
• les composantes de b sont des produits scalaires de ces vecteurs avec y = (y 0 , . . . , y n ).
On peut alors écrire
1 x 0 . . . x 0m
 
1 x
1 . . . x 1m 
F = AT A, b = AT y, où A =(x ik )i k = 
def
 
.. .
. .
.. 
. . . 
1 x n . . . x nm

La matrice A est une matrice de Vandermonde tronquée. Pour m = n, on retrouve la matrice de Vandermonde complète
et le système est celui de l’interpolation polynomiale.

ATTENTION
Le système des moindres carrés est en général mal conditionné : plus le degré m augmente, plus la matrice F devient
sensible aux erreurs numériques. C’est pourquoi, en pratique, on limite l’approximation polynomiale à des degrés
modestes (par exemple m ≤ 5) et l’on préfère recourir à des polynômes orthogonaux (Legendre, Chebyshev) qui
conduisent à des systèmes mieux conditionnés.

© 2024-2026 G. Faccanoni 139


Chapitre 3. Approximation au sens des moindres carrés Dernière mise à jour : Mardi 30 septembre 2025

Remarque (Lien avec les moments statistiques)


On remarque que les coefficients de la matrice F et du vecteur b sont des moments empiriques de la variable x (et du
couple (x, y)). Par exemple :
1 X n 1 X n
Mk (x) = x ik , Mk,1 (x, y) = x k yi .
n + 1 i =0 n + 1 i =0 i

Ainsi, la matrice F est essentiellement une matrice de moments (M j +k (x))0≤ j ,k≤m et b contient les moments mixtes
(M j ,1 (x, y))0≤ j ≤m .
La variance et la covariance utilisées dans le cas affine (m = 1) apparaissent alors comme des cas particuliers de ces
moments d’ordre 2 et des moments croisés entre x et y.

3.3. Fitting dans un espace vectoriel quelconque


La méthode des moindres carrés ne se limite pas aux polynômes. On peut considérer un espace vectoriel V engendré
par une famille de m + 1 fonctions indépendantes

φ j , j = 0, . . . , m .
© ª

Par exemple, on peut choisir des fonctions trigonométriques φ j (x) = cos( j x), des fonctions exponentielles φ j (x) = e j x ,
etc. Le choix de la famille {φ j } est généralement guidé par la nature supposée de la relation entre x et y.
© ªn
Considérons un ensemble de données (x i , y i ) i =0 . Nous supposons que y peut être approché par une combinaison
linéaire des éléments de cette famille :
m
a j φ j (x),
X
y(x) ≈
j =0

où les coefficients a j sont à déterminer. Pour chaque i , l’erreur d’approximation est

m
a j φ j (x i ).
X
d i (a 0 , . . . , a m ) = y i −
j =0

La méthode des moindres carrés consiste à minimiser la fonction E : Rm+1 → R+ définie par
à !2
n n m n ¡ ¢2
2
E (a 0 , . . . , a m ) = a j φ j (x i ) y i − a 0 φ0 (x i ) − a 1 φ1 (x i ) − a 2 φ2 (x i ) · · · − a m φm (x i ) .
X X X X
d i (a 0 , . . . , a m ) = yi − =
i =0 i =0 j =0 i =0

Un point stationnaire de E satisfait


∂E
= 0, k = 0, . . . , m.
∂a k
Puisque
à à !!
∂E n m n ¡
φ0 (x i ) y i − a j φ j (x i ) = −2 φ0 (x i ) y i − a 0 φ0 (x i ) − a 1 φ1 (x i ) − a 2 φ2 (x i ) · · · − a m φm (x i ) ,
X X X ¡ ¢¢
(a 0 , a 1 , . . . , a m ) = −2
∂a 0 i =0 j =0 i =0
à à !!
∂E n m n ¡
φ1 (x i ) y i − a j φ j (x i ) = −2 φ1 (x i ) y i − a 0 φ0 (x i ) − a 1 φ1 (x i ) − a 2 φ2 (x i ) · · · − a m φm (x i ) ,
X X X ¡ ¢¢
(a 0 , a 1 , . . . , a m ) = −2
∂a 1 i =0 j =0 i =0
..
.
à à !!
∂E n m n ¡
φm (x i ) y i − a j φ j (x i ) − 2 φm (x i ) y i − a 0 φ0 (x i ) − a 1 φ1 (x i ) − a 2 φ2 (x i ) · · · − a m φm (x i ) ,
X X X ¡ ¢¢
(a 0 , a 1 , . . . , a m ) = −2
∂a m i =0 j =0 i =0

on obtient alors le système linéaire de (m + 1) équations en les (m + 1) inconnues a 0 , a 1 , . . . , a m suivant

m n
³X ´ Xn
φk (x i )φ j (x i ) = φk (x i )y i ,
X
aj k = 0, . . . , m.
j =0 i =0 i =0
| {z }
Φk j

140 © 2024-2026 G. Faccanoni


Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 3. Approximation au sens des moindres carrés

Autrement dit     Pn
Φ00 Φ01 . . . Φ0m φ0 (x i )y i
 
a0 i =0
Φ Φ11 . . . Φ1m     Pn
  a 1   i =0 φ1 (x i )y i 

 01
 . .. ..  
 . = . .
 .
 . . .   ..   ..
   

Pn
Φ0m Φ1m . . . Φmm a m φ (x
m i i )y
| {z } | {z } | i =0 {z }
F a b
Pn k+ j
On retrouve le cas polynômial pour φ j (x) = x j , puisque alors Φk j = x
i =0 i
.
Remarque
La matrice F est en fait une matrice de Gram associée au produit scalaire discret
n
X
def
〈f ,g〉 = f (x i )g (x i ).
i =0

Ainsi Φk j = 〈φk , φ j 〉 et b j = 〈y, φ j 〉.


En particulier, si la famille (φ j )m j =0
est orthogonale pour ce produit scalaire, alors le système Fa = b est diagonal et les
coefficients se calculent indépendamment :
〈y, φ j 〉
aj = , j = 0, . . . , m.
〈φ j , φ j 〉
C’est notamment le cas pour les fonctions trigonométriques

φ0 (x) = 1, φ2k−1 (x) = cos(kx), φ2k (x) = sin(kx),

qui conduisent au développement en série de Fourier discrète.

E XEMPLE
Considérons les 5 points
(0, 1), ( π2 , 2), (π, 1), ( 3π
© ª
2 , 2), (2π, 3) .
On cherche la meilleure approximation dans l’espace engendré par

φ0 (x) = 1, φ1 (x) = cos(x) ,


© ª

c’est-à-dire de la forme
y(x) = α0 + α1 cos(x).
Le système s’écrit
¶ µ ¶ ÃPn !
φ0 (x i )y i
µPn Pn
φ (x )φ (x ) φ (x )φ (x ) α
Pni =0 0 i 0 i Pni =0 0 i 1 i 0 i
= Pn =0
.
φ (x )φ0 (x i )
i =0 1 i
φ (x )φ1 (x i ) α1
i =0 1 i φ1 (x i )y i i =0
En remplaçant φ0 (x) = 1 et φ1 (x) = cos(x) :
µ Pn Pn ¶µ ¶ Ã Pn !
1 cos(x ) α0 y
i =0 i
Pn i =0 Pni =0 2 i = Pn .
i =0
cos(x i) i =0
cos (x i ) α1 cos(x i )y i i =0
π 3π
Or, pour les x i = {0, 2 , π, 2 , 2π} on a

cos(x i ) = {1, 0, −1, 0, 1}, cos2 (x i ) = {1, 0, 1, 0, 1},

ainsi
n n n
cos2 (x i ) = 3,
X X X
1 = 5, cos(x i ) = 1,
i =0 i =0 i =0
et
n
X n
X
y i = 9, cos(x i )y i = 1 · 1 + 0 · 2 + (−1) · 1 + 0 · 2 + 1 · 3 = 3.
i =0 i =0
On obtient donc
α0
µ ¶µ ¶ µ ¶
5 1 9
= .
1 3 α1 3
La résolution donne
12
α0 = 7 , α1 = 37 .

© 2024-2026 G. Faccanoni 141


Chapitre 3. Approximation au sens des moindres carrés Dernière mise à jour : Mardi 30 septembre 2025

import sympy as sp

# Données
xp = [0, [Link]/2, [Link], [Link]*3/2, 2*[Link]]
yp = [1, 2, 1, 2, 3]
n = len(xp)

# Base
Phi = [lambda x : 1, lambda x : [Link](x)]

# Système
g = lambda xp, i,j: sum([Phi[i](x) * Phi[j](x) for x in xp])
A = [Link]([[g(xp,0,0), g(xp,0,1)], [g(xp,1,0), g(xp,1,1)]])
h = lambda xp, yp, i : sum([Phi[i](x) * y for x, y in zip(xp, yp)])
b = [Link]([h(xp, yp, 0), h(xp, yp, 1)])
alpha0, alpha1 = [Link]() * b

# Affichage des résultats


print(f"alpha_0 = {alpha0}")
print(f"alpha_1 = {alpha1}")

# Graphes
import numpy as np
import [Link] as plt

xx = [Link](0, 2*[Link], 100)


# Base
Phi = [lambda x : 1, lambda x : [Link](x)]
f = lambda t: alpha0*Phi[0](t)+alpha0*Phi[1](t)
yy = f(xx)

[Link]()
[Link](xp, yp, 'o', label='Points donnés')
[Link](xx, yy, label='Meilleure approximation')
[Link]('x')
[Link]('y')
[Link]()
[Link](True)
[Link]('approximation_cos.png')
# [Link]()

alpha_0 = 12/7
alpha_1 = 3/7

142 © 2024-2026 G. Faccanoni


Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 3. Approximation au sens des moindres carrés

Remarque
Notons que l’élément Φk j n’est rien d’autre que le produit scalaire discret du vecteur

(φk (x 0 ), φk (x 1 ), . . . , φk (x n ))

avec le vecteur
(φ j (x 0 ), φ j (x 1 ), . . . , φ j (x n )).
Pn
De même, l’élément b k = i =0
φk (x i )y i est le produit scalaire du vecteur

(φk (x 0 ), φk (x 1 ), . . . , φk (x n ))

avec le vecteur colonne y = (y 0 , y 1 , . . . , y n )T .


On peut alors écrire de manière compacte

F = AT A, b = AT y,

où la matrice rectangulaire (n + 1) × (m + 1) est définie par

φ0 (x 0 ) φ1 (x 0 ) φm (x 0 )
 
...
 φ (x ) φ (x ) ... φm (x 1 ) 
0 1 1 1
A=
def
 
.
 .. .. ..
 . . .


φ0 (x n ) φ1 (x n ) ... φm (x n )

Ainsi, le problème des moindres carrés s’écrit sous forme matricielle comme

min ∥Aa − y∥22 ,


a∈Rm+1

dont les équations sont


AT Aa = AT y.
Dans la pratique, il est déconseillé de résoudre directement ces équations (problèmes de conditionnement). On
préfère utiliser une factorisation A = QR (décomposition QR) ou une décomposition en valeurs singulières (SVD), qui
sont plus stables numériquement.
Enfin, si n = m et que A est inversible, le problème se réduit à l’interpolation directe : on résout alors exactement le
système carré Aa = y.

3.4. Résumé
Lorsqu’un chercheur met au point une expérience© (parce
ªn qu’il soupçonne un lien entre deux grandeurs x et y),
il obtient des données sous la forme de points (x i , y i ) i =0 , généralement affectées par des erreurs de mesure. En
représentant ces données, l’objectif est de trouver une fonction f qui s’ajuste le mieux possible aux points observés.

© 2024-2026 G. Faccanoni 143


Chapitre 3. Approximation au sens des moindres carrés Dernière mise à jour : Mardi 30 septembre 2025

On note
def
d i = y i − f (x i )
l’écart vertical du point (x i , y i ) par rapport à la fonction f . La méthode des moindres carrés consiste à chercher f dans
un espace vectoriel V choisi, de sorte que la somme des carrés des écarts soit minimale :
n ¡ ¢2
min E f , Ef =
X
y i − f (x i ) .
f ∈V i =0

On suppose que V est de dimension m + 1, engendré par les fonctions de base (φ0 , φ1 , . . . , φm ). Alors toute fonction
f ∈ V s’écrit
m
a j φ j (x),
X
f (x) =
j =0

et l’erreur devient à !2
n m
E (a 0 , . . . , a m ) = a j φ j (x i )
X X
yi − .
i =0 j =0

Le gradient de E s’annule en un vecteur a = (a 0 , . . . , a m )T qui satisfait le système :


 Pn Pn     Pn
φ0 (x i )φ0 (x i ) ··· φ0 (x i )φm (x i ) a0 φ (x )y

i =0 i =0 i =0 0 i i
.. ..   ..   ..
 .  =  .
 
 . . .
Pn Pn Pn
φm i )φ0 (x i )
(x ··· φ (x )φm (x i ) a m
i =0 m i
φm (x i )y i
| i =0 {z } | i =0 {z }
F b

Notons que, si n = m, il s’agit d’une interpolation.


Cas particuliers :
• Si φ j (x) = x j , on obtient la régression polynomiale.
◦ m = 1 : droite de regression f = a0 + a1 x. a0 et a1 sont alors solution du système linéaire
· Pn ¸ · ¸ · Pn ¸
(n + 1) x a0 yi
Pn Pni =0 2i = Pn
i =0
x
i =0 i
x
i =0 i a1 x y
i =0 i i

et la droite passe par le point moyen (x̄, ȳ).


j +k
◦ m > 1 : régression polynomiale de degré m, avec matrice F j k =
Pn
x
i =0 i
.
• Si φ j (x) = e j x , φ j (x) = cos( j x), ou d’autres choix (ex. φ j (x) = x − j ), on obtient des régressions adaptées à la
situation.

E XEMPLE
Considérons l’ensemble de 3 points (n = 2)
{ (−2, 4), (0, 0), (1, 1) } .
On cherche la fonction de meilleure approximation f dans différents espaces vectoriels.
1. Régression linéaire polynomiale (m = 1) f (x) = a 0 + a 1 x, avec φ j (x) = x j ( j = 0, 1). Le système est
µ Pn ¶ µ ¶ µ Pn ¶ µ ¶µ ¶ µ ¶
(n + 1) x a0 yi 3 −1 a0 5
Pn Pni =0 2i = Pni =0 ⇝ = ,
x
i =0 i
x
i =0 i a1 y x
i =0 i i
−1 5 a1 −7

d’où
9 8 9 8
a0 = , a1 = − , f (x) = − x.
7 7 7 7
2. Régression quadratique polynomiale (m = 2) f (x) = a 0 + a 1 x + a 2 x 2 , avec φ j (x) = x j ( j = 0, 1, 2). Le système est
Pn Pn     Pn
x x 2 a0
      
(n + 1) y 3 −1 5 a0 5
Pni =0 2i Pin=0 i3 Pni =0 i
 n xi
P
x x  a 1  =  i =0 y i x i  ⇝ −1 5 −7 a 1  = −7 .
Pni =0 2 Pin=0 i3 Pin=0 i4 Pn
x
i =0 i
x
i =0 i
x
i =0 i
a2 y x2
i =0 i i 5 −7 17 a 2 17

On trouve a 0 = a 1 = 0, a 2 = 1, donc f (x) = x 2 . Ici, l’erreur est nulle car m = n, on retrouve exactement le polynôme
d’interpolation.

144 © 2024-2026 G. Faccanoni


Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 3. Approximation au sens des moindres carrés

3. Régression exponentielle (m = 1) f (x) = a 0 + a 1 e x , avec φ j (x) = e j x ( j = 0, 1). On obtient


µPn Pn ¶ µ ¶ µPn
φ (x )φ (x ) φ (x )φ (x ) a 0 φ0 (x i )y i e −2 + 1 + e a 0
¶ µ ¶µ ¶ µ ¶
3 5
Pin=0 0 i 0 i Pin=0 0 i 1 i = Pin=0 ⇝ = .
φ (x )φ1 (x i )
i =0 0 i
φ (x )φ1 (x i ) a 1
i =0 1 i
φ (x )y
i =0 1 i i
e −2 + 1 + e e −4 + 1 + e 2 a 1 4e −2 + e
Numériquement : a 0 ≈ 2.842, a 1 ≈ −0.915.
4. Régression exponentielle quadratique (m = 2) f (x) = a 0 + a 1 e x + a 2 e 2x . Le système conduit à
Pn Pn Pn    Pn
φ (x )φ (x ) φ (x )φ (x ) φ (x )φ (x φ (x )y

a0
Pi =0 0 i 0 i Pni =0 0 i 1 i Pni =0 0 i 2 i Pin=0 0 i i
 n φ1 (x i )φ0 (x i ) φ (x )φ (x ) φ (x )φ (x ) a 1  =  i =0 φ1 (x i )y i 
Pni =0 Pni =0 1 i 1 i Pni =0 1 i 2 i Pn
φ (x )φ0 (x i )
i =0 2 i i =0
φ2 (x i )φ1 (x i ) φ (x )φ2 (x i ) a 2
i =0 2 i
φ (x )y
i =0 2 i i
e + 1 + e e −4 + 1 + e 2 a 0
−2
    
3 5
⇝  e −2 + 1 + e e −4 + 1 + e 2 e −6 + 1 + e 3  a1  =  4e −2 + e  ,
e −4 + 1 + e 2 e −6 + 1 + e 3 e −8 + 1 + e 4 a 2 4e −4 + e 2
soit numériquement
a 0 ≈ 4.899, a 1 ≈ −6.915, a 2 ≈ 2.016.
Ici, l’erreur est nulle car m = n, on retrouve exactement la fonction d’interpolation.

y = a 0 + a 1 e x + a 2 e 2x
y

y = a0 + a1 x + a2 x 2

x
y = a0 + a1 x
y = a0 + a1 e x

import sympy as sp

def exemple(x_data,y_data,m,phi):
n = len(x_data) # attention ici n = nb de points

# La fonction dont on cherche les coordonnées dans la base choisie


# ================================================================

coeffs = [Link](f'a_0:{m+1}')
x = [Link]('x')
f = lambda coeffs: sum( coeffs[j] * phi(x,j) for j in range(m+1) )

# Fonction d'erreur (somme des carrés des écarts)


# ================================================
error = lambda coeffs: sum((y_data[i] - f(coeffs).subs(x, x_data[i]))**2
,→ for i in range(n))

# Calcul des dérivées partielles (pour minimiser l'erreur)


# ========================================================
gradient = [[Link](error(coeffs), c) for c in coeffs]

© 2024-2026 G. Faccanoni 145


Chapitre 3. Approximation au sens des moindres carrés Dernière mise à jour : Mardi 30 septembre 2025

# Résolution du système linéaire


# =================================================================
solution = [Link](gradient, coeffs)

# Affichage des résultats en LaTeX


latex_output = f"Les coefficients estimés sont : \n"
latex_output += "\["
for c in coeffs:
latex_output += f"{c} = {[Link](solution[c])} \\approx
,→ {solution[c].evalf():.3f}\\qquad "
latex_output += "\]"
print(latex_output)

# Définition des données


x_data = [-2, 0, 1]
y_data = [4, 0, 1]

# (m, phi(x,j))
TESTS = [ (1, lambda x,j : x**j),
(2, lambda x,j : x**j),
(1, lambda x,j : [Link](j*x)),
(2, lambda x,j : [Link](j*x))]

for i,test in enumerate(TESTS):


print("Test", i+1)
exemple(x_data,y_data,test[0],test[1])

Test 1 Les coefficients estimés sont :


9 8
a0 = ≈ 1.286 a 1 = − ≈ −1.143
7 7
Test 2 Les coefficients estimés sont :

a 0 = 0 ≈ 0.000 a 1 = 0 ≈ 0.000 a 2 = 1 ≈ 1.000

Test 3 Les coefficients estimés sont :


−e − 1 + 3e 2 + 8e 3 + 3e 4 + 4e 5 −7e 3 − 2e 4 − 7e 2
a0 = ≈ 2.842 a1 = ≈ −0.915
−2e − 2 + 2e 3 + 2e 5 −2e − 2 + 2e 3 + 2e 5
Test 4 Les coefficients estimés sont :
1 + e + 4e 5 −4e 4 − e 2 − 1 e 2 + e 3 + 4e 4
a0 = ≈ 4.899 a1 = ≈ −6.915 a2 = ≈ 2.016
−e 3 − e 2 + 1 + e 5 −e 3 − e + 1 + e 4 −e 3 − e 2 + 1 + e 5

E XEMPLE
Considérons l’ensemble de 3 points
{ (1, 2), (2, 0), (3, −1) } , n = 2.
a1 a1 a2
On se propose de calculer les fonctions de meilleure approximation avec f (x) = a 0 + et f (x) = a 0 + + 2.
x x x
a1
1. f (x) = a 0 + : cela correspond à m = 1 avec φ0 (x) = 1, φ1 (x) = x1 .
x
On cherche a 0 , a 1 qui minimisent
2 ³ 1 ´2
E (a 0 , a 1 ) =
X
y i − a0 − a1 .
i =0 xi
Les équations donnent
1
P P 
µPn Pn ¶ µ ¶ µPn 1 ¶ Ã Py !
φ (x )φ (x ) φ (x )φ (x ) a 0 φ0 (x i )y i
¶ µ
a
xi i
Pin=0 0 i 0 i Pin=0 0 i 1 i = Pin=0 ⇝ 0
= P 1 .
φ (x )φ1 (x i ) φ (x )φ1 (x i ) a 1 φ (x )y
P P 1
1 a1
i =0 0 i i =0 1 i i =0 1 i i xi 2 xi yi xi

146 © 2024-2026 G. Faccanoni


Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 3. Approximation au sens des moindres carrés

En remplaçant par les données :


à 11 ! µ ¶ à !
3 6 a0 0
= .
11 49 a1 5
6 36 3
La solution est
a 0 ≈ −4.231, a 1 ≈ 6.923 ⇝ f (x) ≈ −4.23 + 6.92
x .
a1 a2 1 1
2. f (x) = a 0 + + 2 : cela correspond à m = 2 avec φ0 (x) = 1, φ1 (x) = x et φ2 (x) = x2
.
x x
On cherche a 0 , a 1 et a 2 qui minimisent l’erreur quadratique
2 ³ ´2
E (a 0 , a 1 , a 2 ) = y i − a 0 − a 1 x1 − a 2 x12
X
.
i i
i =0

Cela impose la résolution du système linéaire


Pn Pn Pn    Pn
φ (x )φ (x ) φ (x )φ (x ) φ (x )φ (x φ (x )y

a0
Pi =0 0 i 0 i Pni =0 0 i 1 i Pni =0 0 i 2 i Pin=0 0 i i
 n φ1 (x i )φ0 (x i ) φ (x )φ (x ) φ (x )φ (x ) a 1  =  i =0 φ1 (x i )y i 
Pni =0 Pni =0 1 i 1 i Pni =0 1 i 2 i Pn
φ (x )φ0 (x i )
i =0 2 i
φ (x
i =0 2 i
)φ1 (x i ) φ (x )φ2 (x i ) a 2
i =0 2 i
φ (x )y
i =0 2 i i
 Pn Pn 1 Pn 1 
i =0
1 i =0 x i i =0 x 2
   Pn y 
 Pn 1 Pn 1 Pn 1i  a 0 Pn i =01 i 
⇝   a 1  =  yi
P i =0 x i i =0 2
xi i =0 3
xi   Pni =0 x1i 
n 1 P n 1 P n 1 a2 y
i =0 x 2 i
2 3
i =0 x 4
i =0 x i =0 x i
i i i

En remplaçant par les données :


1
 
 11 49   
3 6 36 a0
 11 49 251     5 
6 36 216
a1 =  3  .
49 251 1393
36 216 1296
a2 17
9
Donc
a 0 = − 72 , a1 = 17
2 , a 2 = −3,
i.e. f (x) = − 72
+ − 17
2x
3
x2
.
Ici l’erreur est nulle car m = n, on retrouve exactement la fonction d’interpolation.
y

y = a +a 1
y = a 00 + a 11 xx1 + a 2 x12

import sympy as sp

def exemple(x_data,y_data,m,phi):
n = len(x_data) # attention ici n = nb de points

# La fonction dont on cherche les coordonnées dans la base choisie


# ================================================================

coeffs = [Link](f'a_0:{m+1}')

© 2024-2026 G. Faccanoni 147


Chapitre 3. Approximation au sens des moindres carrés Dernière mise à jour : Mardi 30 septembre 2025

x = [Link]('x')
f = lambda coeffs: sum( coeffs[j] * phi(x,j) for j in range(m+1) )

# Fonction d'erreur (somme des carrés des écarts)


# ================================================
error = lambda coeffs: sum((y_data[i] - f(coeffs).subs(x, x_data[i]))**2
,→ for i in range(n))

# Calcul des dérivées partielles (pour minimiser l'erreur)


# ========================================================
gradient = [[Link](error(coeffs), c) for c in coeffs]

# Résolution du système linéaire


# =================================================================
solution = [Link](gradient, coeffs)

# Affichage des résultats en LaTeX


latex_output = f"Les coefficients estimés sont : \n"
latex_output += "\["
for c in coeffs:
latex_output += f"{c} = {[Link](solution[c])} \\approx
,→ {solution[c].evalf():.3f}\\qquad "
latex_output += "\]"
print(latex_output)

# Définition des données


x_data = [1, 2, 3]
y_data = [2, 0,-1]

# (m, phi(x,j))
TESTS = [ (1, lambda x,j : x**(-j)),
(2, lambda x,j : x**(-j))]

for i,test in enumerate(TESTS):


print("Test", i+1)
exemple(x_data,y_data,test[0],test[1])

Test 1 Les coefficients estimés sont :


61 57
a0 = − ≈ −2.346 a1 = ≈ 4.385
26 13
Test 2 Les coefficients estimés sont :
7 17
a 0 = − ≈ −3.500 a1 = ≈ 8.500 a 2 = −3 ≈ −3.000
2 2

148 © 2024-2026 G. Faccanoni


Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 3. Approximation au sens des moindres carrés

3.5. Exercices
Exercice 3.1 (Fitting trigonométrique) © ªn
On considère un ensemble de points expérimentaux (x i , y i ) i =0 et on suppose que les deux grandeurs x et y
sont liées, au moins approximativement, par une relation de la forme y = a sin( π2 x) + b cos( π2 x). On souhaite alors
trouver les constantes a et b pour que la courbe d’équation y = a sin( π2 x) + b cos( π2 x) s’ajuste le mieux possible
aux points observés (on parle de courbe de meilleure approximation).
Soit d i = y i − (a sin( π2 x i ) + b cos( π2 x i )) l’écart vertical du point (x i , y i ) par rapport à la courbe. La méthode de
régression (ou des moindres carrés) est celle qui choisit a et b de sorte que la somme des carrés de ces déviations
soit minimale. Pour cela, on doit minimiser la fonction E définie par

E : R2 → R+
n
(a, b) 7→ E (a, b) = d i2 .
X
i =0

Écrire et résoudre le système linéaire qui permet de calculer a et b.

Correction
Pour minimiser E on cherche ses points stationnaires. Puisque
n ³ ³ π π ´´2
E (a, b) =
X
y i − a sin( x i ) + b cos( x i )
i =0 2 2
calculons tout d’abord les deux dérivées partielles
à !
∂E Xn ¡ ¡ ¡π ¢ ¡ π ¢¢¢ ¡π ¢
(a, b) = −2 y i − a sin 2 x i + b cos 2 x i sin 2 x i ,
∂a i =0
à !
∂E Xn ¡ ¡ ¡π ¢ ¡ π ¢¢¢ ¡π ¢
(a, b) = −2 y i − a sin 2 x i + b cos 2 x i cos 2 x i ,
∂b i =0

et cherchons quand elles s’annulent en même temps. On obtient

∂E
y − a sin π2 x i + b cos π2 x i sin( π2 x i ) = 0
( (P ¡
n
¡ ¡ ¢ ¡ ¢¢¢
∂a (a, b) = 0 ⇐⇒ i =0 ¡ i ¡
∂E n
y − a sin π2 x i + b cos π2 x i cos( π2 x i ) = 0
P ¡ ¢ ¡ ¢¢¢
∂b (a, b) = 0 i =0 i

a sin π2 x i + b cos π2 x i sin( π2 x i ) = ni=0 y i sin( π2 x i )


(P ¡¡
n
¡ ¢ ¡ ¢¢¢ P
⇐⇒ Pin=0 ¡¡
a sin 2 x i + b cos 2 x i cos( π2 x i ) = ni=0 y i cos( π2 x i )
¡π ¢ ¡ π ¢¢¢ P
i =0
sin2¢ π2 x i¡ sin π2 x i ¡cos ¢π2 x i y i sin ¡ π2 x i ¢
· Pn ¡ ¢ Pn ¡ ¢ ¡ ¢¸ · ¸ ·Pn ¡ ¢¸
i =0 i =0
a i =0
⇐⇒ Pn = Pn .
sin π2 x i cos π2 x i cos2 π2 x i y cos π2 x i
¡ ¢ Pn
i =0 i =0
b i =0 i
Si on note
n n n n n
sin2 π2 x i ,
¡π ¡π ¡π ¡π ¡π
cos2
X ¡ ¢ X ¢ ¢ X ¢ X ¢ X ¢
U≡ V≡ sin 2 xi cos 2 xi , W≡ 2 xi , P≡ y i sin 2 xi , Q≡ y i cos 2 xi ,
i =0 i =0 i =0 i =0 i =0

on doit résoudre le système linéaire µ ¶µ ¶ µ ¶


U V a P
=
V W b Q
dont la solution est
WP − VQ UQ − VP
a= , b= .
UW − V 2 UW − V 2

Exercice 3.2 (Fitting linéaire avec deux variables)


La méthode de régression s’étend facilement à des données qui dépendent de deux ou plusieurs variables. On
© ªn
considère un ensemble de points expérimentaux (x i , y i , z i ) i =0 et on suppose que les trois grandeurs x, y et z
sont liées, au moins approximativement, par une relation affine de la forme z = a + bx + c y. On souhaite alors
trouver les constantes a, b et c pour que le plan d’équation z = a + bx + c y s’ajuste le mieux possible aux points
observés (on parle de plan de meilleure approximation).

© 2024-2026 G. Faccanoni 149


Chapitre 3. Approximation au sens des moindres carrés Dernière mise à jour : Mardi 30 septembre 2025

Soit d i = z i − (a + bx i + c y i ) l’écart vertical du point (x i , y i , z i ) par rapport au plan. La méthode de régression


(ou des moindres carrés) est celle qui choisit a, b et c de sorte que la somme des carrés de ces déviations soit
minimale. Pour cela, on doit minimiser la fonction E définie par

E : R3 → R+
n
(a, b, c) 7→ E (a, b, c) = d i2 .
X
i =0

1. Écrire le système linéaire qui permet de calculer a, b et c


© ª5
2. Calculer l’équation du plan de meilleure approximation pour l’ensemble (x i , y i , z i ) i =0 où

i 0 1 2 3 4 5
xi 0 0 1 2 2 2
yi 0 1 0 0 1 2
3 1 1
zi 2 2 2 0 2 1

On utilisera la méthode du pivot de G AUSS pour la résolution du système linéaire.

Correction
1. Pour minimiser E on cherche ses points stationnaires. Puisque
à !
∂E Xn
(a, b, c) = −2 (z i − (a + bx i + c y i )) ,
∂a i =0
à !
∂E Xn
(a, b, c) = −2 (z i − (a + bx i + c y i ))x i ,
∂b i =0
à !
∂E Xn
(a, b, c) = −2 (z i − (a + bx i + c y i ))y i ,
∂c i =0

on obtient
 ∂E Pn Pn Pn
 ∂a (a, b, c) = 0
 Pi =0 (z i − (a + bx i + c y i )) = 0
 Pi =0 (a + bx i + c y i ) = i =0P
 zi
∂E n n 2 n
∂b (a, b, c) = 0 (z − (a + bx i + c y i ))x i = 0 ⇐⇒ bx c y x z x
⇐⇒ i =0 i i =0
(ax i + i
+ i i ) = i =0 i i
 ∂E
 
Pn 
Pn 2 P n
∂c (a, b, c) = 0 (z − (a + bx i + c y i ))y i = 0
i =0 i i =0
(a y i + bx i y i + c y i ) = i =0 z i y i
 Pn Pn     Pn 
(n + 1) x y a z
Pni =0 2i Pni =0 i Pni =0 i
⇐⇒  ni=0 x i
P
x x i y i  b  =  i =0 z i x i  .
Pn Pni =0 i Pi =0
n Pn
y
i =0 i
x y
i =0 i i
y2
i =0 i
c z y
i =0 i i

2. Dans notre cas,


n
X n
X n
X 11
xi = 7 yi = 4 zi =
i =0 i =0 i =0 2
n
X n
X 7 n
X 9
xi y i = 6 xi zi = y i zi =
i =0 i =0 2 i =0 2
n n
x i2 = 13 y i2 = 6
X X
n +1 = 6
i =0 i =0

donc on a le système linéaire


     11 
6 7 4 a 2
7 13 6 b  =  72 
9
4 6 6 c 2
qu’on peut résoudre par la méthode de G AUSS

 11  L2 ←L2 − 67 L1  11   11 
6 7 4 6 7 4 6 7 4
2
7 L3 ←L3 − 32 L1 29 4
2 8
L3 ←L3 − 29 L2 2
 7 13 6 2
 −−−−−−−−→  0
6 3 − 35
12
 −−−−−−−−−→  0 29
6
4
3
35
− 12 
9 4 10 5 86 95
4 6 6 2 0 3 3 6 0 0 29 58

150 © 2024-2026 G. Faccanoni


Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 3. Approximation au sens des moindres carrés

dont la solution est


   123   
a 86 1.430232557
b  = − 65  ≈ −0.7558139503 .
86
95
c 172
0.5523255766

Exercice 3.3 (Fitting linéaire) y


Calculer la droite de meilleur approximation de l’en- 5
semble de points suivant : 4
3
x 1 2 3 4 5 2
1
y 0.9 1.5 3.5 4.2 4.9
012345x

Correction
Nous avons 5 points, ainsi n = 4.
Il s’agit de chercher a 0 et a 1 qui minimisent l’erreur E (a 0 , a 1 ) = ni=0 (y i − (a 0 + a 1 x i ))2 . Cela impose la résolution du
P

système linéaire
µPn Pn ¶ µ ¶ µ Pn
x i0
¶ · ¸· ¸ · ¸
i =0 i =0
xi a0 i =0
yi 5 15 a 0 15.0
Pn Pn = Pn =⇒ =
x
i =0 i
x 2 a1
i =0 i
y x
i =0 i i
15 55 a 1 55.7

Donc a 0 ≈ −0.21 et a 1 ≈ 1.07.

Exercice 3.4 (Fitting parabolique)


À partir des données

x 1.0 2.5 3.5 4.0 1.1 1.8 2.2 3.7


y 6.008 15.722 27.130 33.772 5.257 9.549 11.098 28.828

on veut calculer la droite et la parabole de régression et comparer les erreurs des chaque régression.

Correction
Nous avons 8 points donc n = 7.

1. La droite de régression a équation y = a 0 + a 1 x avec a 0 , a 1 solution du système linéaire


µP7 P7 ¶ µ ¶ µ P7
x0
¶ · ¸· ¸ · ¸
x a0 yi 8.0 19.8 a0 137.364
Pi7=0 i P7i =0 2i = P7 i =0 i.e. =
i =0 x i i =0 x i
a1 i =0 y i x i
19.8 58.48 a1 429.4061

et on obtient
(
a 0 ≈ −6.1899,
a 1 ≈ 9.43854.

2. La parabole de régression a équation y = a 0 + a 1 x + a 2 x 2 avec a 0 , a 1 , a 2 solution du système linéaire


P7 P7     P7
x x 2 a0
      
8 y 8.0 19.8 58.48 a0 137.364
P7i =0 2i Pi7=0 i3 P7 i =0 i
 7 xi
P
x x  a 1  =  i =0 y i x i  i.e.  19.8 58.48 191.964  a 1  =  429.4061 
P7i =0 2 Pi7=0 i3 Pi7=0 i4 P7 2
i =0 x i i =0 x i i =0 x i
a2 i =0 y i x i
58.48 191.964 668.9284 a 2 1462.63437

et on obtient

a 0 ≈ 4.40567,

a 1 ≈ −1.0689,

a 2 ≈ 2.10812.

© 2024-2026 G. Faccanoni 151


Chapitre 3. Approximation au sens des moindres carrés Dernière mise à jour : Mardi 30 septembre 2025

40

30

20

10

1 2 3 4 x

# Définition des données


x_data = [1.0, 2.5, 3.5, 4.0, 1.1, 1.8, 2.2, 3.7]
y_data = [6.008, 15.722, 27.130, 33.772, 5.257, 9.549, 11.098, 28.828]

# Variables pour les coefficients de la droite


alpha_0, alpha_1, alpha_2 = [Link](r'\alpha_0 \alpha_1 \alpha_2')

# Fonction d'erreur (somme des carrés des écarts)


error = sum((y - (alpha_0 + alpha_1 * x))**2 for x, y in zip(x_data, y_data))

# Calcul des dérivées partielles et égalisation à zéro


grad_alpha_0 = [Link](error, alpha_0)
grad_alpha_1 = [Link](error, alpha_1)

# Résolution du système d'équations


solution = [Link]((grad_alpha_0, grad_alpha_1), (alpha_0, alpha_1))

latex_output = f"Les coefficients de la droite d'ajustement sont : \n"


latex_output += f"$\\alpha_0 = {[Link](solution[alpha_0])}, \\quad
,→ \\alpha_1 = {[Link](solution[alpha_1])}$"+"\n\n"
print(latex_output)

# Fonction d'erreur (somme des carrés des écarts)


error = sum((y - (alpha_0 + alpha_1 * x + alpha_2 * x**2))**2 for x, y in
,→ zip(x_data, y_data))

# Calcul des dérivées partielles et égalisation à zéro


grad_alpha_0 = [Link](error, alpha_0)
grad_alpha_1 = [Link](error, alpha_1)
grad_alpha_2 = [Link](error, alpha_2)

# Résolution du système d'équations


solution = [Link]((grad_alpha_0, grad_alpha_1, grad_alpha_2), (alpha_0,
,→ alpha_1, alpha_2))

latex_output = f"Les coefficients de la parabole d'ajustement sont : \n"


latex_output += f"$\\alpha_0 = {[Link](solution[alpha_0])}, \\quad
,→ \\alpha_1 = {[Link](solution[alpha_1])}, \\quad \\alpha_2 =
,→ {[Link](solution[alpha_2])}$"
print(latex_output)

Les coefficients de la droite d’ajustement sont : α0 = −6.18989525065963, α1 = 9.43854353562005


Les coefficients de la parabole d’ajustement sont : α0 = 4.40567376946054, α1 = −1.06889613092542, α2 = 2.1081182154008

152 © 2024-2026 G. Faccanoni


Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 3. Approximation au sens des moindres carrés

Exercice 3.5 (Fitting parabolique)


Le tableau ci-dessous donne la conductivité thermique k du sodium pour différentes valeurs de la température.
On veut calculer la parabole de meilleur approximation.

T (°C) 79 190 357 524 690


k 1.00 0.932 0.839 0.759 0.693

Correction
La parabole de régression a équation y = a 0 + a 1 x + a 2 x 2 avec a 0 , a 1 , a 2 solution du système linéaire
P4 P4     P4
x x 2 a0
      
y 5 1840 920466 a0 4.223
P4i =0 2i Pi4=0 i3 P4 i =0 i
 4 xi
P
x x  a 1  =  i =0 y i x i  i.e.  1840 920466 525238156  a 1  =  1431.489 
P4i =0 2 Pi4=0 i3 Pi4=0 i4 P4 2
i =0 x i i =0 x i i =0 x i
a2 i =0 y i x i 920466 525238156 319648597458 a 2 685156.395

et on obtient 
a 0 = 1.05258944046584,

a 1 = −0.000680740001043015,

a 2 = 2.30985609017547 · 10−7 .

# Définition des données


x_data = [79 , 190 , 357 , 524 , 690]
y_data = [1.00 , 0.932 , 0.839 , 0.759 , 0.693]

# Variables pour les coefficients de la droite


alpha_0, alpha_1, alpha_2 = [Link](r'\alpha_0 \alpha_1 \alpha_2')

# Fonction d'erreur (somme des carrés des écarts)


error = sum((y - (alpha_0 + alpha_1 * x + alpha_2 * x**2))**2 for x, y in
,→ zip(x_data, y_data))

# Calcul des dérivées partielles et égalisation à zéro


grad_alpha_0 = [Link](error, alpha_0)
grad_alpha_1 = [Link](error, alpha_1)
grad_alpha_2 = [Link](error, alpha_2)

# Résolution du système d'équations


solution = [Link]((grad_alpha_0, grad_alpha_1, grad_alpha_2), (alpha_0,
,→ alpha_1, alpha_2))

# Affichage des résultats en LaTeX


latex_output = f"Les coefficients de la parabole d'ajustement sont : \n"
latex_output += f"$\\alpha_0 = {[Link](solution[alpha_0])}, \\quad
,→ \\alpha_1 = {[Link](solution[alpha_1])}, \\quad \\alpha_2 =
,→ {[Link](solution[alpha_2])}$"
print(latex_output)

Les coefficients de la parabole d’ajustement sont : α0 = 1.05258944046584, α1 = −0.000680740001043022, α2 =


2.30985609017557 · 10−7

Exercice 3.6 (Fitting polynomial)


La viscosité cinématique µ de l’eau varie en fonction de la température comme dans le tableau suivant :

T (°C) 0 21.1 37.8 54.4 71.1 87.8 100


µ (10−3 m2 s−1 ) 1.79 1.13 0.696 0.519 0.338 0.321 0.296

© 2024-2026 G. Faccanoni 153


Chapitre 3. Approximation au sens des moindres carrés Dernière mise à jour : Mardi 30 septembre 2025

On veut évaluer les valeurs µ(10◦ ), µ(30◦ ), µ(60◦ ), µ(90◦ ) par le polynôme de meilleur approximation de degré 3.

Correction ª6
On a la famille de points (Ti , µi ) i =0 . Le polynôme de meilleur approximation de degré 3 s’écrit
©

r (T) = a 0 + a 1 T + a 2 T 2 + a 3 T 3

où a 0 , a 1 , a 2 , a 3 sont solution du système linéaire


P6 P6 P6     P6
6 T T2 T3 a0 µ
 
P6 P6i =0 2i Pi6=0 i3 Pi6=0 i4 P6 i =0 i
Ti T T T  a 1   i =0 µi Ti 
   
P i =0 i =0 i Pi6=0 i4 Pi6=0 i5 
 6 T 2 P6 T 3 T T  a 2  = P6 µi T 2 
Pi6=0 i3 Pi6=0 i4 Pi6=0 i5 Pi6=0 i6 P6i =0 i
3
i =0 µi Ti
i =0 Ti i =0 Ti i =0 Ti i =0 Ti
a3

i.e.
7.0 372.2 27597.46 2260654.85 a0 5.09
    

 a 1  = 
 372.2 27597.46 2260654.85 195978969.589     160.201 
 
 27597.46 2260654.85 195978969.589 17592371724.1956 a 2   10176.6664 
2260654.85 195978969.589 17592371724.1956 1616216676927.38 a 3 766509.794788
et on obtient 
a 0 = 1.7957089455664152,



a = −0.039321279744794845,
1


 a 2 = 0.0003285691641953032,

a 3 = −8.458861661547231e − 07.

On a alors

r (10◦ ) = 1.4345071783718424 r (30◦ ) = 0.8889438745121652 r (60◦ ) = 0.4365697400923958 r (90◦ ) = 0.301552983390042

Exercice 3.7
Considérons n = 10 points Pi = (x i , y i ) avec x i = (i − 1)/(n − 1), i = 1, . . . , n et y i = 2x i + 1 + ϵi avec ϵi ∈]0; 0.01[
généré aléatoirement avec une distribution normale. Comparer l’interpolation et le fitting linéaire sur ce jeu de
points.

Correction

to do

Exercice 3.8 (Fitting non polynomial) © ªn


Considérons l’ensemble de points (x i , y i ) i =0 ainsi construit : x i ∈ [−1; 1] tous distincts et y i = (x i −1)x i (x i +1)+r i
où r i ∈ [−0.6; 0.6] peut être considéré comme un bruit aléatoire associé au signal (x i − 1)x i (x i + 1). On cherche
une fonction d’équation y = m a φ (x ) qui approche au mieux cet ensemble de points. Pour cela, on doit
P
j =0 j j i
minimiser la fonction E : Rm+1 → R+ définie par
à !2
n m
E (a 0 , a 1 , . . . , a m ) = a j φ j (x i )
X X
yi − .
i =0 j =0

Il faut alors fixer m et résoudre le système linéaire AT Aa = AT y de (m + 1) équations en les (m + 1) inconnues


a 0 , a 1 , . . . , a m avec y = (y 0 , y 1 , . . . , y n ) et

φ0 (x 0 ) φ1 (x 0 ) . . . φm (x 0 )
 
 φ (x ) φ (x ) . . . φ (x ) 
 0 1 1 1 m 1 
A= .
def  .
. .. ..
 . . .


φ0 (x n ) φ1 (x n ) . . . φm (x n )
| {z }
n×m

154 © 2024-2026 G. Faccanoni


Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 3. Approximation au sens des moindres carrés

Choisissons les fonctions φ j de la forme φ j (x) = sin( j πx), j = 0, . . . , m. Soit n = 20 et m = 2. Comparer sur un
graphe la fonction y = (x − 1)x(x + 1) (le signal souhaité), les points (le signal bruité) et la fonction de meilleure
approximation (le signal lissé). Estimer l’erreur entre le signal souhaité et le signal lissé. Répéter le même exercice
pour n = 20 et m = 8, puis n = 200 et n = 8.

Correction
import numpy as np
import [Link] as plt

# Définir la fonction de base (le signal sans bruit)


def signal(x):
return (x - 1) * x * (x + 1)

# Générer les données bruitées


def generate_noisy_data(n):
x_data = [Link](-1, 1, n)
noise = [Link](-0.6, 0.6, n)
y_data = signal(x_data) + noise
return x_data, y_data

# Les fonctions phi_j(x) = sin(j * pi * x)


phi_j = lambda x, j : [Link](j * [Link] * x)

# Construire la matrice A de taille (n, m+1)


def construct_A(x_data, m):
A = [Link]((len(x_data), m + 1))
for i, x in enumerate(x_data):
for j in range(m + 1):
A[i, j] = phi_j(x, j)
return A

# Résoudre le système linéaire pour obtenir les coefficients a_0, a_1, ...,
,→ a_m
def fit_least_squares(x_data, y_data, m):
A = construct_A(x_data, m)
ATA = A.T @ A
ATy = A.T @ y_data
try:
a = [Link](ATA, ATy) # Résoudre le système linéaire
except [Link]:
a = [Link](ATA) @ ATy # Utiliser le pseudo-inverse si la
,→ matrice est singulière
return a

# Construire la fonction de meilleure approximation


def approximate_function(x, a):
m = len(a) - 1
return sum(a[j] * phi_j(x, j) for j in range(m + 1))

# Calculer l'erreur
def calculate_error(y_true, y_approx):
return [Link]([Link]((y_true - y_approx) ** 2))

# Fonction pour tracer les résultats


def plot_results(x_data, y_data, x_exact, y_exact, y_approx, title):
[Link](figsize=(10, 6))

© 2024-2026 G. Faccanoni 155


Chapitre 3. Approximation au sens des moindres carrés Dernière mise à jour : Mardi 30 septembre 2025

[Link](x_exact, y_exact, label='Signal exact', color='green',


,→ linewidth=2)
[Link](x_data, y_data, label='Points bruités', color='red', s=30)
[Link](x_exact, y_approx, label='Signal lissé (approximation)',
,→ color='blue', linestyle='--', linewidth=2)
[Link](title)
[Link]('x')
[Link]('y')
[Link]()
[Link](True)
[Link]()

# Paramètres
m_values = [2, 8] # Degré du polynôme à tester
n_values = [20, 200] # Nombre de points à tester

# Résolution pour chaque combinaison de m et n


for m in m_values:
for n in n_values:
# Génération des données
x_data, y_data = generate_noisy_data(n)

# Résolution du problème d'ajustement


a = fit_least_squares(x_data, y_data, m)

# Calcul de la fonction approximée sur un ensemble de points denses


x_exact = [Link](-1, 1, 1000)
y_exact = signal(x_exact)
y_approx = [approximate_function(x, a) for x in x_exact]

# Estimation de l'erreur
error = calculate_error(y_exact, y_approx)

# Affichage des résultats


title = f"n = {n}, m = {m}, Erreur = {error:.4f}"
plot_results(x_data, y_data, x_exact, y_exact, y_approx, title)

Exercice 3.9
L’espérance de vie dans un pays a évoluée dans le temps selon le tableau suivant :

Année 1975 1980 1985 1990


Espérance 72,8 74,2 75,2 76,4

Utiliser l’interpolation polynomiale pour estimer l’espérance de vie en 1977, 1983 et 1988. La comparer avec
une interpolation linéaire par morceaux et avec un fitting polynomiale avec m = 1, 2 (avec m = 3 on retrouve le
polynôme d’interpolation).

Correction
Si on choisit de poser x 0 = 0 pour l’année 1975, x 1 = 5 pour l’année 1980 etc., on construit
• p 1 ∈ R1 [x] la droite de meilleure approximation (fitting m = 1)
• p 2 ∈ R2 [x] la parabole de meilleure approximation (fitting m = 2)
• p 3 ∈ R3 [x] le polynôme d’interpolation (n = 3)
• s 1 la spline linéaire
et on évalue ces fonctions en x = 2, 8 et 13 (notons que seuls p 3 et s 1 interpolent les données) :
to do

156 © 2024-2026 G. Faccanoni


Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 3. Approximation au sens des moindres carrés

On obtient les estimations suivantes :


Année 1977 1983 1988
Espérance p 1 73.352 74.768 75.948
Espérance p 2 73.354 74.830 75.950
Espérance p 3 73.446 74.810 75.858
Espérance s 1 73.360 74.800 75.920

Exercice 3.10 (Fitting linéaire après transformation)


L’évolution de la concentration c d’un médicament dans le sang en fonction du temps t est décrite par la fonction
f (t ) = At e Bt . En utilisant les mesures suivantes et une transformation adéquate de f estimer A et B par régression
linéaire :
t 1 2 3 4 5 6 7 8
c 8.0 12.3 15.5 16.8 17.1 15.8 15.2 14.0

Correction
On a ln( f (t )) = ln(A) + ln(t ) + Bt ainsi ln( f (t )) − ln(t ) = ln(A) + Bt qui a la forme α0 + α1 t avec α1 = B et α0 = ln(A). On
© ªn
peut alors calculer l’équation de la droite de régression sur l’ensemble (t i , y i = ln(c i ) − ln(t i )) i =0 et obtenir ainsi B et
ln(A). P7 ¶ µ ¶ µ P7
t α0
µ ¶
8 ln(c i ) − ln(t i )
P7 P7i =0 i2 = 7 i =0
α1
P
i =0 t i i =0 t i i =0 t i (ln(c i ) − ln(t i ))
Donc α0 ≃ 2.281 et α1 ≃ −0.215 et enfin B = α1 et A = e α0 .

import sympy as sp
import numpy as np
import [Link] as plt

def exemple(x_data,y_data,m,phi):
n = len(x_data)
coeffs = [Link](f'a_0:{m+1}')
x = [Link]('x')
f_expr = sum(coeffs[j] * phi(x,j) for j in range(m+1))
error = sum((y_data[i] - f_expr.subs(x, x_data[i]))**2 for i in range(n))
gradient = [[Link](error, c) for c in coeffs]
solution = [Link](gradient, coeffs)

# Affichage des résultats en LaTeX


latex_output = "Les coefficients estimés sont : \n"
latex_output += "\\["
for c in coeffs:
latex_output += f"{[Link](c)} \\approx
,→ {solution[c].evalf():.3f}\\qquad "
latex_output += "\\]"
print(latex_output)

return f_expr.subs(solution) # retourne f(x) ajusté

# Données
x_data = list(range(1,9))
y_data = [8, 123/sp.S(10), 155/sp.S(10), 168/sp.S(10),
171/sp.S(10), 158/sp.S(10), 152/sp.S(10), 14]

# Transformation : z = ln(y) - ln(x)


x_data_modif = x_data
y_data_modif = [[Link](yi)-[Link](xi) for xi,yi in zip(x_data,y_data)]

© 2024-2026 G. Faccanoni 157


Chapitre 3. Approximation au sens des moindres carrés Dernière mise à jour : Mardi 30 septembre 2025

# Ajustement
m = 1
phi = lambda x,j : x**j
f_expr = exemple(x_data_modif,y_data_modif,m,phi)

# Sympy -> Numpy


x = [Link]('x')
z_num = [Link](x, f_expr, "numpy") # fonction ajustée en
,→ z(x)
y_num = lambda xx: xx * [Link](z_num(xx)) # transformation inverse
,→ -> y(x)

# --- Plot 1 : espace transformé (x, ln(y)-ln(x)) ---


x_data_arr = [Link](x_data_modif, dtype=float)
y_data_arr = [Link]([float(val) for val in y_data_modif])

[Link](figsize=(12,5))

[Link](1,2,1)
[Link](x_data_arr, y_data_arr, color='red', label='Données
,→ transformées')
x_fit = [Link](min(x_data_arr), max(x_data_arr), 200)
[Link](x_fit, z_num(x_fit), color='blue', label='Fitting (z(x))')
[Link]("x")
[Link]("ln(y) - ln(x)")
[Link]()
[Link](True, alpha=0.3)
[Link]("Régression en espace transformé")

# --- Plot 2 : espace original (x, y) ---


[Link](1,2,2)
[Link](x_data, [float(val) for val in y_data], color='red',
,→ label='Données originales')
x_fit = [Link](min(x_data_arr), max(x_data_arr), 200)
[Link](x_fit, y_num(x_fit), color='green', label='Fitting reconstruit
,→ (y(x))')
[Link]("x")
[Link]("y")
[Link]()
[Link](True, alpha=0.3)
[Link]("Courbe ajustée en coordonnées originales")

plt.tight_layout()
#[Link]()

Les coefficients estimés sont :


a 0 ≈ 2.281 a 1 ≈ −0.215

158 © 2024-2026 G. Faccanoni


CHAPITRE 4

Initiation aux réseaux de neurones

Dans ce chapitre

4.1 Perceptron: fonction paramétrique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160


4.1.1 Fonctions d’activation usuelles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
4.1.2 Interprétation géométrique d’un perceptron avec la fonction de Heaviside . . . . . . . . . . . . 162
4.1.3 Exemple d’un perceptron avec la fonction sigmoïde . . . . . . . . . . . . . . . . . . . . . . . . . . 166
4.1.4 Opérations logiques: OR (OU), AND (ET), XOR (OU exclusif ) . . . . . . . . . . . . . . . . . . . . . . 167
4.2 Réseau de neurones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
4.3 Calcul des poids d’un réseau de neurones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
4.3.1 Rétropropagation, apprentissage et test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
4.4 Application ①: l’approximation au sens des moindres carrées par un réseau de neurones . . . . . . . . . 180
4.4.1 Un exemple complet: régression affine avec un réseau de neurones . . . . . . . . . . . . . . . . . 183
4.5 Application ② : Physics-Informed Neural Network (PINN) . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
4.5.1 Solution exacte discrète vs solution approchée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
4.5.2 Un schéma classique: le schéma d’Euler explicite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
4.5.3 Approximation par un réseau de neurones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
4.5.4 Comparaison Euler explicite vs PINN sur un exemple . . . . . . . . . . . . . . . . . . . . . . . . . 196

Dans le chapitre précédent, nous avons présenté le principe de l’approximation par les moindres carrés dans
un espace vectoriel de dimension finie quelconque. L’idée consiste©à construire une fonction f , appartenant à cet
espace vectoriel, qui approche au mieux un ensemble de points A = (x i , y i ) appelé ensemble d’entraînement. Deux
ª

ingrédients sont essentiels :


• la fonction f appartient à l’espace vectoriel et est donc entièrement déterminée par ses coordonnées dans une
base choisie de cet espace. Pour fixer f , il suffit donc de déterminer ses coordonnées (ou poids) ;
• pour fixer la meilleur fonction, on définit l’erreur quadratique comme la somme des carrés des écarts verticaux
entre f (x i ) et y i et l’on cherche les coordonnées/poids qui minimisent cette erreur.
Ce qui est remarquable, c’est que, puisque f est une combinaison linéaire des éléments de la base de l’espace vectoriel,
et grâce à la définition choisie de l’erreur, le calcul des poids se ramène à la résolution d’un système linéaire.
Une fois la fonction déterminée, on peut l’utiliser pour prédire la sortie y associée à une nouvelle donnée x qui ne
faisait pas partie de l’ensemble d’entraînement. Cette étape correspond à la phase de test.

Dans ce chapitre, nous allons généraliser cette idée. La fonction f ne sera plus simplement une combinaison linéaire
d’éléments d’une base, mais une fonction obtenue par composition de combinaisons linéaires d’autres fonctions,
elles-mêmes construites de manière analogue.
Dans ce nouveau cadre, la minimisation de l’erreur quadratique ne conduit plus, en général, à un simple système
linéaire. Il arrive d’ailleurs que l’on utilise d’autres mesures d’erreur. On n’a alors plus la garantie d’existence ni d’unicité
de la solution. Cependant, la richesse des types de fonctions que l’on peut employer pour l’approximation ouvre des
perspectives très intéressantes, malgré ces limitations.
Pour formaliser de telles fonctions, nous introduirons d’abord le langage des réseaux de neurones, qui permet de
définir ces fonctions (à l’aide de poids quelconques). Nous verrons ensuite comment déterminer ces poids en résolvant,
à partir de l’ensemble d’entraînement, un système en général non linéaire.
Cette stratégie fait partie des méthodes de réseaux de neurones supervisés, car on utilise les couples entrée/sortie de
A pour calibrer les poids, exactement comme dans la méthode de régression. Nous verrons enfin, dans la dernière
section, un exemple de réseau de neurones non supervisé, où la sortie y n’est pas connue. Dans ce cas, le calibrage des
poids est intrinsèque à la définition de l’erreur : en effet, les y i n’interviennent dans l’apprentissage supervisé qu’à
travers la définition de l’erreur ; si l’on définit une erreur différemment, on n’a alors plus besoin des y i .

159
Chapitre 4. Initiation aux réseaux de neurones Dernière mise à jour : Mardi 30 septembre 2025

4.1. Perceptron : fonction paramétrique


Un perceptron 1 affine prend des valeurs en entrée, effectue un calcul obtenu par la composition d’une fonction
d’activation φ avec une fonction affine f a , et renvoie une valeur en sortie. Ses composants sont :
• Données en entrée : (x 1 , x 2 , . . . , x n )
• Fonction affine : (x 1 , x 2 , . . . , x n ) 7→ f a (x 1 , x 2 , . . . , x n ) = a 0 + ni=1 a i x i , définie par ses poids a =(a 0 , a 1 , . . . , a n )
P def

• Fonction d’activation : y 7→ φ(y)


Ainsi, un perceptron affine à n variables et de fonction d’activation φ est défini par n+1 coefficients réels a =(a 0 , a 1 , . . . , a n )
def

et la fonction F : Rn → R définie par F = φ ◦ f a , c’est-à-dire F(x 1 , . . . , x n ) = φ( f a (x 1 , . . . , x n )).


def

x1

x2 a1
a2

a1 x1 + · · · + an xn + a0
entrées fa φ z = φ ◦ f a (x 1 , . . . , x n )
an sortie
fonction
xn fonction d’activation
a0
affine (pre-
activation)

def
• Partie affine. Le perceptron est caractérisé par n + 1 poids a =(a 0 , a 1 , . . . , a n ) :
◦ les coefficients a1 , . . . , an ∈ R ;
◦ le biais a0 ∈ R.
Ils définissent la fonction affine (dite pre-activation)
n
X
def
(x 1 , . . . , x n ) 7→ f a (x 1 , . . . , x n ) = a 0 + ai xi = a1 x1 + a2 x2 + · · · + an xn + a0 .
i =1

Si a 0 = 0, f a est une fonction linéaire (et on parle de perceptron linéaire).


• Fonction d’activation. La fonction affine f a est ensuite composée avec une fonction d’activation φ : y 7→ φ(y).
• Composition. La sortie est donc donnée par
n
z = F(x 1 , . . . , x n ) = φ( f a (x 1 , . . . , x n )) = φ(a 0 + a i x i ) = φ(a 1 x 1 + a 2 x 2 + · · · + a n x n + a 0 ).
X
i =1

• Neurone. Un perceptron est généralement représenté de manière plus condensée sous la forme d’un neurone,
avec des poids associés aux arêtes d’entrée. L’arête terminée par un rond indique qu’elle correspond au biais (cela
ne correspond pas à une entrée). On précise en indice la fonction d’activation φ.

a1

an
φ
a0

Résumons le vocabulaire utilisé ainsi que les termes anglais correspondants :


• Le perceptron linéaire a un biais qui vaut 0, tandis que le perceptron affine a un biais quelconque ;
• Les poids (weights) ou paramètres sont les coefficients a 1 , . . . , a n , auxquels s’ajoute le biais (bias) a 0 ;
• Un perceptron est défini par ses poids et sa fonction d’activation ;
1. Le perceptron, premier modèle de neurone artificiel, a été introduit en 1957 par le psychologue Frank Rosenblatt (1928-1971). En 1969,
Marvin Minsky fait paraître avec un psychologue, Seymour Papert, un ouvrage intitulé Perceptrons, pour mettre en évidence les limitations des
procédures d’apprentissage en général et du perceptron en particulier. Ils démontrent que les réseaux monocouches ne réalisent que des fonctions
très élémentaires dites linéairement séparables.

160 © 2024-2026 G. Faccanoni


Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 4. Initiation aux réseaux de neurones

• Chaque perceptron définit une fonction F qui est la composée d’une fonction affine f a et d’une fonction d’ac-
tivation φ ; la fonction d’activation la plus utilisée dans ces notes est la fonction marche de Heaviside (step
function) ;
• Un perceptron est utilisé pour une évaluation : pour une entrée (input) X =(x 1 , . . . , x n ) ∈ Rn , on calcule la sortie
def

(output) F(x 1 , . . . , x n ) ∈ R (valant 0 ou 1 dans le cas de la fonction marche de Heaviside).

x1

a1 entrée
sortie

an F(x 1 , . . . , x n )

xn φ

a0

fonction d’activation
poids : coefficients et biais

4.1.1. Fonctions d’activation usuelles


Les fonctions d’activation sont des fonctions φ : R → R. Généralement on utilise l’une des suivantes.

Fonction marche de Heaviside. C’est la fonction “marche d’escalier” définie par la formule suivante :
y
(
0 si x < 0
H(x) = 1
1 si x ≥ 0

0 x

Quelques caractéristiques de H :
• la fonction a l’avantage d’être très simple et de séparer clairement les résultats en deux catégories (0 et 1),
• c’est aussi un inconvénient car il n’y a pas de nuance possible (du genre « plutôt oui/plutôt non »),
• la fonction H n’est pas dérivable en 0 (ni même continue), ce qui sera gênant pour la suite,
• avoir posé H(0) = 1 est un choix arbitraire, on aurait pu choisir une autre valeur comme 0 (certains préfèrent la
valeur 12 ).

Fonction affine. Une fonction affine est définie par


y

f (x) = ax + b 1

0 1 x

• Les fonctions affines seront à la base des réseaux de neurones. Elles sont simples.
• Si a = 1 et b = 0 alors f (x) = x, c’est la fonction identité : la sortie est égale à l’entrée. Nous l’utiliserons plus tard
dans certains cas.
• Si b = 0 la sortie est proportionnelle à l’entrée.
• Le principal inconvénient est le suivant : si f (x) = ax + b et g (x) = c x + d sont deux fonctions affines alors la
composition h = g ◦ f est encore une fonction affine. Ainsi, avec des fonctions d’activation qui sont affines,
par composition on n’obtiendra que des fonctions affines, ce qui n’est pas assez riche pour les problèmes de
classification.

© 2024-2026 G. Faccanoni 161


Chapitre 4. Initiation aux réseaux de neurones Dernière mise à jour : Mardi 30 septembre 2025

ReLU et fonctions linéaires par morceaux. Une fonction définie par


y
y = bx
(
ax si x < 0
f (x) = 1
bx si x ≥ 0

y = ax 0 1 x

est un exemple de fonction linéaire par morceaux (elle est linéaire à gauche et linéaire à droite).
La plus utilisée est la fonction ReLU (pour Rectified Linear Unit), définie par

y
y =x
(
0 si x < 0
ReLU(x) = 1
x si x ≥ 0

y =0 0 1 x

• Attention ces fonctions ne sont pas dérivables en 0 (sauf dans le cas a = b).
• La fonction ReLU conjugue les bénéfices d’une fonction continue, avec une activation (ici la sortie est non nulle
pour une entrée strictement positive) et d’une sortie proportionnelle à l’entrée (pour les entrées positives).

La fonction sigmoïde. La fonction sigmoïde est définie par


y
1
σ(x) = . 1
1 + e −x 1
2
0 1 x

La fonction tangente hyperbolique. La tangente hyberbolique est définie par


y
e x − e −x
tanh(x) = . 1
e x + e −x

0 1 x
−1

Elle a des propriétés similaires à la fonction sigmoïde mais varie de −1 à +1. C’est une fonction impaire : son graphe est
symétrique par rapport à l’origine. On pourrait refaire une étude complète de cette fonction mais celle-ci est liée à celle
de la fonction σ par la relation tanh(x) = 2σ(2x) − 1.

4.1.2. Interprétation géométrique d’un perceptron avec la fonction de Heaviside


Cas linéaire. Considérons un perceptron à n variables, de poids a, linéaire (donc a0 = 0), muni de la fonction marche
def
de Heaviside comme fonction d’activation. Il s’agit de la donnée de n coefficients réels a =(a 1 , . . . , a n ) auxquels est
associée la fonction F : R → R définie par F = H ◦ f a , c’est-à-dire
def

(
1 si a 1 x 1 + a 2 x 2 + · · · + a n x n ≥ 0,
F(x 1 , . . . , x n ) = H( f a (x 1 , . . . , x n )) =
0 sinon.

E XEMPLE
Considérons un perceptron linéaire à deux entrées, ayant les poids a 1 = 2 et a 2 = 3 et de fonction d’activation la fonction
marche de Heaviside.
Notons x et y les deux réels en entrée. La fonction linéaire f a est donc f (2,3) (x, y) = 2x + 3y et la valeur en sortie est la
suivante :

162 © 2024-2026 G. Faccanoni


Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 4. Initiation aux réseaux de neurones

x
2
(
2x + 3y 1 si 2x + 3y ≥ 0
f (2,3) H F(x, y) =
0 sinon

3
y

On représente ce neurone ainsi :

3 H

• Évaluation en quelques points. Utilisons ce perceptron comme une fonction et évaluons-la en trois points :
(4, −1), (−3, 1) et (6, −4). Que renvoie le perceptron pour la valeur d’entrée (x, y) = (4, −1) ? On calcule f a (x, y) =
2x + 3y = 5. Comme f a (x, y) ≥ 0, alors la valeur de sortie est donc F(x, y) = 1. Recommençons avec (x, y) = (−3, 1).
Cette fois f a (x, y) = −3 < 0 donc F(x, y) = 0. Enfin, l’entrée (x, y) = (6, −4) est « à la limite » car f a (x, y) = 0 (0 est
l’abscisse critique pour la fonction marche de Heaviside). On a F(x, y) = 1.
• Interprétation. La fonction F prend seulement deux valeurs : 0 ou 1. La frontière correspond aux points (x, y)
tels que f a (x, y) = 0, c’est-à-dire à la droite 2x + 3y = 0. Pour les points au-dessus de la droite (ou sur la droite) la
fonction F prend la valeur 1 ; pour les points en-dessous de la droite, la fonction F vaut 0.
y

F(x, y) = 1

x
F(x, y) = 0

2x + 3y = 0

Exercice 4.1
On souhaite déterminer une fonction d’activation ainsi que des poids permettant de séparer les carrés bleus des
ronds rouges dans le plan. Plus précisément, la fonction finale doit valoir

1 si le point (x, y) correspond à un carré bleu,
F(x, y) =
0 si le point (x, y) correspond à un rond rouge.

© 2024-2026 G. Faccanoni 163


Chapitre 4. Initiation aux réseaux de neurones Dernière mise à jour : Mardi 30 septembre 2025

Correction
Il s’agit de trouver les deux poids a 1 et a 2 d’un perceptron, dont la fonction associée F vérifie F(x, y) = 1 pour les
coordonnées des carrés et F(x, y) = 0 pour les ronds. Trouvons donc l’équation d’une droite qui les sépare (elle n’est pas
unique). Par exemple, on remarque que la droite d’équation 4x − y = 0 sépare les ronds des carrés. On définit alors le
neurone avec les poids a 1 = 4 et a 2 = −1.
Si (x, y) sont les coordonnées d’un carré alors on a bien F(x, y) = 1 et pour un rond F(x, y) = 0.
y
F(x, y) = 0

x
−1 H

4x − y = 0 F(x, y) = 1

Cas affine Considérons un perceptron à n variables, de poids a, muni de la fonction marche de Heaviside comme
def
fonction d’activation. Il s’agit de la donnée de n + 1 coefficients réels a =(a 0 , a 1 , . . . , a n ) auxquels est associée la fonction
F : R → R définie par F = H ◦ f a , c’est-à-dire
def

(
1 si a 0 + a 1 x 1 + a 2 x 2 + · · · + a n x n ≥ 0,
F(x 1 , . . . , x n ) = H( f a (x 1 , . . . , x n )) =
0 sinon.

E XEMPLE
Dans le cas de deux entrées, les poids sont trois réels a 1 , a 2 (les coefficients) et a 0 (le biais).
x
a1

a2
y F(x, y)
H
a0

La fonction f : R2 → R est la fonction affine f (x, y) = a 1 x + a 2 y + a 0 . Si la fonction d’activation est la fonction marche
de Heaviside, alors le perceptron affine définit une fonction F : R2 → R par la formule
(
1 si a 1 x + a 2 y + a 0 ≥ 0
F(x, y) =
0 sinon.

Un perceptron affine à deux entrées sépare donc le plan en deux parties, la frontière étant la droite d’équation
a 1 x + a 2 y + a 0 = 0. D’un côté de cette droite la fonction F vaut 1, de l’autre elle vaut 0.

164 © 2024-2026 G. Faccanoni


Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 4. Initiation aux réseaux de neurones

a1
F(x, y) = 0

x+
a2
y+
x

a0
=
F(x, y) = 1

0
Remarque (Équation d’une droite par deux points)
Q y −P y
Soient P = (Px , P y ) et Q = (Qx , Q y ). Si Qx ̸= Px , la droite a pour équation y = Qx −Px (x − Px ) + P y ; si Qx = Px , elle est
verticale et a pour équation x = Px . Une forme unifiée (valable dans tous les cas) est :

(Qx − Px )(y − P y ) = (Q y − P y )(x − Px ) ⇝ (P y − Q y ) x + (Qx − Px ) y + (Q y Px − Qx P y ) = 0. (4.1)


| {z } | {z } | {z }
a1 a2 a0

Cette équation est définie à un facteur près. En particulier, remplacer (a 1 , a 2 , a 0 ) par (−a 1 , −a 2 , −a 0 ) décrit la même
droite.
Puisqu’on va composer avec la fonction de Heaviside, il faut décider de quel coté la fonction vaudra 1. Si on considère
le segment (orienté) qui va de P à Q et la formule (4.1), la partie positive se trouve à gauche. Si on préfère un calcul
analytique, on fixe un point (x 0 , y 0 ) qui n’appartient pas à la droite et on calcule S(x 0 , y 0 ) = a 1 x 0 + a 2 y 0 + a 0 . Si S(x 0 , y 0 )
n’a pas le signe souhaité, on remplace (a 1 , a 2 , a 0 ) par (−a 1 , −a 2 , −a 0 ).
Prenons l’exemple de l’exercice 4.1. On prend par exemple P = (1, 4) et Q = (0, 0). La forme (4.1) donne

(4 − 0) x + (0 − 1) y + (0 × 1 − 0 × 4) = 0 =⇒ 4x − y = 0.
| {z } | {z } | {z }
a1 a2 a0

Nous voulons que le point (4, 0) soit rouge, c’est à dire que S(4, 0) > 0. On a 4 × 4 − 0 > 0 donc on peut garder a 1 = 4,
a 2 = −1 et a 0 = 0.

y
P

Q
x
+

4x − y = 0

Exercice 4.2
Trouver un perceptron qui distingue les carrés des ronds.

© 2024-2026 G. Faccanoni 165


Chapitre 4. Initiation aux réseaux de neurones Dernière mise à jour : Mardi 30 septembre 2025

Correction
Il s’agit de trouver les deux poids a 1 et a 2 et le biais a 0 d’un perceptron, dont la fonction associée F vérifie F(x, y) = 1
pour les coordonnées des carrés et F(x, y) = 0 pour les ronds.
Trouvons donc l’équation d’une droite qui les sépare. Par exemple, écrivons l’équation de la droite qui passe par les
points P = (4, −1) et Q = (−3, 4) :
(P y − Q y ) x + (Qx − Px ) y + (Q y Px − Qx P y ) = 0
| {z } | {z } | {z }
a 1 =−5 a 2 =−7 a 0 =13

soit encore −5x − 7y + 13 = 0. On définit alors le neurone avec les poids a 1 = −5 et a 2 = −7 et biais a 0 = 13. La partie
positive se trouve à gauche du segmente orienté qui va de P à Q et qui correspond, dans notre exemple, aux carrés
rouges. Pour vérifier, évaluons F en (0, 0) : on trouve F(0, 0) = H(−5 × 0 − 7 × 0 + 13) = H(13) = 1.

y
F(x, y) = 0
Q
x
−5

−7
y F(x, y)
x
H P
13

F(x, y) = 1

Montrer un cas où une droite ne permet pas de separer les points mais si on passe en coordonnées polaires oui cf slide
Marxer

4.1.3. Exemple d’un perceptron avec la fonction sigmoïde


Il n’est pas toujours possible de répondre à une question seulement par « oui » ou « non ». Pour y remédier, on peut
changer de fonction d’activation en utilisant par exemple la fonction sigmoïde σ. Dans ce cas, à chaque point du plan,
on associe, non plus 0 ou 1, mais une valeur entre 0 et 1. Ce nombre peut correspondre à un degré de certitude. Par
exemple avec une question « Est-ce que cette photo est un chat ? », si la sortie vaut 0.8, cela signifie « c’est bien un chat
avec 80% de certitude ». Si la sortie vaut 0.1 alors ce n’est probablement pas un chat.
Voici un neurone à deux entrées muni de la fonction d’activation sigmoïde :

x
a
b
y F(x, y)
σ
c

166 © 2024-2026 G. Faccanoni


Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 4. Initiation aux réseaux de neurones

E XEMPLE
Ci dessous on représente les données (fictives) de la répartition des hommes et des femmes selon leur taille et leur
poids. Problème : la taille et le poids d’une personne étant donnés, trouver un perceptron qui réponde à la question
« Cette personne est-elle un homme ou une femme ? ».

poids (kg)

100
homme
90

80

70
femme
60

50

1.50 1.60 1.70 1.80 1.90 2.00 taille (m)

Au vu de la superposition des zones, il n’est pas possible de répondre avec certitude. On construit donc un perceptron
selon les idées suivantes :
• on trace une droite qui sépare au mieux les hommes des femmes, par exemple ici la droite qui passe par les
points A(1.40, 42) et B(2.00, 93) d’équation approchée y = 85x − 77 où x, y représentent respectivement la taille et
le poids ;
• on choisit la fonction d’activation sigmoïde.
Ce qui nous permet de définir le perceptron suivant avec a = 85, b = −1 et c = −77.

poids (kg)

100
homme B
90
x
a
80
b
y F(x, y) = σ(ax + b y + c)
70
σ femme
c
60

50
A
1.50 1.60 1.70 1.80 1.90 2.00 taille (m)

Maintenant pour un couple donné (x, y), le perceptron associe une valeur F(x, y) ∈ [0, 1]. Si F(x, y) est proche de 0
alors la personne est probablement un homme, si F(x, y) est proche de 1 c’est probablement une femme.
Exemple : une personne mesurant 1.77 mètres et pesant 75 kg est-elle plutôt un homme ou une femme ? On calcule
f (1.77, 75) = −1.55 où f (x, y) = ax + b y + c. Puis on calcule F(1.77, 75) = σ(−1.55) ≃ 0.17. Selon notre modèle cette
personne est probablement un homme (car la valeur de F est proche de 0).
Autre exemple : (x, y) = (1.67, 64). On calcule F(1.67, 64) ≃ 0.72. Une personne mesurant 1.67 mètres et pesant 64 kg est
probablement une femme (car la valeur de F est plus proche de 1 que de 0).
Malgré les données fictives, cet exemple met en évidence le problème de la superposition et de l’utilité d’avoir une
sortie plus riche que « oui » ou « non ». On peut aussi discuter de la pertinence de la frontière, car la séparation par une
droite ne semble pas la mieux adaptée. En fait, le poids varie en fonction du carré de la taille (les zones ont une forme
de parabole).

4.1.4. Opérations logiques : OR (OU), AND (ET), XOR (OU exclusif)


Un booléen est une variable qui peut prendre soit la valeur « vrai », soit la valeur « faux ». Dans la pratique, on associe 1
à « vrai » et 0 à « faux ».

© 2024-2026 G. Faccanoni 167


Chapitre 4. Initiation aux réseaux de neurones Dernière mise à jour : Mardi 30 septembre 2025

• Opération OU. À partir de deux booléens x et y, on peut associer un nouveau booléen « x OU y » qui est vrai
lorsque x est vrai ou y est vrai. Graphiquement, on représente toutes les configurations associées à « x OU y » par
un diagramme. Un rond bleu en position (x, y) signifie que « x OU y » est faux (le résultat vaut 0), un carré rouge
que « x OU y » est vrai (le résultat vaut 1).
• Opération ET. De la même manière, on peut représenter l’opération « x ET y » qui renvoie « vrai » uniquement si
x et y sont vrais.
• Opération OU exclusif. Enfin, le ou exclusif, noté « x OUex y », qui est vrai lorsque x ou y est vrai, mais pas les
deux en même temps.
y y y

x OU y x ET y x OUex y
1 1 1

0 0 0
x x x
0 1 0 1 0 1

Ces trois opérations sont elles réalisable par un perceptron ?

Opération OU. Cela revient à séparer les ronds bleus des carrés rouges. C’est possible avec le perceptron de poids
a = 1, b = 1, c = −1. Par exemple, si x = 0 et y = 1 alors, on calcule 1 · 0 + 1 · 1 − 1 = 0 ≥ 0. Composée avec la fonction
marche de Heaviside, la fonction F(x, y) définie par le perceptron renvoie dans ce cas 1 (« vrai »). Si x = 0 et y = 0, alors
1 · 0 + 1 · 0 − 1 = −1 < 0 et F(x, y) = 0 (« faux »).
y
x OU y
1
x
1
1
y
H
−1 0
x
0 1

x + y −1 = 0

Opération ET. On peut également réaliser l’opération « x ET y » en choisissant les poids a = 1, b = 1, c = −2.
y
x ET y
x
1 1
1
y
x + y −2 = 0
H
−2
0
x
0 1
Remarque : d’un point de vue numérique, si on considère des valeurs réelles pour x et y, notre perceptron « ET » n’est
pas numériquement très stable. Par exemple avec x = 0.9 et y = 0.9, on calcule x + y − 2 = −0.2 et la sortie est 0, mais
comme x et y sont proches de 1, on aimerait que la sortie soit 1. Il suffit de changer un peu les paramètres : prenons
a = 1, b = 1 et c = −1.5, alors x + y − 1.5 = 0.3 et cette fois la sortie est 1.

Opération OU exclusif. Le ou exclusif est-il réalisable par un perceptron ? Cette fois la réponse est non car il n’existe
pas de droite qui sépare les ronds bleus des carrés rouges. Autrement-dit, il n’existe pas de perceptron (affine, à deux
entrées et de fonction d’activation la fonction marche de Heaviside) qui réalise le « ou exclusif ».
Un neurone tout seul est trop élémentaire pour résoudre certains problèmes, comme par exemple le « ou exclusif ».
Comment faire mieux ? C’est ce que l’on va voir en connectant plusieurs neurones.

168 © 2024-2026 G. Faccanoni


Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 4. Initiation aux réseaux de neurones

4.2. Réseau de neurones


Un réseau de neurones est la juxtaposition de plusieurs neurones, regroupés par couches.
Seconde
Première couche
couche
Entrée

x1 Dernière
couche

x2 y

Sortie
x3

À un réseau de neurones on associe une fonction. Si à la dernière couche la fonction ne contient qu’un seul neurone
(voir ci-dessus), cette fonction est F : Rn → R, y = F(x 1 , . . . , x n ) où (x 1 , . . . , x n ) est l’entrée et y est la sortie. Sinon (voir
ci-dessous), la fonction est F : Rn → Rp , (y 1 , . . . , y p ) = F(x 1 , . . . , x n ) où (x 1 , . . . , x n ) ∈ Rn est l’entrée et (y 1 , . . . , y p ) est la
sortie.
Première
couche
Entrée

x1 Dernière
couche

x2 y1

x3 y2

x4 Sortie

En résumé :
• chaque neurone est défini par ses poids et une fonction d’activation. Pour une couche donnée, on choisit toujours
la même fonction d’activation. En général on choisit la même fonction d’activation pour tout le réseau, sauf
peut-être pour la couche de sortie.
• Un neurone prend plusieurs valeurs en entrée mais ne renvoie qu’une seule valeur en sortie ! Si ce neurone est
connecté à plusieurs autres neurones, il envoie la même valeur à tous.
• On peut relier un neurone à tous les neurones de la couche suivante (voir ci-dessous figure de gauche). On dit
que la seconde couche est dense ou complètement connectée. Mais on peut aussi choisir de ne relier que certains
neurones entre eux (voir ci-dessous figure de droite). S’il n’y a pas d’arêtes du neurone A vers le neurone B,
c’est que la sortie de A n’intervient pas comme entrée de B (cela revient à imposer un poids nul entre ces deux
neurones).

© 2024-2026 G. Faccanoni 169


Chapitre 4. Initiation aux réseaux de neurones Dernière mise à jour : Mardi 30 septembre 2025

E XEMPLE
Voici un réseau de neurones à deux couches : 2 neurones linéaires sur la première couche (ayant pour fonction
d’activation la fonction ReLU), 1 neurone affine sur la seconde couche (de fonction d’activation H).
ReLU
2

x −1
4

5 H

y −3 −1

2
ReLU
(
0 si 2x − y < 0,
• Le premier perceptron linéaire de la première couche renvoie s 1 = ReLU(2x − y) =
2x − y si 2x − y ≥ 0.
(
0 si − 3x + 2y < 0,
• Le deuxième perceptron linéaire de la première couche renvoie s 2 = ReLU(−3x+2y) =
−3x + 2y si − 3x + 2y ≥ 0.
(
0 si 4s 1 + 5s 2 − 1 < 0,
• L’unique perceptron affine de la deuxième couche renvoie w = H(4s 1 + 5s 2 − 1) =
1 si 4s 1 + 5s 2 − 1 ≥ 0.
En conclusion, ce réseau de neurones calcule :
³ ´
H 4 ReLU(2x − y) + 5 ReLU(−3x + 2y) − 1

• Exemple avec x = 4 et y = 7.
Si x = 4 et y = 7 alors on calcule la sortie de chaque neurone de la première couche. Ces sorties sont les entrées
du neurone de la seconde couche. Pour le premier neurone, on effectue le calcul 2 · 4 + (−1) · 7 = 1 ≥ 0, le réel
étant positif la fonction ReLU le garde inchangé : le premier neurone renvoie la valeur s 1 = 1. Le second neurone
effectue le calcul (−3) · 4 + 2 · 7 = 2 ≥ 0 et renvoie s 2 = 2. Le neurone de la couche de sortie reçoit en entrées s 1 et s 2
et effectue le calcul 4 · 1 + 5 · 2 − 1 = 13 ≥ 0. La fonction d’activation étant H, ce neurone renvoie 1. Ainsi F(4, 7) = 1.
• Exemple avec x = 3 et y = 2.
Si (x, y) = (3, 2) alors s 1 = 4, par contre s 2 = 0 car (−3) · 3 + 2 · 2 = −5 < 0 et la fonction ReLU renvoie 0 (on dit
que le neurone ne s’active pas). Les entrées du dernier neurone sont donc s 1 = 4 et s 2 = 0, ce neurone calcule
4 · 4 + 5 · 0 − 1 = 15 ≥ 0 et, après la fonction d’activation, renvoie 1. Donc F(3, 2) = 1.
1 1
• Exemple avec x = 10 et y = 10 .
1 1 1 1
Si (x, y) = ( 10 , 10 ) alors s 1 = 10 et s 2 = 0. Les entrées du dernier neurone sont donc s 1 = 10 et s 2 = 0, ce neurone
1 1 1
calcule 4 · 10 + 5 · 0 − 1 = −0.6 < 0 et, après la fonction d’activation, renvoie 0. Donc F( 10 , 10 ) = 0.

import sympy as sp

# Variables
x, y = [Link]('x y')

# Fonction ReLU et Heaviside


ReLU = lambda u: [Link](0, u)
Heaviside = lambda u: [Link]((0, u < 0), (1, u >= 0))

170 © 2024-2026 G. Faccanoni


Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 4. Initiation aux réseaux de neurones

# Neurones (S1, S2)


s1 = ReLU(2 * x - y)
s2 = ReLU(-3 * x + 2 * y)

# Combinaison linéaire puis Heaviside


f = 4 * s1 + 5 * s2 - 1
F = Heaviside(f)

# Points à évaluer
k = [Link]('k')
points = [(4, 7), (3, 2), (1/sp.S(10), 1/sp.S(10))]

# Évaluation des points


for px, py in points:
subs = {x: px, y: py}
s1_val = [Link](subs)
s2_val = [Link](subs)
f_val = [Link](subs)
F_val = [Link](subs)

print(f"Avec (x, y)=({px}, {py}), on a s_1(x,y)={s1_val},


,→ s_2(x,y)={s2_val}, 4s_1(x,y)+5s_2(x,y)-1={f_val}, F(x,y)={F_val}")

Avec (x, y)=(4, 7), on a s_1(x,y)=1, s_2(x,y)=2, 4s_1(x,y)+5s_2(x,y)-1=13, F(x,y)=1


Avec (x, y)=(3, 2), on a s_1(x,y)=4, s_2(x,y)=0, 4s_1(x,y)+5s_2(x,y)-1=15, F(x,y)=1
Avec (x, y)=(1/10, 1/10), on a s_1(x,y)=1/10, s_2(x,y)=0, 4s_1(x,y)+5s_2(x,y)-1=-3/5,
,→ F(x,y)=0

Exercice 4.3
Considérons le réseau de neurones représenté ci-dessous :

ReLU
1
1 ReLU
x −2
Y1
−2
3

y
2
2

z 1 Y2
−4 ReLU
1
ReLU

1. Décrire le réseau.
2. Calculer les valeurs de sortie (Y1 , Y2 ) pour chacune des entrées (x, y, z) suivantes :

(0, 0, 0) (1, 0, 0) (1, −1, 1) (3, 2, 1)

3. Trouver un (x, y, z) tel que Y1 = 1 et Y2 = 7 (commencer par déterminer les valeurs de sorties s 1 et s 2 de la
première couche).
4. Existe-t-il (x, y, z) tel que Y2 soit nul, mais pas Y1 ?

Correction
1. C’est un réseau à trois entrée et deux sortie.
La première couche est constituée de deux neurones linéaires de fonction d’activation ReLU :
• le premier neurone realise s 1 = ReLU(x − 2y + 3z),
• le deuxième neurone realise s 2 = ReLU(2x − 4y + z).

© 2024-2026 G. Faccanoni 171


Chapitre 4. Initiation aux réseaux de neurones Dernière mise à jour : Mardi 30 septembre 2025

La dernière couche est constituée de deux neurones linéaires de fonction d’activation ReLU :
• le premier neurone realise Y1 = ReLU(s 1 − 2s 2 ),
• le deuxième neurone realise Y2 = ReLU(2s 1 + s 2 ).
2. • Soit (x, y, z) = (0, 0, 0). Alors s 1 = ReLU(0) = 0 et s 2 = ReLU(0) = 0 donc Y1 = ReLU(0) = 0 et Y2 = ReLU(0) = 0.
• Soit (x, y, z) = (1, 0, 0). Alors s 1 = ReLU(1) = 1 et s 2 = ReLU(2) = 2 donc Y1 = ReLU(1 − 4) = 0 et Y2 = ReLU(2 +
2) = 4.
• Soit (x, y, z) = (1, −1, 1). Alors s 1 = ReLU(6) = 6 et s 2 = ReLU(7) = 7 donc Y1 = ReLU(6 − 14) = 0 et Y2 =
ReLU(12 + 7) = 19.
• Soit (x, y, z) = (3, 2, 1). Alors s 1 = ReLU(2) = 2 et s 2 = ReLU(−1) = 0 donc Y1 = ReLU(2−0) = 2 et Y2 = ReLU(4+
0) = 4.
3. Pour obtenir Y1 = 1 et Y2 = 7 il faut imposer s 1 − 2s 2 = 1 et 2s 1 + s 2 = 7. Cela donne s 1 = 3 et s 2 = 1.
Pour obtenir s 1 = 3 et s 2 = 1 il faut imposer x − 2y + 3z = 3 et 2x − 4y + z = 1. Cela donne une infinité de solutions
de la forme (2κ, κ, 1). On peut donc prendre par exemple l’entrée (2, 1, 1).
4. Si Y2 = 0 alors 2s 1 + s 2 = 0. Comme s 1 , s 2 ≥ 0 (car sorties d’une fonction ReLU), alors s 1 = s 2 = 0 et Y1 = s 1 − 2s 2 = 0.

import sympy as sp

# Variables d'entrée et Poids


x, y, z = [Link]('x y z')
a11, a12, a13 = [Link]('a11 a12 a13') # Poids pour le premier neurone de
,→ la première couche
a21, a22, a23 = [Link]('a21 a22 a23') # Poids pour le second neurone de
,→ la première couche
b11, b12 = [Link]('b11 b12') # Poids pour la deuxième couche
,→ menant à Y1
b21, b22 = [Link]('b21 b22') # Poids pour la deuxième couche
,→ menant à Y2

# Fonction ReLU
ReLU = lambda x: [Link](0, x)

# Calcul des neurones de la première couche


I_1 = ReLU(a11 * x + a12 * y + a13 * z)
I_2 = ReLU(a21 * x + a22 * y + a23 * z)

# Calcul des sorties finales


Y_1 = ReLU(b11 * I_1 + b12 * I_2)
Y_2 = ReLU(b21 * I_1 + b22 * I_2)

# Substituer les poids par leurs valeurs spécifiques


# Poids pour la première couche
weight_substitutions = {
a11: 1, a12: -2, a13: 3, # Poids du premier neurone de la première
,→ couche
a21: 2, a22: -4, a23: 1, # Poids du second neurone de la première couche
b11: 1, b12: -2, # Poids du premier neurone de la seconde couche
b21: 2, b22: 1 # Poids du second neurone de la seconde couche
}

# Liste des points à évaluer


k = [Link]('k')
points = [(0, 0, 0), (1, 0, 0), (1, -1, 1), (3, 2, 1), (2*k,k,1)]

# Itérer sur chaque point et afficher les résultats


for px, py, pz in points:

172 © 2024-2026 G. Faccanoni


Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 4. Initiation aux réseaux de neurones

point_substitutions = {x: px, y: py, z: pz}


I_1_val = I_1.subs({**weight_substitutions, **point_substitutions})
I_2_val = I_2.subs({**weight_substitutions, **point_substitutions})
Y_1_val = Y_1.subs({**weight_substitutions, **point_substitutions})
Y_2_val = Y_2.subs({**weight_substitutions, **point_substitutions})

print(f"Avec (x, y, z) = ({px}, {py}, {pz}), on a s_1 = {I_1_val}, s_2 =


,→ {I_2_val}, Y_1 = {Y_1_val}, Y_2 = {Y_2_val}")

Avec (x, y, z) = (0, 0, 0), on a s_1 = 0, s_2 = 0, Y_1 = 0, Y_2 = 0


Avec (x, y, z) = (1, 0, 0), on a s_1 = 1, s_2 = 2, Y_1 = 0, Y_2 = 4
Avec (x, y, z) = (1, -1, 1), on a s_1 = 6, s_2 = 7, Y_1 = 0, Y_2 = 19
Avec (x, y, z) = (3, 2, 1), on a s_1 = 2, s_2 = 0, Y_1 = 2, Y_2 = 4
Avec (x, y, z) = (2*k, k, 1), on a s_1 = 3, s_2 = 1, Y_1 = 1, Y_2 = 7

Exercice 4.4 (Neurone ET ⇝ intersection)


Étudier le réseau de 3 neurones suivant : deux sur la première couche et un sur la seconde. La fonction d’activation
est partout la fonction marche de Heaviside. Combien vaut la fonction associée F selon l’entrée (x, y) ? Quelle
interprétation géométrique peut-on donner au neurone de sortie ?
H
−1 s1

x 3
1

F(x, y)
1 H

y 2 −2

1 s2
H

Correction
On commence par calculer les sorties des neurones de la première couche. Pour le premier neurone la sortie s 1 dépend
du signe de −x + 3y. Si −x + 3y ≥ 0 alors s 1 (x, y) = 1, sinon s 1 (x, y) = 0. Donc pour les points (x, y) situés au-dessus de la
droite d’équation −x + 3y = 0, on a s 1 (x, y) = 1. De même pour le second neurone, on a s 2 (x, y) = 1 pour les points situés
au dessus de la droite 2x + y = 0. Voir la figure ci-dessous.

s 1 (x, y) = 1
x

−x + 3y = 0
s 1 (x, y) = 0 s 2 (x, y) = 0 s 2 (x, y) = 1

2x + y = 0

On reconnaît dans le neurone de sortie un neurone qui réalise le « ET ». C’est pourquoi l’ensemble des points pour
lesquels F vaut 1 est l’intersection des deux demi-plans en lesquels s 1 et s 2 valent 1. Ainsi F(x, y) = 1 dans un secteur
angulaire et F(x, y) = 0 ailleurs. Voir la figure ci-dessous.

© 2024-2026 G. Faccanoni 173


Chapitre 4. Initiation aux réseaux de neurones Dernière mise à jour : Mardi 30 septembre 2025

F(x, y) = 1

−x + 3y = 0
F(x, y) = 0

2x + y = 0

Exercice 4.5 (Neurone OU ⇝ union)


On reprend la même architecture que l’exemple précédent, mais en changeant les poids du neurone de sortie qui
réalise cette fois l’opération « OU ». Quelle interprétation géométrique peut-on donner au neurone de sortie ?
H
−1 s1

x 3
1

F(x, y)
1 H

y 2
−1
1 s2
H

Correction
L’ensemble des points pour lesquels F vaut 1 est maintenant l’union des deux demi-plans en lesquels s 1 et s 2 valent 1.

F(x, y) = 1
1

0 1 x

−x + 3y = 0
F(x, y) = 0

2x + y = 0

Exercice 4.6 (Neurone ET ⇝ intersection)


Étudier le réseau de neurones suivant (la fonction d’activation est H partout). Quelle interprétation géométrique
peut-on donner au neurone de sortie ?

174 © 2024-2026 G. Faccanoni


Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 4. Initiation aux réseaux de neurones

−1

x 2
0

1
1

1
F(x, y)
1

−2 1
−3

y 0
−1

Correction
Chaque neurone de la première couche délimite un demi-plan. Ce sont les demi-plans −x + 2y ≥ 0, x + y − 2 ≥ 0 et
−y + 3 ≥ 0.
Le neurone de sortie est un neurone qui réalise l’opération « ET » : il s’active uniquement si les trois précédents
neurones sont activés. Ainsi la sortie finale F(x, y) vaut 1 si et seulement si (x, y) appartient simultanément aux trois
demi-plans.

x + y −2 = 0 −x + 2y = 0
−y + 3 = 0
F(x, y) = 1

Exercice 4.7
En utilisant les idées de l’exemple précédent et pour le dessin ci-dessous, trouver un réseau de neurones dont la
fonction F vaut 1 pour la zone colorée et 0 ailleurs.

Correction
On remarque que la région est délimitée par trois droites. Pour trouver leurs équations on note qu’elles s’intersectent en
(−2, 3), (4, 1) et (−1, −2). La partie coloriée correspond à l’intersection des demi-plans −x − 3y + 7 ≥ 0, −3x + 5y + 7 ≥ 0 et
−5x − y − 7 ≥ 0. Un réseau de neurones qui réalise cette opération est donc le suivant.

© 2024-2026 G. Faccanoni 175


Chapitre 4. Initiation aux réseaux de neurones Dernière mise à jour : Mardi 30 septembre 2025

y −1
H

x −3
7

(−2, 3) 1
−3
x +3

5x + y
y −7 F(x, y)
=0 (4, 1) 5 H 1 H

+7 = 0 7 1
7 =0 x −3

y−
−5 y −5
(−1, −2) 3x −1

−7

Exercice 4.8 (OU exclusif (XOR))


Étudier le réseau suivant et en donner une interprétation géométrique.

H
1

x −1 −1 1

F(x, y)
1 H
−1
y −1

1
H
−1

Correction
Nous avons vu qu’un seul neurone ne permet pas de réaliser la fonction associée au « OU exclusif ». Le réseau de
neurones proposé sépare le plan en trois parties, le secteur central en lequel la fonction associée au réseau vaut 0, alors
que la fonction vaut 1 partout ailleurs (y compris sur la frontière rouge).
y

F(x, y) = 1 F(x, y) = 0

0 1 x
−x + y − 1 = 0
F(x, y) = 1
x − y −1 = 0

Ce réseau permet d’obtenir une valeur F(x, y) = 1 en (1, 0) et (0, 1) et une valeur F(x, y) = 0 en (0, 0) et (1, 1). L’idée de ce
réseau vient du fait que l’opération « OU exclusif » est une combinaison de « OU » et de « ET » :

x OUex y = (x ET nony) OU (nonx ET y).

Théorème d’approximation universelle Un résultat dû à Cybenko en 1989 (raffiné par Hornik en 1991) nous dit que
toute fonction continue f : [a, b] → R définie sur un intervalle fermé et borné peut être approchée, avec une précision
arbitraire, par un réseau de neurones formé d’une seule couche intermédiaire (à condition d’utiliser un nombre suffisant

176 © 2024-2026 G. Faccanoni


Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 4. Initiation aux réseaux de neurones

de neurones dans cette couche). Que signifie « approcher d’aussi près que l’on veut la fonction f » ? C’est dire que pour
chaque ϵ > 0, il existe une fonction F (ici issue d’un réseau de neurones), telle que :

pour tout x ∈ [a, b] | f (x) − F(x)| < ϵ.

C’est l’approximation uniforme des fonctions.


Cependant, ce résultat est à modérer par la pratique : le nombre de neurones nécessaire dans cette couche inter-
médiaire est, dans beaucoup de cas, colossal, ce qui rend les réseaux de neurones à une seule couche cachée peu
efficaces.
La solution est alors d’empiler les couches cachées, créant ainsi ce que l’on appelle maintenant un réseau de neurones
profond : le DEEP LEARNING.
On peut interpréter un réseau de neurones multi-couche en considérant que la sortie de chaque couche intermédiaire
est une nouvelle représentation des données.

4.3. Calcul des poids d’un réseau de neurones


Considérons un réseau de neurones R ayant
• une seule sortie,
• n entrées (x 1 , . . . , x n )
• m poids a 1 , . . . , a m (l’ensemble des coefficients et des biais, toutes couches confondus).
Nous pouvons associer trois fonctions à ce réseau :
• si les poids sont fixés, le réseau R définit la fonction

F : Rn → R
(x 1 , . . . , x n ) 7→ F(x 1 , . . . , x n )

• si les entrées sont fixées, on pourrait considérer que ce même réseau R définit la fonction

e : Rm → R
F
(a 1 , . . . , a m ) 7→ F(a
e 1 , . . . , am )

• pour concilier les deux points de vue (entrées et poids), on dira qu’un réseau de neurones ayant n entrées
(x 1 , . . . , x n ) et m poids (a 1 , . . . , a m ) définit la fonction

b : Rn × Rm −→ R
F
(x 1 , . . . , x n ; a 1 , . . . , a m ) 7−→ F(x
b 1 , . . . , xn ; a1 , . . . , am )

Exercice 4.9
Voici un réseau très simple avec
• une entrée x, une sortie F(x),
• trois poids a, b, c,
• des fonctions d’activation (plutôt fantaisistes) φ1 : u 7→ u 2 et φ2 : v 7→ ln(v).

φ1 φ2
a c
x z

1. Écrire explicitement les fonctions F, F


e et F.
b
2. Calculer ∇F.
e

Correction
Nous pouvons associer trois fonctions à ce réseau :

F: R → R e : R3 → R
F b : R × R3 −→ R
F
x 7→ F(x) (a, b, c) 7→ F(a,
e b, c) (x; a, b, c) 7−→ F(x;
b a, b, c)

© 2024-2026 G. Faccanoni 177


Chapitre 4. Initiation aux réseaux de neurones Dernière mise à jour : Mardi 30 septembre 2025

• La première couche contient un seul perceptron affine s = φ1 (ax + b) = (ax + b)2 .


• La deuxième couche contient un seul ¡ perceptron¢ linéaire z = φ2 (c s) = ln(c s).
• On a donc z = φ2 (cφ1 (ax + b)) = ln c(ax + b)2 = ln(c) + 2 ln(ax + b).
On a alors
³ ´
e ∂ ln(c) + 2 ln(ax + b)
∂F x
= =2
∂a ³ ∂a ´ ax + b
∂F
e ∂ ln(c) + 2 ln(ax + b) 1
= =2
∂b ³ ∂b ´ ax + b
∂F
e ∂ ln(c) + 2 ln(ax + b) 1
= =
∂c ∂c c
Pour comprendre comment fonctionne la dérivation automatique, écrivons explicitement les fonctions de pre-
activation :
ℓ1 φ1 ℓ2 φ2
x −→ y −−→ u −→ v −−→ w
avec

ℓ1 (x; a, b) = ax + b, φ1 (y) = y 2 , ℓ2 (u; c) = cu; φ2 (v) = ln(v).

b a, b, c) = φ2 ℓ2 φ1 (ℓ1 (x; a, b)) ; c et on peut dériver cette fonction par rapport aux poids :
¡ ¡ ¢¢
On a alors z = F(x;

b a, b, c) = φ2 ℓ2 φ1 (ℓ1 (x; a, b)) ; c


¡ ¡ ¢¢
F(x;
∂F
b ¢¢ ∂ℓ2 ¡ ∂ℓ1
(x; a, b, c) = φ′2 ℓ2 φ1 (ℓ1 (x; a, b)); c · φ1 (ℓ1 (x; a, b)); c · φ′1 (ℓ1 (x; a, b)) ·
¡ ¡ ¢
(x; a, b)
∂a ∂u ∂a

∂F
b ¢¢ ∂ℓ2 ¡ ∂ℓ1
(x; a, b, c) = φ′2 ℓ2 φ1 (ℓ1 (x; a, b)); c · φ1 (ℓ1 (x; a, b)); c · φ′1 (ℓ1 (x; a, b)) ·
¡ ¡ ¢
(x; a, b)
∂b ∂u ∂b

∂F
b ¢¢ ∂ℓ2 ¡
(x; a, b, c) = φ′2 ℓ2 φ1 (ℓ1 (x; a, b)); c · φ1 (ℓ1 (x; a, b)); c
¡ ¡ ¢
∂c ∂c
On remarque que beaucoup de termes se répètent dans ces dérivées et il suffit de les calculer une fois pour toutes. En
particulier, pour les ℓ1 , ℓ2 , φ1 et φ2 de notre énoncé, on a besoin des dérivées suivantes :

∂ℓ1 ∂ℓ2 ¡
φ′1 (ℓ1 (x; a, b)) = 2ℓ1 (x; a, b), φ1 (ℓ1 (x; a, b)); c = c,
¢
(x; a, b) = x,
∂a ∂u
1 ∂ℓ1 ∂ℓ2 ¡
φ′2 ℓ2 φ1 (ℓ1 (x; a, b)); c = φ1 (ℓ1 (x; a, b)); c = φ1 (ℓ1 (x; a, b)).
¡ ¡ ¢¢ ¢
¢, (x; a, b) = 1,
ℓ2 φ1 (ℓ1 (x; a, b)); c ∂b ∂c
¡

On a alors

∂F
b 1 1 x ∂F
e
(x; a, b, c) = ¡ ¢ · c · 2ℓ1 (x; a, b) · x = · c · 2(ax + b) · x = 2 = (a, b, c)
∂a ℓ2 φ1 (ℓ1 (x; a, b)); c c(ax + b) 2 ax + b ∂a

∂F
b 1 1 1 ∂F
e
(x; a, b, c) = ¡ ¢ · c · 2ℓ1 (x; a, b) · 1 = · c · 2(ax + b) · 1 = 2 = (a, b, c)
∂b ℓ2 φ1 (ℓ1 (x; a, b)); c c(ax + b)2 ax + b ∂b

∂F 1 1 1 ∂F
· (ax + b)2 = =
b e
(x; a, b, c) = ¡ ¢ · φ1 (ℓ1 (x; a, b)) = (a, b, c)
∂c ℓ2 φ1 (ℓ1 (x; a, b)); c c(ax + b) 2 c ∂c

4.3.1. Rétropropagation, apprentissage et test


La rétropropagation, c’est le calcul des poids optimaux d’un réseau de neurones par rapport à une erreur donnée.
Pour ce faire, il est nécessaire d’entraîner le réseau sur un ensemble de données constitué de couples d’entrées et de
sorties attendues, ce qui constitue la phase d’apprentissage.
Le processus commence par l’initialisation des neurones avec des poids choisis aléatoirement. Ensuite, l’algorithme
tente de minimiser l’écart entre les résultats souhaités et ceux effectivement produits par le modèle. Cela se fait

178 © 2024-2026 G. Faccanoni


Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 4. Initiation aux réseaux de neurones

en calculant le gradient de cette erreur et en appliquant l’algorithme de descente de gradient. Ce processus est
répété jusqu’à ce que des poids appropriés soient trouvés. Cette approche est souvent désignée sous le terme de
rétropropagation du gradient ou backpropagation. 2
La rétropropagation permet ainsi d’ajuster efficacement les poids des neurones, en utilisant les informations sur
l’erreur pour optimiser les performances du réseau sur l’ensemble des données d’apprentissage.
• Définition du réseau
Soit R un réseau de neurones, défini par son architecture (nombre de couches et nombre de neurones par
couche), ses fonctions d’activation, ainsi que l’ensemble a = (a 1 , a 2 , . . . , a m ) des poids de tous les neurones.
À ce réseau R on associe une fonction F : Rn → Rp où n est la dimension des entrées (celles de la première couche)
et p le nombre de neurones de la couche de sortie. Pour simplifier, nous supposerons qu’il n’y a qu’une seule
sortie, c’est-à-dire p = 1, ce qui donne F : Rn → R.

Première
couche
Entrée

x1 Dernière
couche

.. z = F(x 1 , . . . , x n )
.
Sortie
xn

• Préparation des données. Pour entraîner un réseau de neurones et évaluer sa performance, il faut de diviser les
données disponibles en deux ensembles : un ensemble d’apprentissage (ou training set) et un ensemble de test
(ou test set). On dispose donc de données { (X i , z i ) }i où chaque entrée X i ∈ Rn (avec X i = (x 1 , . . . , x n )) correspond
à une observation et z i ∈ R est la sortie attendue. Pour construire et évaluer le modèle, on divise cet ensemble
initial en deux sous-ensembles distincts :
◦ Ensemble d’apprentissage A : il contient une fraction (généralement entre 70% et 80%) des données. Notons
N sa cardinalité. Ces données sont utilisées pour ajuster les poids a du réseau de neurones pendant la phase
d’apprentissage, afin que le modèle apprenne à associer les entrées X i aux sorties z i .
◦ Ensemble de test B : il regroupe le reste des données. Cet ensemble n’est pas utilisé pendant l’entraînement,
mais sert à évaluer la capacité du modèle à généraliser, c’est-à-dire à effectuer des prédictions correctes sur
des données qu’il n’a jamais vues auparavant.
• Phase d’apprentissage : l’objectif est de déterminer les poids a afin que la fonction F satisfasse F(X i ) ≃ z i pour
tout i = 1, . . . , N. On cherche donc les poids a = (a 1 , a 2 , . . .) qui minimisent l’erreur E, considérée comme une
fonction des poids a = (a 1 , a 2 , . . .). On utilise typiquement la méthode de la descente de gradient dont le principe
est le suivant :
◦ Tout d’abord, on choisi la fonction d’erreur. Dans nos exemples elle sera celle de type “moindres carrées” :

1 X N ¡ ¢2
E= Ei avec Ei = F(X i ) − z i .
N i =1

◦ On part de poids initiaux a0 = (a1 , a2 , . . .) choisis aléatoirement. On fixe un pas δ et les poids ak sont mis à
jour par la récurrence ak+1 = ak − δ∇E(ak ). L’erreur E(ak ) diminue à chaque itération, et le processus s’arrête
après un nombre prédéterminé d’itérations.
Cette méthode d’optimisation est efficace pour des fonctions convexes, comme la fonction d’erreur choisie. Dans
ce cas, elle converge vers un minimum global (mais la vitesse dépend du choix du point de départ et du pas). Pour
les fonctions non-convexes, comme certaines autres fonctions d’erreur, il n’y a pas de garantie de convergence
vers un minimum global, et le processus peut aboutir à un minimum local.
Le gradient ∇E est calculé à partir de la relation ∇E = N1 N
P
i =1 ∇Ei , où chaque ∇Ei est donné par les dérivées
partielles des poids a j :
∂Ei ∂F ¡ ¢
(X i ) = 2 (X i ) F(X i ) − z i .
∂a j ∂a j
2. Rumelhart, D. E., Hinton, G. E., & Williams, R. J. (1986). Learning representations by back-propagating errors. nature, 323(6088), 533-536.

© 2024-2026 G. Faccanoni 179


Chapitre 4. Initiation aux réseaux de neurones Dernière mise à jour : Mardi 30 septembre 2025

Dans nos exemples, le gradient sera calculé manuellement, mais en pratique, on utilise la “différenciation
automatique” (AutoDiff, ou AD), une méthode permettant de calculer les dérivées de manière efficace dans un
langage de programmation. Cette méthode surpasse la différenciation symbolique, qui peut être complexe à
manipuler, et la différenciation numérique, qui peut être instable.
• Phase de test
◦ Une fois le modèle entraîné (les poids a déterminés pour modéliser au mieux les données A ), on vérifie
d’abord si le modèle reproduit correctement les données d’apprentissage, en vérifiant que F(X i ) ≃ z i pour
les données de A .
◦ L’objectif réel d’un réseau de neurones est de faire des prédictions pour de nouvelles valeurs. On va donc
tester sa capacité à prédire pour des valeurs jamais rencontrées auparavant, typiquement sur l’ensemble de
données de test B, non utilisé pendant l’apprentissage, pour vérifier la qualité des prédictions.

Remarque (Différentes
© fonctions
ªN d’erreurs)
Soit des données (x i , y i ) i =1 . Les valeurs y i sont fournies par observations ou expérimentations. On cherche une
fonction F, par exemple issue d’un réseau de neurones, telle que F(x i ) ≈ y i . Pour savoir si l’objectif est atteint, on mesure
l’écart entre ces valeurs mais lequel ?
• Premier exemple : l’Erreur quadratique moyenne

1 X N
E= (y i − F(x i ))2 .
N i =1

C’est la formule la plus classique (en anglais minimal squared error ou mse). Bien entendu E ≥ 0 quels que soit les
F(x i ) et E = 0 si et seulement si y i = F(x i ) pour tous les i = 1, . . . , N. C’est presque la formule que l’on a utilisée
pour la régression linéaire (il n’y avait pas le facteur N1 ).
• Deuxième exemple : l’Erreur absolue moyenne.

1 X N
E= |y i − F(x i )|.
N i =1

C’est une formule plus naturelle, mais moins agréable à manipuler à cause de la valeur absolue.
Noter que pour ces deux formules, l’erreur globale E est la moyenne d’erreurs locales Ei = (y i − F(x i ))2 (ou bien
Ei = |y i − F(x i )|). Les erreurs locales sont indépendantes les unes des autres.
Il existe d’autres formules d’erreur, en particulier si la sortie attendue est du type 0 ou 1 ou bien si la sortie produite
est une probabilité 0 ≤ p ≤ 1.

Remarque (Algorithme de la descente de gradient classique)


Cette méthode a pour but de trouver un minimum d’une fonction d’une ou plusieurs variables le plus rapidement
possible. Comme on sait que le vecteur opposé au gradient indique une direction vers des plus petites valeurs de la
fonction, il suffit de suivre d’un pas cette direction et de recommencer.
Soit une fonction

e : Rm → R
F
a = (a 1 , . . . , a m ) 7→ F(a)
e
© ª
On calcule une suite de points ak k par récurrence de la façon suivante :
(
a0 ∈ Rm donné,
ak+1 = ak − δk ∇F(ak ) avec un pas δk à choisir.
e

e k )∥ ≤ ϵ ou lorsqu’on a atteint un nombre d’itérations prédéterminé.


On s’arrête lorsque ∥∇F(a

4.4. Application ① : l’approximation au sens des moindres carrées par


un réseau de neurones
Commençons par établir un lien entre la régression linéaire (qu’il faudrait appeler affine) et un neurone.

180 © 2024-2026 G. Faccanoni


Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 4. Initiation aux réseaux de neurones

© ªN
Soit des données (x i , y i ) i =1 . Le problème de la régression linéaire consiste à trouver les coefficients a et b, tels que
la droite d’équation F(x) = ax + b “décrit” au mieux ces données, c’est-à-dire tels que F(x i ) ≃ y i . Pour cela, la méthode
des moindres carrées demande à minimiser la somme des erreurs quadratiques E = N
P PN 2
i =1 Ei = i =1 (y i − F(x i )) . Nous
pouvons traduire ce problème en la recherche des poids a et b associés au perceptron suivant qui minimisent la même
fonction erreur E :

a
x F(x) = ax + b
φ =id

Vocabulaire :
• Chaque x i est une valeur qu’on peut passer comme entrée,
• y i est la sortie attendue pour l’entrée x = x i ,
• F(x i ) = φ(ax i + b) = ax i + b est la sortie produite pour l’entrée x = x i ,
• Ei = (y i − F(x i ))2 est l’erreur pour l’entrée x = x i ,
• L’erreur totale est
N N
Ei = (y i − F(x i ))2 .
X X
E=
i =1 i =1

Exercice 4.10
Quel réseau de neurones correspond-il à la régression de l’exercice 3.2 portant sur l’approximation affine au sens
des moindres carrées en deux variables ?

Correction
Nous devons adapter la structure du réseau de neurones pour représenter un modèle de la forme

F(x, y) = a + bx + c y

Un réseau de neurones simple qui modélise cette régression pourrait avoir une architecture comme suit
• Deux entrées : x et y.
• Une sortie qui est une combinaison affine de ces termes.
Le réseau de neurones peut être représenté graphiquement comme suit

x b

c
F(x) = a + bx + c y
φ =id
y
a

Exercice 4.11 (Régression parabolique)


Quel réseau de neurones correspond-il à la régression parabolique ?

Correction
Pour obtenir une régression parabolique (ou régression quadratique), nous devons adapter la structure du réseau de
neurones pour représenter un modèle de la forme

F(x) = a 2 x 2 + a 1 x + a 0

Un réseau de neurones simple qui modélise cette régression pourrait avoir une architecture comme suit
• Une entrée x.
• Une couche cachée à deux neurones
• Une sortie qui est une combinaison affine de ces termes.
Le réseau de neurones peut être représenté graphiquement comme suit

© 2024-2026 G. Faccanoni 181


Chapitre 4. Initiation aux réseaux de neurones Dernière mise à jour : Mardi 30 septembre 2025

x 7→ x 2
1

a2

x
a1
F(x) = a 2 x 2 + a 1 x + a 0
id

a0
1

id

• Entrée : Le réseau reçoit une seule entrée x.


• Couche cachée :
◦ Le premier neurone applique la fonction d’activation φ(x) = x 2 avec un poids de 1, produisant le terme
quadratique.
◦ Le deuxième neurone applique l’identité φ(x) = x avec un poids de 1, produisant le terme linéaire.
• Neurone de sortie :
◦ Applique la fonction identité à la combinaison linéaire a2 x 2 +a1 x+a0 , pour produire la fonction de régression
F(x) = a 2 x 2 + a 1 x + a 0 .
Attention : les poids de la première couche sont donnés, c’est pour cela qu’on préfère modéliser le problème de la
régression parabolique par un seul perceptron :

x
a2

a1 F(x, x 2 ) = a 2 x 2 + a 1 x + a 0
id

x2 a0

Exercice 4.12
Quel réseau de neurones correspond-il à la régression polynomiale ?

Correction
Pour obtenir une régression polynomiale de degré n, nous pouvons utiliser un réseau de neurones avec une couche
cachée comprenant n neurones, où chaque neurone correspond à un terme polynomial.
• Entrée : le réseau reçoit une seule entrée x.
• Couche cachée : chaque neurone i applique la fonction d’activation φ(x) = x i pour i = 1, 2, . . . , n. Cela produit les
termes polynomiaux x 1 , x 2 , . . . , x n .
• Neurone de sortie : combine les termes a n x n , a n−1 x n−1 , . . . , a 1 x + a 0 , et un biais a 0 , pour produire la fonction de
régression polynomiale
F(x) = a n x n + a n−1 x n−1 + . . . + a 1 x + a 0 .
Ainsi, le réseau de neurones peut modéliser n’importe quel polynôme de degré n en utilisant des neurones avec des
fonctions d’activation correspondant aux puissances de x.

Exercice 4.13 (Régression dans un espace vectoriel quelconque)


Quel© réseauªde neurones correspond-il à l’approximation au sens des moindres carrées dans l’espace engendré
par ϕ1 , ϕ2 ?

Correction
Nous devons adapter la structure du réseau de neurones pour représenter un modèle de la forme

F(x) = a 1 ϕ1 (x) + a 2 ϕ2 (x).

Un réseau de neurones simple qui modélise cette régression pourrait avoir une architecture comme suit
• Une entrée x.
• Une couche cachée à deux neurones

182 © 2024-2026 G. Faccanoni


Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 4. Initiation aux réseaux de neurones

• Une sortie qui est une combinaison linéaire de ces termes.


Le réseau de neurones peut être représenté graphiquement comme suit

ϕ1

a1

x F(x) = a 1 ϕ1 (x) + a 2 ϕ2 (x)


a2 id

ϕ2

• Entrée : le réseau reçoit une seule entrée x.


• Couche cachée : le neurones i applique la fonction d’activation φi (x) avec un poids de 1,
• Neurone de sortie : applique la fonction identité à la combinaison linéaire i a i ϕi (x), pour produire la fonction
P

de régression
Attention : les poids de la première couche © sont donnés, c’est pour cela qu’on préfère modéliser le problème de la
régression dans un espace vectoriel de base ϕ1 , ϕ2 par un seul perceptron :
ª

ϕ1 (x)
a2

a1 F(ϕ1 (x), ϕ2 (x)) = a 2 ϕ2 (x) + a 1 ϕ1 (x)


id

ϕ2 (x)

4.4.1. Un exemple complet : régression affine avec un réseau de neurones


Appliquons cette démarche au cas de la régression linaire. Dans le jargon du machine learning, on dit que “on va
entraîner un modèle linéaire pour apprendre à prédire la cible en fonction de l’unique feature.”
Soit { (X i , Yi ) }i =1 un ensemble de points dans le plan. Séparons cet ensemble en deux sous-ensembles : A = { (X i , Yi ) }N
def
i =1
et B = { (X i , Yi ) }i . Pour chaque point de notre jeu d’entraînement A , le modèle fait une prédiction. En comparant cette
def

prédiction à la cible (la “vraie” valeur), on obtient un écart.


Nous allons prendre une métrique classique pour les problèmes de régression, c’est-à-dire la moyenne des carrés des
écarts (mse).
Notre modèle linéaire possède deux paramètres : le coefficient directeur de la droite (le poids), et l’ordonnée à l’origine
(le biais). Il s’agit de trouver automatiquement les paramètres qui vont minimiser notre métrique.
Pour ce faire, on initialise les paramètres (plus au moins) au hasard, puis on applique la descente du gradient en
minimisant une fonction de coût (ou erreur, ou encore risque). Ici, on va minimiser directement notre métrique ; la
fonction de coût et la métrique sont donc identiques.
Cet exemple de régression linéaire est utile pour comprendre, mais peu utilisé en pratique. En effet, pour un problème
linéaire on peut simplement calculer le gradient une fois pour toutes, à l’aide d’une formule mathématique, et résoudre
le problème (c’est ce que l’on a fait au chapitre précédent). Cela est permis par le fait que la fonction de coût a des
bonnes propriétés (convexité), ce qui fait qu’il y a une unique solution optimale à notre problème, soit un unique
minimum global. Néanmoins, la descente de gradient est bien plus générale, en ce qu’elle peut s’appliquer à des
modèles bien plus complexes pour lesquels calculer le gradient n’est pas simple, ou bien la fonction de coût n’est pas
totalement convexe.

1. Le problème
• Définition de la fonction à ajuster : on cherche une fonction affine F(x) = ax + b ajustée à l’ensemble des
points A . Cette fonction peut être représentée par le réseau de neurones suivant
a
x F(x) = ax + b
φ =id

© 2024-2026 G. Faccanoni 183


Chapitre 4. Initiation aux réseaux de neurones Dernière mise à jour : Mardi 30 septembre 2025

• Définition de la fonction erreur et calcul de son gradient : pour minimiser l’erreur au sens des moindres
carrés, on minimise la somme des carrés des écarts verticaux :

1 X N 1 X N
E(a, b) = (F(X i ) − Yi )2 = (aX i + b − Yi )2 avec (X i , Yi ) ∈ A .
N i =1 N i =1

Remarquons que E(a, b) ≥ 0 pour tout a et b. Si tous les points sont alignés, il existe a et b tels que E(a, b) = 0.
Sinon, on cherche le couple (a, b) qui minimise E(a, b). Dans tous les cas, on cherche à résoudre le système
∂E
d’équations ∂a = ∂E
∂b = 0 :

∂E 2 X N ∂E 2 X N
(a, b) = (aX i + b − Yi )X i , (a, b) = (aX i + b − Yi ).
∂a N i =1 ∂b N i =1

2. Phase d’entraînement : dans cette phase on calcule les poids a et b par minimisation de l’erreur obtenue avec les
données du jeu d’entraînement A . Dans cet exemple simple nous pouvons calculer les poids analytiquement ou
utiliser l’approche classique d’approximation par descente de gradient.
• Calcul analytique du minimum : lorsque F est affine (et E est l’erreur quadratique), on peut calculer explici-
tement le couple (a, b) en résolvant un système linéaire

∂E
( PN ¸ · ¸ · PN
∂a (a, b) = 0,
· ¸
N i =1 X i b i =1 Yi
∂E
⇐⇒ PN PN 2 = N .
a
P
∂b (a, b) = 0 i =1 X i i =1 X i i =1 X i Yi

C’est ce que l’on a fait au chapitre précédent.


• Calcul approché par descente de gradient : cette méthode, couramment utilisée en apprentissage
© automa-
ª
tique, permet de minimiser l’erreur même pour des modèles non linéaires. La suite de points (a k , b k ) k est
définie par récurrence : (
(a 0 , b 0 ) donné,
(a k+1 , b k+1 ) = (a k , b k ) − δ∇E(a k , b k ),
où δ est le pas d’apprentissage qu’il faut bien choisir.
3. Phase de test : on évalue l’erreur cette fois-ci sur les données de l’ensemble de test :

1 X N
(aX i + b − Yi )2 avec (X i , Yi ) ∈ B.
N i =1

E XEMPLE (R ÉGRESSION AFFINE , POINTS ALIGNÉS )


Prenons d’abord l’exemple des trois points A1 = (0, 3), A2 = (2, 4) et A3 = (6, 6) qui sont alignés.
La fonction E (sans diviser par N = 3) s’écrit E(a, b) = 3i =1 (aX i + b − Yi )2 .
P

• Calcul exacte de (a, b) par résolution du système linéaire :

import sympy as sp
a, b = [Link]('a b')

A = [ (0,3), (2,4), (6,6) ]


E = sum([ (a*x+b-y)**2 for x,y in A ])
grad_E = [[Link](E, var) for var in (a, b)]

print([Link](grad_E, [a,b]))

{a: 1/2, b: 3}
• Calcul approché de (a, b) par descente de gradient : partons arbitrairement de (a 0 , b 0 ) = (0, 1) (qui correspond à
la droite horizontale d’équation y = 1). Au bout de 100 itérations, on obtient a 100 ≃ 0.501 et b 100 ≃ 2.99 (avec un
gradient et une erreur presque nuls). C’est bien la droite y = 21 x + 3 qui passe par les trois points.

184 © 2024-2026 G. Faccanoni


Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 4. Initiation aux réseaux de neurones

from tabulate import tabulate


import sympy as sp
a, b = [Link]('a b')

A = [ (0,3), (2,4), (6,6) ]


E = sum([ (a*x+b-y)**2 for x,y in A ])
grad_E = [[Link](E, var) for var in (a, b)]

values = []

# Set initial values and learning rate (delta)


iterations = 100
delta = 0.02
a_k, b_k = 0, 1

# Update a_k and b_k using gradient descent


for k in range(iterations + 1):
grad_val = (grad_E[0].subs({a:a_k, b:b_k}), grad_E[1].subs({a:a_k,
,→ b:b_k}))
norm_grad = [Link](grad_val[0]**2 + grad_val[1]**2)
E_val = [Link]({a: a_k, b: b_k})
if k%10==0:
[Link]((k, a_k, b_k, norm_grad, E_val))
a_k = a_k - delta * grad_val[0]
b_k = b_k - delta * grad_val[1]

# Display the table


headers = ["Iter", "a_k", "b_k", "||∇(a_k, b_k)||","E(a_k, b_k)"]
table = tabulate(values, headers, floatfmt=".5f")
print(table)

Iter a_k b_k ||∇(a_k, b_k)|| E(a_k, b_k)


------ ------- ------- ----------------- -------------
0 0.00000 1.00000 74.72617 38.00000
10 0.70146 1.95049 3.14709 1.54491
20 0.62434 2.39789 1.65322 0.50817
30 0.57169 2.65359 0.95113 0.16823
40 0.54125 2.80069 0.54725 0.05569
50 0.52373 2.88532 0.31487 0.01844
60 0.51366 2.93402 0.18117 0.00610
70 0.50786 2.96204 0.10424 0.00202
80 0.50452 2.97816 0.05998 0.00067
90 0.50260 2.98743 0.03451 0.00022
100 0.50150 2.99277 0.01986 0.00007

E XEMPLE (R ÉGRESSION AFFINE , POINTS NON ALIGNÉS )


Prenons maintenant les 5 points suivants A1 = (4, 1), A2 = (7, 3), A3 = (8, 3), A4 = (10, 6), A5 = (12, 7).

© 2024-2026 G. Faccanoni 185


Chapitre 4. Initiation aux réseaux de neurones Dernière mise à jour : Mardi 30 septembre 2025

y
10

8
A4
6 A5
4

2 A1 A2A3
0
0 2 4 6 8 10 12 14 x
−2

P5
Ces 5 points sont à peu près alignés. La fonction E (sans diviser par N = 5) s’écrit E(a, b) = i =1 (aX i + b − Y i )2 .
• Calcul exacte de (a, b) par résolution du système linéaire :

import sympy as sp
a, b = [Link]('a b')

A = [ (4,1), (7,3), (8,3), (10,6), (12,7) ]


E = sum([ (a*x+b-y)**2 for x,y in A ])
grad_E = [[Link](E, var) for var in (a, b)]

sol = [Link](grad_E, [a,b])


print(f"a={sol[a]}≈{sol[a].evalf()}, b={sol[b]}≈{sol[b].evalf()}")

a=145/184≈0.788043478260870, b=-453/184≈-2.46195652173913
• Calcul approché de (a, b) par descente de gradient : on ne choisit pas le point initial (a 0 , b 0 ) complètement au
hasard, car plus on part d’un point proche de la solution, plus la suite convergera rapidement. On utilise par
exemple les coefficients qui correspondent à la droite qui passe par le premier point A1 et le dernier point A5 .
Cette droite a pour équation y = 43 x − 2 et est déjà une droite qui approche assez bien les 5 points. Prenons cette
droite comme point de départ, c’est-à-dire posons (a 0 , b 0 ) = ( 43 , −2).
Pour avoir convergence, on doit utiliser un pas très petit, on choisira δ = 0.001. La descente de gradient conduit
au bout de 2000 itérations à a ≃ 0.78 et b ≃ −2.40.

from tabulate import tabulate


import sympy as sp
a, b = [Link]('a b')

A = [ (4,1), (7,3), (8,3), (10,6), (12,7) ]


E = sum([ (a*x+b-y)**2 for x,y in A ])
grad_E = [[Link](E, var) for var in (a, b)]

values = []

# Set initial values and learning rate (delta)


iterations = 2000
delta = 0.001
a_k, b_k = 3/sp.S(4), -2

# Update a_k and b_k using gradient descent


for k in range(iterations + 1):
grad_val = (grad_E[0].subs({a:a_k, b:b_k}), grad_E[1].subs({a:a_k,
,→ b:b_k}))
norm_grad = [Link](grad_val[0]**2 + grad_val[1]**2)
E_val = [Link]({a: a_k, b: b_k})
if k%200==0:
[Link]((k, a_k, b_k, norm_grad, E_val))

186 © 2024-2026 G. Faccanoni


Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 4. Initiation aux réseaux de neurones

a_k = a_k - delta * grad_val[0]


b_k = b_k - delta * grad_val[1]

# Display the table


headers = ["Iter", "a_k", "b_k", "||∇(a_k, b_k)||","E(a_k, b_k)"]
table = tabulate(values, headers, floatfmt=".5f")
print(table)

Iter a_k b_k ||∇(a_k, b_k)|| E(a_k, b_k)


------ ------- -------- ----------------- -------------
0 0.75000 -2.00000 9.61769 1.31250
200 0.74634 -2.08301 0.37163 1.21758
400 0.75373 -2.15016 0.30577 1.19470
600 0.75981 -2.20542 0.25159 1.17921
800 0.76481 -2.25088 0.20700 1.16872
1000 0.76893 -2.28828 0.17032 1.16162
1200 0.77232 -2.31906 0.14014 1.15681
1400 0.77510 -2.34438 0.11530 1.15356
1600 0.77740 -2.36522 0.09487 1.15136
1800 0.77928 -2.38236 0.07806 1.14986
2000 0.78084 -2.39647 0.06423 1.14885
Pourquoi c’est ci-difficile de converger ? Lorsque l’on dessine les lignes de niveau, on s’aperçoit que le minimum
se trouve dans une région plate allongée. Cela signifie que, bien que le minimum soit unique, il existe beaucoup de
points (a, b) tels que E(a, b) soit proche de la valeur minimale E(a opt , b opt ). De plus, ces points peuvent être assez
éloignés de la solution : cela signifie que beaucoup de droites avec des coefficients très différents approchent la
solution optimale. On peut améliorer la convergence en changeant le point de départ, mais ça reste une fonction
difficile à optimiser.

import sympy as sp
import numpy as np
import [Link] as plt
a, b = [Link]('a b')

A = [(4, 1), (7, 3), (8, 3), (10, 6), (12, 7)]
E = lambda a,b : sum((a * x + b - y) ** 2 for x, y in A)
grad_E = [[Link](E(a,b), var) for var in (a, b)]
a_eval = sol[a].evalf()
b_eval = sol[b].evalf()

a_vals = [Link](-5, 5, 200)


b_vals = [Link](-5, 5, 200)
A_mesh, B_mesh = [Link](a_vals, b_vals)
E_vals = [Link]([E(a, b) for a,b in zip(A_mesh,B_mesh)])

[Link](figsize=(10, 8))
contour = [Link](A_mesh, B_mesh, E_vals, levels=50, cmap='viridis')
[Link](contour)
[Link](3/4, -2, color='blue', label=f"Initial point: a={3/4:.2f},
,→ b={-2:.2f}", s=50)
[Link](a_eval, b_eval, color='red', label=f"Critical point:
,→ a={a_eval:.2f}, b={b_eval:.2f}", s=50)
[Link]('a')
[Link]('b')
[Link]()
[Link](True)

© 2024-2026 G. Faccanoni 187


Chapitre 4. Initiation aux réseaux de neurones Dernière mise à jour : Mardi 30 septembre 2025

[Link]('descente_non_alignes.png')
[Link]()

Centrer et normaliser les données avant d’appliquer la descente de gradient peut améliorer la convergence,
car cela rend la fonction de coût plus isotrope, ce qui facilite la descente. Voici un code pour centrer et normaliser
les données, effectuer la descente de gradient, et revenir aux coefficients initiaux.

import numpy as np
import sympy as sp
from tabulate import tabulate
a, b = [Link]('a b')

A = [ (4,1), (7,3), (8,3), (10,6), (12,7) ]


X,Y = zip(*A)

# Centrage et normalisation des données


X_mean = [Link](X)
Y_mean = [Link](Y)
X_std = [Link](X)
Y_std = [Link](Y)

X_normalized = (X - X_mean) / X_std


Y_normalized = (Y - Y_mean) / Y_std

E = sum((a * X_normalized[i] + b - Y_normalized[i]) ** 2 for i in


,→ range(len(X)))
grad_E = [[Link](E, var) for var in (a, b)]

values = []

# Set initial values and learning rate (delta)


iterations = 2000
delta = 0.001
a_k, b_k = 0, 0 # On part de (0,0) pour les données normalisées

# Update a_k and b_k using gradient descent


for k in range(iterations + 1):
grad_val = (grad_E[0].subs({a:a_k, b:b_k}), grad_E[1].subs({a:a_k,
,→ b:b_k}))

188 © 2024-2026 G. Faccanoni


Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 4. Initiation aux réseaux de neurones

norm_grad = [Link](grad_val[0]**2 + grad_val[1]**2)


E_val = [Link]({a: a_k, b: b_k})
if k%200==0:
[Link]((k, a_k, b_k, norm_grad, E_val))
a_k = a_k - delta * grad_val[0]
b_k = b_k - delta * grad_val[1]

# Display the table


headers = ["Iter", "a_k", "b_k", "||∇(a_k, b_k)||","E(a_k, b_k)"]
table = tabulate(values, headers, floatfmt=".5f")
print(table)

# Récupération des coefficients a et b originaux


a_final = a_k * (Y_std / X_std)
b_final = b_k * Y_std + Y_mean - a_final * X_mean
print(f"Final coefficients: a ≈ {a_final:.5f}, b ≈ {b_final:.5f}")

# Visualisation
import [Link] as plt
E = [Link]((a, b), E, 'numpy')
a_vals = [Link](-5, 5, 200)
b_vals = [Link](-5, 5, 200)
A_mesh, B_mesh = [Link](a_vals, b_vals)
E_vals = E(A_mesh, B_mesh)

[Link](figsize=(10, 8))
contour = [Link](A_mesh, B_mesh, E_vals, levels=50, cmap='viridis')
[Link](contour)
[Link](0, 0, color='blue', label="Initial point (0, 0)", s=50)
[Link](a_k, b_k, color='red', label=f"Final point (normalized):
,→ a={a_k:.2f}, b={b_k:.2f}", s=50)
[Link]('a')
[Link]('b')
[Link]()
[Link](True)
[Link]('Contours of E(a, b) with Normalized Data')
[Link]('descente_non_alignes_normal.png')
[Link]()

Iter a_k b_k ||∇(a_k, b_k)|| E(a_k, b_k)


------ ------- -------- ----------------- -------------
0 0.00000 0.00000 9.75817 5.00000
200 0.84508 -0.00000 1.30740 0.32437
400 0.95830 -0.00000 0.17516 0.24044
600 0.97347 -0.00000 0.02347 0.23893
800 0.97550 -0.00000 0.00314 0.23890
1000 0.97578 -0.00000 0.00042 0.23890
1200 0.97581 -0.00000 0.00006 0.23890
1400 0.97582 -0.00000 0.00001 0.23890
1600 0.97582 -0.00000 0.00000 0.23890
1800 0.97582 -0.00000 0.00000 0.23890
2000 0.97582 -0.00000 0.00000 0.23890
Final coefficients: a ≈ 0.78804, b ≈ -2.46196

© 2024-2026 G. Faccanoni 189


Chapitre 4. Initiation aux réseaux de neurones Dernière mise à jour : Mardi 30 septembre 2025

Pour passer des coefficients de la régression obtenus avec des données centrées et normalisées aux coefficients
correspondants aux données originales, on utilise les formules suivantes :
◦ Soient X et Y les données originales. Après centrage et normalisation, on obtient
X − µX Y − µY
X norm = , Ynorm = ,
σX σY
où µX et µY sont les moyennes de X et Y, et σX et σY leurs écarts-types.
◦ La régression sur les données normalisées donne
Ynorm ≈ a norm · X norm + b norm .

◦ Pour retrouver la régression sur les données originales, soit Y ≈ a · X + b, les formules de transformation des
coefficients sont
σY
a = a norm ·, b = b norm · σY + µY − a · µX .
σX
Le terme a ajuste la pente pour tenir compte des échelles originales, et b recentre la régression autour des
moyennes des données originales.
Et avec sklearn ?

import numpy as np
from sklearn.linear_model import LinearRegression
from sklearn.neural_network import MLPRegressor
from [Link] import StandardScaler

# Données
A = [(4, 1), (7, 3), (8, 3), (10, 6), (12, 7)]
X, Y = zip(*A)
X = [Link](X).reshape(-1, 1) # Reshape pour en faire une matrice colonne
Y = [Link](Y).reshape(-1, 1) # Reshape pour en faire une matrice colonne

# ===================================
# Modèle de régression linéaire
# ===================================
model = LinearRegression()
[Link](X, Y)
a_final = model.coef_[0][0] # Pente
b_final = model.intercept_[0] # Ordonnée à l'origine

print(f"Final coefficients (Linear Regression): a ≈ {a_final:.5f}, b ≈


,→ {b_final:.5f}")

190 © 2024-2026 G. Faccanoni


Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 4. Initiation aux réseaux de neurones

# ===================================
# Modèle MLP pour la régression
# ===================================

# Standardisation des données


scaler_X = StandardScaler()
scaler_Y = StandardScaler()

X_scaled = scaler_X.fit_transform(X)
Y_scaled = scaler_Y.fit_transform(Y)

# MLP
mlp = MLPRegressor(hidden_layer_sizes=(1,),
activation='identity',
max_iter=10000,
solver='sgd', #'adam',
learning_rate='adaptive',
learning_rate_init=0.001,
random_state=0)
[Link](X_scaled, Y_scaled.ravel())

# Récupération des coefficients


a_final_mlp = mlp.coefs_[0][0][0] * (scaler_Y.scale_[0] / scaler_X.scale_[0])
b_final_mlp = scaler_Y.mean_[0] + mlp.intercepts_[0] - a_final_mlp *
,→ scaler_X.mean_[0]

# Convertir les valeurs en scalaires


a_final_mlp = a_final_mlp.item() # Convertir en scalaire
b_final_mlp = b_final_mlp.item() # Convertir en scalaire

print(f"Final coefficients (MLP Regression): a ≈ {a_final_mlp:.5f}, b ≈


,→ {b_final_mlp:.5f}")

Final coefficients (Linear Regression): a ≈ 0.78804, b ≈ -2.46196


Final coefficients (MLP Regression): a ≈ 0.83675, b ≈ -2.39261
Et avec keras ?

import numpy as np
import [Link] as plt
from [Link] import Sequential
from [Link] import Dense
from [Link] import SGD

# Définition des données


A = [(4, 1), (7, 3), (8, 3), (10, 6), (12, 7)]
X, Y = zip(*A)

# Conversion en tableau NumPy pour les traitements


X = [Link](X)
Y = [Link](Y)

# Fonction pour créer et entraîner le modèle Keras


def create_and_train_model(X_train, Y_train, epochs=2000):
# Création d'un modèle séquentiel = réseau de neurones

© 2024-2026 G. Faccanoni 191


Chapitre 4. Initiation aux réseaux de neurones Dernière mise à jour : Mardi 30 septembre 2025

model = Sequential()

# Ajoute une couche dense avec une seule entrée et une activation
,→ linéaire (=identité)
[Link](Dense(1, input_dim=1, activation='linear'))

# Stochastic Gradient Descent est un algorithme d'optimisation


# Initialisation de l'optimiseur avec un taux d'apprentissage de 0.01
optimizer = SGD(learning_rate=0.01)

# Compilation du modèle avec l'optimiseur et la fonction de perte à


,→ minimiser (ici l'erreur quadratique moyenne)
[Link](optimizer=optimizer, loss='mean_squared_error')

# Entraînement du modèle sur les données d'entraînement


[Link](X_train.reshape(-1, 1), Y_train, epochs=epochs, verbose=0)

# Retourne le modèle entraîné


return model

# Entraînement sur les données d'origine


model_original = create_and_train_model(X, Y)
a_original = model_original.layers[0].get_weights()[0][0][0]
b_original = model_original.layers[0].get_weights()[1][0]
print(f"Coefficients obtenus avec Keras sur données d'origine : a ≈
,→ {a_original:.5f}, b ≈ {b_original:.5f}")

# Entraînement sur les données normalisées


X_mean = [Link](X)
Y_mean = [Link](Y)
X_std = [Link](X)
Y_std = [Link](Y)
X_normalized = (X - X_mean) / X_std
Y_normalized = (Y - Y_mean) / Y_std
model_normalized = create_and_train_model(X_normalized, Y_normalized)
a_normalized = model_normalized.layers[0].get_weights()[0][0][0]
b_normalized = model_normalized.layers[0].get_weights()[1][0]
a_final_normalized = a_normalized * (Y_std / X_std)
b_final_normalized = b_normalized * Y_std + Y_mean - a_final_normalized *
,→ X_mean
print(f"Coefficients réajustés pour les données originales (normalisées) : a
,→ ≈ {a_final_normalized:.5f}, b ≈ {b_final_normalized:.5f}")

4.5. Application ② : Physics-Informed Neural Network (PINN)


Les équations différentielles modélisent l’évolution de nombreux phénomènes physiques, biologiques ou écono-
miques. Elles expriment des relations entre une fonction inconnue et ses dérivées. Lorsqu’elles ne font intervenir
que des dérivées par rapport à une seule variable, on parle d’équations différentielles ordinaires (EDO). En revanche,
lorsqu’elles impliquent des dérivées partielles par rapport à plusieurs variables, on parle d’équations aux dérivées
partielles (EDP).
Une EDO s’écrit sous la forme générale :

F y(t ), y ′ (t ), y ′′ (t ), . . . , y (p) (t ) = g (t ),
¡ ¢

192 © 2024-2026 G. Faccanoni


Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 4. Initiation aux réseaux de neurones

où y : I ⊂ R → R est une fonction inconnue définie sur un intervalle I, et p est l’ordre de l’équation.
Résoudre une équation différentielle consiste à déterminer toutes les fonctions y satisfaisant cette relation sur un
intervalle donné. La solution générale regroupe l’ensemble des solutions possibles sous une forme paramétrée par
des constantes libres. Les EDO admettent en général une infinité de solutions. Pour isoler celle qui correspond à un
problème physique concret, on impose des données supplémentaires appelées conditions initiales.
E XEMPLE
Résolvons l’EDO y ′ (t ) = −y(t ). On cherche les fonctions y(t ) vérifiant cette relation pour tout t ∈ I où I est un intervalle
qu’on cherchera le plus grand possible. Il est facile de vérifier que, pour c ∈ R, les fonctions y(t ) = ce −t sont solution
pour tout t ∈ R. Si on impose une condition initiale (=passage par un point), par exemple y(0) = 1, on sélectionne une
seule fonction de cette famille,c’est la fonction y(t ) = e −t .

Le couple EDO+CI est appelé problème de Cauchy. Résoudre un tel problème revient à
• déterminer toutes les fonctions y vérifiant l’EDO ;
• parmi elles, identifier celles qui satisfont la condition initiale ;
• étudier l’intervalle maximal sur lequel la solution est définie et unique.
Dans ce chapitre, nous nous limiterons aux cas où le problème de Cauchy admet une unique solution définie sur
l’intervalle spécifié.
E XEMPLE (C ALCUL EXACT DE LA SOLUTION D ’ UNE EDO LINÉAIRES DU PREMIER ORDRE )
Une équation différentielle linéaire du premier ordre s’écrit sous la forme

a(x)y ′ (x) + b(x)y(x) = g (x),

où a, b et g sont des fonctions continues sur un intervalle I ⊂ R. Pour garantir l’existence d’une solution, on suppose que
a(x) ̸= 0 sur un sous-intervalle J ⊂ I. Sur un tel intervalle, toute solution y(x) peut être exprimée comme combinaison
de deux termes :
−A(x) −A(x)
y(x) = |Ce {z } + B(x)e , ∀C ∈ R,
| {z }
y H (x) y P (x)

g (x) A(x)
où A(x) est une primitive de b(x)
a(x) et B(x) une primitive de a(x) e .

Par exemple, considérons l’EDO y (x) − y(x) = x. On identifie a(x) = 1, b(x) = −1, g (x) = x. On calcule alors
Z Z
A(x) = −1 d x = −x, B(x) = xe −x d x = −(1 + x)e −x ,

d’où la famille de solutions


y(x) = C − (1 + x)e −x e x = Ce x − (1 + x).
¡ ¢

Seules les équations différentielles les plus simples peuvent être résolues par des formules explicites. Si une solution
analytique n’est pas disponible, la solution peut être approchée numériquement.

4.5.1. Solution exacte discrète vs solution approchée


Considérons le cadre classique d’un problème de Cauchy
(
y ′ (t ) = ϕ(t , y(t )), ∀t ∈ I =]t 0 , T[,
y(t 0 ) = y 0 ,

où ϕ est une fonction donnée continue et y 0 une valeur initiale prescrite. On suppose qu’on a montré l’existence et
l’unicité d’une solution y définie sur l’intervalle I.
On introduit les définitions suivantes de solution du problème de Cauchy :
• Solution exacte continue : il s’agit d’une fonction t 7→ y(t ) satisfaisant exactement l’équation différentielle et la
condition initiale. Dans certains cas, une expression analytique de cette fonction est accessible.
• Solution exacte discrète : si l’on considère une discrétisation de l’intervalle temporel, par exemple {t i }N i =0
, on
N
peut évaluer la solution exacte en ces points et obtenir les valeurs exactes {y(t i )}i =0 de la solution continue. Il
s’agit alors d’une suite discrète représentant la solution au points de la grille.
• Solution approchée discrète : dans le cas des méthodes numériques classiques, on calcule une suite de valeurs
{u i }N
i =0
telles que u i ≈ y(t i ). Ces approximations sont construites à l’aide de schémas numériques (typiquement,
des suites définies par récurrence), sans connaître la solution exacte.

© 2024-2026 G. Faccanoni 193


Chapitre 4. Initiation aux réseaux de neurones Dernière mise à jour : Mardi 30 septembre 2025

• Solution PINN : il s’agit d’une fonction t 7→ u(t ) dont on fixe à l’avance la forme analytique (typiquement, un
réseau de neurones) et dont on ajuste les paramètres internes pour qu’elle vérifie au mieux l’équation différentielle,
la condition initiale et éventuellement certaines valeurs aux points de la grille. On aura ainsi u(t ) ≈ y(t ) pout tout
t de l’intervalle I.

Pour les solutions (exacte et approchée) discrètes, on doit introduire une discrétisation de l’intervalle de temps [t 0 ; T].
Pour cela, on choisit un pas h > 0, et on définit les N + 1 points
T − t0
t n = t 0 + nh, n = 0, 1, . . . , N, avec h = .
N
Cette discrétisation divise l’intervalle [t 0 , T] en N sous-intervalles de même longueur h, notés In = [t n , t n+1 ].
• L’ensemble des N + 1 valeurs {t 0 , t 1 , . . . , t N } définit la grille de discrétisation.
• Les valeurs {y(t 0 ), y(t 1 ), . . . , y(t N )} constituent la solution exacte discrète.
• Une méthode numérique fournit une approximation de cette suite, notée {u 0 = y 0 , u 1 , . . . , u N }, appelée solution
approchée discrète.

4.5.2. Un schéma classique : le schéma d’Euler explicite


Considérons l’EDO y ′ (t ) = ϕ(t , y(t )). En intégrant cette équation entre deux instants t n et t n+1 = t n + h, on obtient
Z tn+1 Z tn+1
y ′ (t ) dt = ϕ(t , y(t )) dt .
t tn
| n {z }
y n+1 −y n

L’idée des méthodes numériques consiste à approcher cette intégrale par une formule de quadrature. Par exemple, si on
considère la formule de quadrature du rectangle à gauche, on obtient l’approximation suivante :
Z b Z tn+1
f (x) dx ≈ (b − a) f (a) ⇝ y n+1 − y n = ϕ(t , y(t )) dt ≈ h ϕ(t n , y(t n )).
a tn

On obtient le schéma d’Euler explicite qui construit la suite de N + 1 valeurs suivante :


(
u 0 = y(t 0 ) = y 0 ,
u n+1 = u n + h ϕ(t n , u n ), pour n = 0, 1, . . . , N − 1.

import numpy as np

def EE(phi, tt, y0):


h = tt[1] - tt[0]
u_euler = np.zeros_like(tt)
u_euler[0] = y0
for n in range(len(tt) - 1):
u_euler[n+1] = u_euler[n] + h * phi(tt[n], u_euler[n])
return u_euler

Pour d’autres exemples de schémas d’approximation, vous pouvez consulter le cours M64 Data Science and Scientific
Computing 6

194 © 2024-2026 G. Faccanoni


Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 4. Initiation aux réseaux de neurones

4.5.3. Approximation par un réseau de neurones


Au lieu de calculer une suite discrète de valeurs (u n )n=0,...,N approchant les y(t n ) à l’aide d’un schéma numérique, on
adopte ici une approche différente : on cherche directement une fonction t 7→ u(t ), d’expression analytique choisie,
censée approcher la solution exacte y(t ) du problème de Cauchy. Cette fonction u(t ) est représentée par un réseau de
neurones dont
• l’entrée est la variable temporelle t ,
• la sortie est une valeur u(t ) censée approcher y(t ).
L’expression analytique dépend de la structure du réseau : combien de couches, combien de neurons dans chaque
couche, quelles fonctions d’activations dans chaque couche.
La fonction sera fixée une fois les paramètres (poids et biais du réseau) déterminés. Contrairement aux méthodes
d’apprentissage de type “fitting”, on n’utilise pas une base d’apprentissage constituée de couples (t i , y(t i )), car la
solution exacte y(t ) est inconnue. On dispose uniquement d’un ensemble de points {t k } dans l’intervalle [t 0 , T] et de la
seule valeur connue y(t 0 ) = y 0 . Comment peut-on entraîner le réseau, i.e. comment choisir les poids qui fixerons la
fonction u©? L’idée
ª est simple : on impose que u(t ) vérifie “au mieux” l’équation différentielle et la condition initiale en
les points t k . Pour cela, on définit une fonction de coût combinant les deux termes :
• l’erreur sur l’équation différentielle,
• l’erreur sur la condition initiale (en effet, la condition initiale n’est pas vérifiée exactement aux points t 0 ).
La fonction de coût est par exemple donnée par
X¡ ′ ¢2 ¡ ¢2
E= u (t k ) − ϕ(t k , u(t k )) + u(t 0 ) − y 0 .
k

L’entraînement du réseau consiste alors à ajuster les paramètres (poids et biais) de u pour minimiser cette erreur E.
Cette approche est ce que l’on appelle un PINN (Physics-Informed Neural Network).
Dans l’exemple ci-dessous nous avons choisi un réseau à deux couche cachées, chacune ayant 20 nuerons. La fonction
d’activation est toujours une tangente hyperbolique.

import numpy as np
import tensorflow as tf
from tensorflow import keras
from [Link] import layers

def PINN(phi, t0, y0, tt_train, max_epochs=5000):

my_activation = 'tanh' # 'tanh', 'softplus', 'swish', 'relu', 'softmax',


,→ 'exponential'

model = [Link]([
[Link](shape=(1,)),
[Link](20, activation=my_activation),
[Link](20, activation=my_activation),
[Link](1)
])

optimizer = [Link](learning_rate=1e-3)

t_train = tf.convert_to_tensor(tt_train, dtype=tf.float32)

@[Link]
def compute_loss(t_train):
with [Link]() as tape:
[Link](t_train)
u = model(t_train)
du_dt = [Link](u, t_train)
eq_residual = du_dt - phi(t_train, u)
loss_eq = tf.reduce_mean([Link](eq_residual))

© 2024-2026 G. Faccanoni 195


Chapitre 4. Initiation aux réseaux de neurones Dernière mise à jour : Mardi 30 septembre 2025

loss_init = [Link](model([Link]([[t0]],
,→ dtype=tf.float32)) - y0)
return loss_eq + loss_init

@[Link]
def train_step(t_train):
with [Link]() as tape:
loss = compute_loss(t_train)
grads = [Link](loss, model.trainable_variables)
optimizer.apply_gradients(zip(grads, model.trainable_variables))
return loss

for epoch in range(max_epochs):


loss = train_step(t_train)
if epoch % 100 == 0:
print(f"Epoch {epoch}, Loss: {[Link]().item():.6f}")

return model

4.5.4. Comparaison Euler explicite vs PINN sur un exemple


Dans cet exemple, nous résolvons le problème de Cauchy suivant à l’aide de deux méthodes : la méthode d’Euler
explicite et un PINN.

Problème de Cauchy Considérons le problème de Cauchy


(
y ′ (t ) = −2y(t ), t ∈ [0; 1]
y(0) = 1,

t0, T = 0, 1
y0 = 1
phi = lambda t, y : -2*y
# phi = lambda t, y: t*y
# phi = lambda t, y: t / (y + 1e-3) # évite la division par zéro

Méthode PINN : calibrage du réseau

N_train = 50
# tt_train = [Link](t0, T, N_train+1)
tt_train = [Link](N_train, 1) * (T - t0) + t0
model = PINN(phi, t0, y0, tt_train)

Discrétisation et évaluations Considérons l’intervalle [0, 1] et une discrétisation contenant N = 100 sous-intervalles
de même longueur h = 1/N.

# Grille régulière pour évaluation


# - de la solution exacte,
# - du reseau
# et pour la construction de la solution approchée par le schéma d'Euler
N_eval = 100
tt_eval = [Link](t0, T, N_eval+1)

La solution exacte est y(t ) = e −2t :

196 © 2024-2026 G. Faccanoni


Dernière mise à jour : Mardi 30 septembre 2025 Chapitre 4. Initiation aux réseaux de neurones

import sympy as sp

t = [Link]('t')
y = [Link]('y')(t)
eq = [Link]([Link](y, t), phi(t,y))
sol = [Link](eq,ics={[Link](t, t0): y0})
display(sol)
sol = [Link](t, [Link], 'numpy')

Évaluons la solution exacte et le PINN sur la grille uniforme choisie. Calculons ensuite la solution obtenue par la
méthode d’Euler sur cette même grille.

y_exact = sol(tt_eval)
u_euler = EE(phi, tt_eval, y0)
u_pinn = [Link](tt_eval).flatten() # [Link]() renvoie un
,→ tableau de shape (N_eval+1, 1), donc un 2D array, alors que y_exact et
,→ u_euler sont des vecteurs 1D de shape (N_eval+1,).

Comparaison Les résultats obtenus par les deux méthodes sont comparés en les points de la discrétisation en termes
d’erreur relative entre la solution exacte et la solution approchée.

import [Link] as plt

[Link](tt_eval, y_exact, '-', label='Solution exacte', linewidth=2)


[Link](tt_eval, u_euler, 'o', label="Euler explicite", markersize=3)
[Link](tt_eval, u_pinn, 'x', label="PINN", markersize=3)
[Link]()
[Link]()
[Link]("t")
[Link]("y(t)")
[Link]("Comparaison méthodes")
[Link]("comparaison_methods.png")
# [Link]()

L’analyse des erreurs montre que la méthode d’Euler explicite présente des erreurs plus importantes, surtout pour
des valeurs de t plus grandes. Pour en améliorer la précision il faut utiliser une grille plus fine. Le réseau de neurones
utilisé donne des résultats plus précis, mais cela se dégrade si on diminue le nombre de neurones dans chaque couche.

© 2024-2026 G. Faccanoni 197


Chapitre 4. Initiation aux réseaux de neurones Dernière mise à jour : Mardi 30 septembre 2025

# === Calcul des erreurs ===


error_euler = abs(y_exact - u_euler)/abs(y_exact)
error_pinn = abs(y_exact - u_pinn)/abs(y_exact)

# === Affichage des erreurs ===


[Link](figsize=(10, 6))
[Link](tt_eval, error_euler, label="Erreur Euler explicite", linewidth=2,
,→ color="blue")
[Link](tt_eval, error_pinn, label="Erreur PINN", linewidth=2, color="red")
[Link]("t")
[Link]("Erreur")
[Link]()
[Link](True)
[Link]("Comparaison des erreurs : Euler vs PINN")
[Link]("comparaison_errors.png")
# [Link]()

198 © 2024-2026 G. Faccanoni


Deuxième partie

Annexes

199
ANNEXE A

Exercices de calcul différentiel et intégral dans R

Dans ce chapitre

A.1 Dérivées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201


A.2 Primitives et intégrales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214

A.1. Dérivées
Rappels
f ′′ (x 0 ) < 0 f ′′ (x 0 ) > 0
f ′′ (x) f ′ (x) f (x)
>0 ↗
=0 f tangente horizontale f ′ (x 0 ) < 0
<0 ↘ f ′ (x 0 ) = 0
>0 ↗ convexe
=0 ←→
f ′ (x 0 ) > 0
<0 ↘ concave

Exercice A.1
Pour les fonctions représentées en figure, trouver les appariements entre les fonction 1, 2, 3, 4 et les dérivées a, b, c,
d.
1 y 2 y 3 y 4 y

x x x x

a y b y c y d
y

x x x x

Correction
1- c 2- b 3- d 4- a

Exercice A.2
Pour chacune des fonctions représentées, tracer une esquisse du graphe de leur dérivée (la graphe de gauche est
constitué de parties de droites ou paraboles).

201
Annexe A. Exercices de calcul différentiel et intégral dans R Dernière mise à jour : Mardi 30 septembre 2025

y y
6 6
5 5
4 4
3 3
2 2
1 1

0 1 2 3 4 5 6 x -5 -4 -3 -2 -1 0 1 2 3 4 5 x

 

 2x + 1 si 0 ≤ x ≤ 2, 
2 si 0 ≤ x < 2,
Correction 
 

−x + 7 si 2 ≤ x < 3, −1 si 2 < x < 3,
Pour la fonction de gauche on remarque que f (x) = ainsi f ′ (x) =


 5 − (x − 5)2 si 3 ≤ x ≤ 5, 

−2x si 3 ≤ x < 5,
 
5 si x ≥ 5 0 si x > 5
 

Étudions les raccordements :


f (x)− f (2) f (x)− f (2)
• f ′ (2) n’existe pas car limx→2− x−2 = 2 tandis que limx→2+ x−2 = −1

• f (3) n’existe pas car f n’est pas continue en x = 3
• f ′ (5) = 0

1
y
-5 -4 -3 -2 -1 0 1 2 3 4 5 x
4
-1
3
-2
2
-3
1
-4
0 1 2 3 4 5 6 x -5
-1

Exercice A.3
Calculer f ′ (x) pour les fonctions suivantes :

1. f (x) = 3 sin(x) − 5 cos(x) 2. f (x) = 3e x − x 2 3. f (x) = 3 ln(x)


3 3
4. f (x) = sin(2x) 5. f (x) = sin(x + x ) 6. f (x) = (x + 4) 7. f (x) = (x + sin(x))5
cos(x)
8. f (x) = sin(ln(x 2 )) 9. f (x) = exp(cos2 (x)) 10. f (x) = xe x 11. f (x) =
x2
ln(x) ln(x)
12. f (x) = e x sin(x) 13. f (x) = 14. f (x) = sin(x) cos(x) 15. f (x) = x
x4 e
1/x
e
16. f (x) = x 2 sin(x) 17. f (x) =
x

Correction
3
1. f ′ (x) = 3 cos(x) + 5 sin(x) 2. f ′ (x) = 3e x − 2x 3. f ′ (x) =
x
4. f ′ (x) = 2 cos(2x) 5. f ′ (x) = (1 + 3x 2 ) cos(x + x 3 ) 6. f ′ (x) = 3(x + 4)2
2
7. f ′ (x) = 5(x + sin(x))4 (1 + cos(x)) 8. f ′ (x) = cos(ln(x 2 )) 9. f ′ (x) = −2 cos(x) sin(x) exp(cos2 (x))
x
−x sin(x) − 2 cos(x)
10. f ′ (x) = (1 + x)e x 11. f ′ (x) = 12. f ′ (x) = e x (sin(x) + cos(x))
x3

202 © 2024-2026 G. Faccanoni


Dernière mise à jour : Mardi 30 septembre 2025 Annexe A. Exercices de calcul différentiel et intégral dans R

1 − 4 ln(x) 1 − x ln(x)
13. f ′ (x) = 14. f ′ (x) = − sin2 (x) + cos2 (x) 15. f ′ (x) =
x5 xe x
1 + x 1/x
16. f ′ (x) = 2x sin(x) + x 2 cos(x) 17. f ′ (x) = − e
x3

Exercice A.4
Calculer les dérivées des fonctions :
³ x ´7 1
1. 5x 2 2. 4x 3 + 2x − 1 3. 1− 4. (3x + 2)9 5.
7 (2x + 1)4
1 x2 + 3 cos(x)
6. p 7. 8. x 3 sin(x) 9. x 2 tan(x) 10.
x3 x 3 + 3x − 7 1 − sin(x)
x 2 −3
11. sin(x) cos(x) 12. cos(−2x + 1) 13. 14. ln(x 2 + 1) 15. e x
sin(2x)
4x p
16. 17. 2xe cos(x) 18. cos(x) + 2 19. sin(2x + 1) 20. x cos(5x)
cos(x)
x −2
µ ¶
21. sin(x 2 ) 22. sin 23. sin(2x) cos(7x)
x +3

Correction
³ x ´6
1. 10x 2. 12x 2 + 2 3. − 1 −
7
8 3 3
4. 27(3x + 2)8 5. − 6. (x −3/2 )′ = − x −5/2 = − p
(2x + 1)5 2 2 x5
2x(x 3 + 3x − 7) − (x 2 + 3)(3x 2 + 3) x 4 + 6x 2 + 14x + 9
7. = − 8. x 2 (3 sin(x) + x cos(x))
(x 3 + 3x − 7)2 (x 3 + 3x − 7)2
¯ 2 cos2 (x) − 1
¯
1
9. 2x tan(x) + x 2 (1 + tan2 (x)) 10. 2 2
11. cos (x)−sin (x) = ¯¯
1 − sin(x) 1 − 2 sin2 (x)
sin(2x) − 2x cos(2x) 2x
12. 2 sin(−2x + 1) 13. 14.
sin2 (2x) (x 2 + 1)2
2 4 cos(x) + 4x sin(x)
15. 2xe x −3 16. 17. 2(1 − x sin(x))e cos(x)
cos2 (x)
− sin(x)
18. p 19. 2 cos(2x + 1) 20. cos(5x) − 5x sin(5x)
2 cos(x) + 2
x −2
µ ¶
2 5
21. 2x cos(x ) 22. cos 23. 2 cos(2x) cos(7x)−7 sin(2x) sin(7x)
(x + 3)2 x +3

Exercice A.5
Calculer la dérivée 100-ème de la fonction f (x) = (x 2 − x)−1 .

Correction
On a
1 A B
• f (x) = = + ssi A = −1 et B = 1
x(x − 1) x x − 1
dn 1 1
• = (−1)n n! n+1
dx n x x
dn 1 1
• = (−1)n n!
dx n x − 1 (x − 1)n+1
donc (x 2 − x)−1 = (x − 1)−1 − x −1 donc f (100) (x) = 100! (x − 1)−101 − x −101 et plus généralement
¡ ¢

dn 1 1
f (x) = (−1)n n! − (−1)n n! n+1 = (−1)n n! (x − 1)−n−1 − x −n−1
¡ ¢
dx n (x − 1) n+1 x

© 2024-2026 G. Faccanoni 203


Annexe A. Exercices de calcul différentiel et intégral dans R Dernière mise à jour : Mardi 30 septembre 2025

Exercice A.6
Vérifier que la fonction donnée est solution de l’EDO (équation différentielle ordinaire) indiquée :
2 /2
1. y(x) = e −x et y ′ (x) = −y(x) 2. y(x) = Ce x et y ′ (x) = x y(x)
3. y(x) = Ce x − (1 + x) et y ′ (x) + y(x) = x 4. T(t ) = Ta + (T0 − Ta )e γt et T ′ (t ) = γ(T(t ) − Ta
1
5. y(x) = c+x 2
et y ′ (x) + 2x y 2 (x) = 0

Correction
1. y(x) = e −x donc y ′ (x) = −e −x = −y(x)
2 /2 2 /2
2. y(x) = Ce x donc y ′ (x) = Cxe x = x y(x)
3. T(t ) = Ta + (T0 − Ta )e γt donc T ′ (t ) = γ(T0 − Ta )e γt = γ(T(t ) − Ta )
1 2x 2
4. y(x) = c+x 2
donc y ′ (x) = − (c+x 2 )2 = −2x y (x)

Exercice A.7
1. Une masse tombe avec une accélération constante a. Comment évolue sa vitesse ?
2. Le volume V et la pression P d’un gaz maintenu à une température constante sont liés par la loi de VAN DER
WAALS qui s’écrit P(V) = nRT/(V − nb) − an 2 /V 2 où a et b sont des constantes propres au gaz, n désigne le
nombre de moles, T est la température et R est une constante. Calculer P ′ .
3. Trouver la vitesse au temps t = 2 d’une masse attachée à un ressort et dont la position au temps t est donnée
par x(t ) = A cos(2πωt ). Que se passe-t-il avec la vitesse si on double l’amplitude A ?
4. Un ballon s’élève verticalement à la vitesse de 10 m s−1 . S’il se trouve initialement au sol à une distance de
200 m d’un observateur, quel est le taux de variation ϑ′ (t ) de son angle d’élévation par rapport à l’observateur
lorsque l’angle d’élévation est égal à π/4 ?
5. Un ballon s’élève verticalement à la vitesse de 10 m s−1 . S’il se trouve initialement au sol à une distance de
100 m d’un observateur, quel est le taux de variation ϑ′ (t ) de son angle d’élévation par rapport à l’observateur
après 10 s ?
6. Quelle accélération constante (en m s−2 ) un véhicule doit-il avoir pour passer d’une vitesse de 0 km h−1 à
une vitesse de 100 km h−1 en 10 s ?
7. Un glaçon sphérique fond en conservant sa forme. Le taux de variation de son volume avec le temps est
proportionnel à sa surface. Il faut une heure pour qu’un glaçon de un centimètre de rayon fonde totalement.
Après combien de temps le glaçon a-t-il diminué de moitié en volume ? Rappel : la surface et le volume d’une
sphère de rayon r sont respectivement S = 4πr 2 et V = 43 πr 3 .
8. Un glaçon cubique fond en conservant sa forme. Le taux de variation de son volume avec le temps est
proportionnel à sa surface. Il faut une heure pour qu’un glaçon de un centimètre de coté fonde totalement.
Après combien de temps le glaçon a-t-il diminué de moitié en volume ?

Correction
1. v(t ) = at + v(0).
nRT 2an 2
2. P ′ (V) = − + .
(V − nb)2 V3
3. x ′ (t ) = −2πωA sin(2πωt ). Lorsque l’amplitude double, la vitesse double.
h(t ) t
µ ¶
20
4. h(t ) = 10t et = tan(ϑ(t )) donc ϑ(t ) = arctan et ϑ′ (t ) = . Si t̄ est l’instant tel que ϑ(t̄ ) = π/4, alors
200 20 400 + t 2
20 1
t̄ = 20 tan(π/4) = 20 et ϑ′ (t̄ ) = = radians par second.
400 + 400 40
h(t ) t
µ ¶
10 1
5. h(t ) = 10t et = tan(ϑ(t )) donc ϑ(t ) = arctan et ϑ′ (t ) = et ϑ′ (10) = radians par second.
100 10 100 + t 2 20
100000 1000 10
6. 100 km h−1 = 3600 m s
−1
= 36 m s
−1
donc a = (1000/36 − 0)/10m s−2 = −2
36 m s .
7. Le rayon est fonction du temps donc V ′ (t ) = 4π[r (t )]2 r ′ (t ). Comme le taux de variation de son volume avec le
temps est proportionnel à sa surface, il existe k ∈ R tel que V ′ (t ) = k4π[r (t )]2 . Donc 4π[r (t )]2 r ′ (t ) = k4π[r (t )]2 ,
autrement dit k = r ′ (t ) ce qui implique que r (t ) = at + b. Comme il faut une heure pour qu’un glaçon de un

204 © 2024-2026 G. Faccanoni


Dernière mise à jour : Mardi 30 septembre 2025 Annexe A. Exercices de calcul différentiel et intégral dans R

centimètre de rayon fonde totalement, on a r (0) = 1 et r (1) = 0 et on obtient la relation r (t ) = 1 − t . On cherche


alors t̂ tel que V(t̂ ) = V(0)/2, c’est-à-dire 43 π(1 − t̂ )3 = 43 π 12 : le glaçon a diminué de moitié en volume après
t̂ = 1 − 2−1/3 ≈ 0.20 h = 12 minutes.
8. La surface et le volume d’un cube de coté ℓ sont respectivement S = 6ℓ2 et V = ℓ3 . Le coté est fonction du temps
donc V ′ (t ) = [ℓ(t )]2 ℓ′ (t ). Comme le taux de variation de son volume avec le temps est proportionnel à sa surface,
il existe k ∈ R tel que V ′ (t ) = k6[ℓ(t )]2 . Donc [ℓ(t )]2 ℓ′ (t ) = k6[ℓ(t )]2 , autrement dit 6k = ℓ′ (t ) ce qui implique que
ℓ(t ) = at + b. Comme il faut une heure pour qu’un glaçon de un centimètre de coté fonde totalement, on a ℓ(0) = 1
et ℓ(1) = 0 et on obtient la relation ℓ(t ) = 1 − t . On cherche alors t̂ tel que V(t̂ ) = V(0)/2, c’est-à-dire (1 − t̂ )3 = 1/2 :
le glaçon a diminué de moitié en volume après t̂ = 1 − 2−1/3 ≈ 0.20 h = 12 minutes.

Exercice A.8 (Droite tangente au graphe d’une fonction)


1. Trouver l’équation de la tangente au graphe de la fonction définie par f (x) = x 2 + 1 en 1.
4x
2. Trouver l’équation de la tangente au graphe de la fonction définie par f (x) = x 2 +1
en 0.
4x
3. Trouver l’équation de la tangente au graphe de la fonction définie par f (x) = x 2 +1
en 1.
4. Le graphe de la fonction définie par f (x) = ax 2 + bx + 3 passe par le point (2, 0). La tangente au graphe de f
en ce point est parallèle à la droite d’équation y = 3x + 2. Trouver a et b.
5. La pente de la tangente au graphe de f en x = 1 est égale à 3. La pente de la tangente au graphe de g en x = 1
est égale à 7. Calculer la pente de la tangente au graphe de f + g en x = 1. Que peut-on dire de la pente de la
tangente au graphe de f g en x = 1 ? Que peut-on dire de la pente de la tangente au graphe de f g en x = 1 si
f (1) = 3 et g (1) = 2 ?

Correction
L’équation de la droite tangente au graphe de f en x 0 est y = f (x 0 ) + f ′ (x 0 )(x − x 0 )
1. Pente : f ′ (1) = 2. Équation : y = 2(x − 1) + f (1) = 2x.
2. Pente : f ′ (0) = 4. Équation : y = 4x + f (0) = 4x.
3. Pente : f ′ (1) = 0. Équation : y = f (1) = 2.
4. f ′ (2) = 3 et f (2) = 0 donc a = 9/4 et b = −6.
5. f ′ (1) = 3 et g ′ (1) = 7, alors ( f + g )′ (1) = 10 (pente de la tangente au graphe de f + g en x = 1). Comme ( f g )′ (1) =
f ′ (1)g (1) + f (1)g ′ (1) on ne peut rien dire sans connaître f (1) et g (1). Si f (1) = 3 et g (1) = 2 alors ( f g )′ (1) =
f ′ (1)g (1) + f (1)g ′ (1) = 3 × 2 + 3 × 7 = 27 (pente de la tangente au graphe de f g en x = 1).

Exercice A.9 (Parabole osculatrice au graphe d’une fonction)


Trouver l’équation de la parabole osculatrice au graphe de la fonction en le point indiqué.

1. f (x) = x 2 + 1 en x 0 = 1 2. g (x) = e x en x 0 = 0
3. h(x) = ln(1 + x) en x 0 = 0 4. w(x) = cos(x) en x 0 = 0

Correction
L’équation de la parabole osculatrice au graphe de f en x 0 est y = f (x 0 ) + f ′ (x 0 )(x − x 0 ) + 12 f ′′ (x 0 )(x − x 0 )2 .
1. On a f (x) = x 2 + 1, f ′ (x) = 2x et f ′′ (x) = 2 donc f (1) = 2, f ′ (1) = 2, f ′′ (1) = 2. L’équation cherchée est y =
2 + 2(x − 1) + 22 (x − 1)2 = 2x + (x − 1)2 = x 2 + 1, ce qui est évident car la meilleure parabole qui approche f est f elle
même car f est une parabole.
2. On a g (x) = e x , g ′ (x) = g ′′ (x) = e x donc g (0) = g ′ (0) = g ′′ (0) = 1. L’équation cherchée est y = 1+1(x −0)+ 12 (x −0)2 =
1 + x + 12 x 2 . Pour x proche de zéro on peut donc approcher la fonction exponentielle par sa droite tangente ou,
p
encore mieux, par sa parabole osculatrice. Par exemple, on peut approcher e par 1 + 12 ou, encore mieux, par
p
1 + 12 + 21 212 . Avec une calculatrice on vérifie que e ≈ 1.648721271, 1 + 12 = 1.5 et 1 + 21 + 12 212 = 1.625.
1 1
3. On a h(x) = ln(1 + x), h ′ (x) = 1+x et g ′′ (x) = − (1+x) ′ ′′
2 donc h(0) = 0, h (0) = 1 et h (0) = −1. L’équation cherchée est

y = 0 + 1(x − 0) − 12 (x − 0)2 = x − 12 x 2 . Pour x proche de zéro on peut donc approcher la fonction h par sa droite
tangente ou, encore mieux, par sa parabole osculatrice. Par exemple, on peut approcher ln(1.5) par 12 ou, encore
mieux, par 12 − 12 212 . Avec une calculatrice on vérifie que ln(1.5) ≈ 0.405465108, 12 = 0.5 et 21 − 12 212 = 0, 375.

© 2024-2026 G. Faccanoni 205


Annexe A. Exercices de calcul différentiel et intégral dans R Dernière mise à jour : Mardi 30 septembre 2025

4. On a w(x) = cos(x), w ′ (x) = − sin(x) et w ′′ (x) = − cos(x) donc w(0) = 1, w ′ (0) = 0 et w ′′ (0) = −1. L’équation
cherchée est y = 1 − 12 (x − 0)2 = 1 − 12 x 2 . Pour x proche de zéro on peut donc approcher la fonction cos(x) par sa
1 2
parabole osculatrice. Par exemple, on peut approcher cos(π/6) (radiants !) par 1 − 72 π . Avec une calculatrice on
p 1 2
vérifie que cos(π/6) = 3/2 ≈ 0.86602540378 et 1 − 72 π ≈ 0.862922161.

Exercice A.10
On considère une fonction exponentielle f : x 7→ c x . Soit P le point d’intersection du graphe de f avec la tangente
à ce graphe passant par l’origine du plan cartésien. Montrer que l’ordonnée de P ne dépend pas du choix de la
base de l’exponentielle, i.e. qu’importe la valeur choisie pour c.

Correction
Notons (x P , y P ) les coordonnées de P.
• P appartient au graphe de la courbe, donc y P = c xP .
• P appartient à la tangente au graphe de f passant par l’origine. Cette droite a pour équation y = f ′ (x P )x et l’on a
f ′ (x) = ln(c)c x donc on a aussi y P = ln(c)c xP x P .
1
x P est alors solution de l’équation c xP = ln(c)c xP x P , ce qui équivaut à x P = ln(c) = logc (e). Alors y P = c xP = e quelque soit
la base c choisie.
y
Exercice A.11
On considère le quart de circonférence d’équation
p
y = 1 − x 2 pour 0 < x < 1. Soit P = (x P , y P ) un point
du quart de circonférence. On note par A le point d’in- 1
tersection de la tangente en P avec l’axe x. Exprimer yP P
la surface du triangle OAP en fonction de x P .

O xP A x

Correctionp
Soit f (x) = 1 − x 2 . L’équation de la droite tangente en x = x P s’écrit

−x P q
y = f ′ (x P )(x − x P ) + f (x P ) = q (x − x P ) + 1 − x P2
1 − x P2

A = (x A , 0) est le point d’intersection de cette droite avec la droite d’équation y = 0, donc on a

−x P q 1
q (x A − x P ) + 1 − x P2 = 0 =⇒ xA =
1 − x P2 xP

q
xA yP 1−x P2
et la surface du triangle OAP en fonction de x P est 2 = 2x P .

Exercice A.12
Un joueur de foot, situé à 18m du but, effectue un tir en cloche. On modélise la situation dans un repère orthonormé
(l’unité choisie est le mètre). On suppose que la trajectoire du ballon est parabolique et passe par les points (−18; 0)
et (−14; 3.2), la tangente à la courbe en x = −18 forme un angle de 45◦ avec l’horizontale. On note p la fonction qui
à l’abscisse x de la balle associe son ordonnée p(x).

1. Écrire et résoudre le système qui permet de déter-


miner p.
2. À quelle hauteur maximale le ballon va-t-il s’éle-
ver ?
3. Sachant que le but a une hauteur de 2.44m, le tir
est-il cadré ?

206 © 2024-2026 G. Faccanoni


Dernière mise à jour : Mardi 30 septembre 2025 Annexe A. Exercices de calcul différentiel et intégral dans R

Correction
Source : [Link]
32
1. On cherche a, b, c tels que p(x) = c + bx + ax 2 . On sait que p(−18) = 0, p(−14) = 10 et p ′ (−18) = 1, d’où le système
linéaire
2

c − 18b + (−18) a = 0

32
c − 14b + (−14)2 a = 10

b − 18 × 2a = 1

On utilise la méthode de Gauss (pour les calculs se rappeler que 142 − 182 = (14 − 18)(14 + 18) = −4 × 32) :
2 2 2 2
   
c − 18b + (−18) a = 0
 c − 18b + 18 a = 0
 c − 18b + 18 a = 0
 c − 18b + 18 a = 0

32 32 8 8
c − 14b + (−14)2 a = 10 ⇝ 4b − 4 × 32a = 10 ⇝ b − 32a = 10 ⇝ b − 32a = 10
   
b − 18 × 2a = 1 b − 18 × 2a = 1 b − 18 × 2a = 1 −4a = 15
   

donc
9 4 1
c= , b=− , a =− .
5 5 20
b
2. p ′ (x) = 0 ssi x = − 2a = −8 et p(−8) = 5 : le ballon s’élèvera jusqu’à 5m et cette hauteur sera atteinte en x = −8.
9
3. Le but est en x = 0 et l’on a p(0) = 5 = 1.8 < 2.44 : le tir est cadré.

Exercice A.13
Calculer les points stationnaires des fonctions f : R → R suivantes et établir leur nature.

1. f (x) = (x − 2)2 2. f (x) = x 3 − 6x 2 + 9x + 1 3. f (x) = 3x 4 − 8x 3 + 6x 2


4. f (x) = xe −x 5. f (x) = x 2 ln(x)

Correction
1. f (x) = (x − 2)2
f ′ (x) = 2(x − 2) et f ′ (x) = 0 ssi x = 2.
f ′′ (x) = 2 et f ′′ (2) = 2 > 0 donc x = 2 est un minimum.
2. f (x) = x 3 − 6x 2 + 9x + 1
f ′ (x) = 3x 2 − 12x + 9 = 3(x 2 − 4x + 3) = 3(x − 1)(x − 3) et f ′ (x) = 0 ssi x = 1 ou x = 3.
f ′′ (x) = 6x − 12 = 6(x − 2) et f ′′ (1) = −6 < 0 donc x = 1 est un maximum tandis que f ′′ (3) = 6 > 0 donc x = 3 est un
minimum.
3. f (x) = 3x 4 − 8x 3 + 6x 2 = x 2 (3x 2 − 8x + 6) > 0 pour tout x ∈ R
f ′ (x) = 12x 3 − 24x 2 + 12x = 12x(x 2 − 2x + 1) = 12x(x − 1)2 et f ′ (x) = 0 ssi x = 0 ou x = 1.
f décroissante pour x < 0 et f croissante pour x > 0 avec tangente horizontale en x = 1.
x = 0 est un minimum.
1
f ′′ (x) = 36x 2 − 48x + 12 = 12(3x 2 − 4x + 1) = 12(x − 1)(3x − 1) et f ′′ (1) = 0 avec f ′′ (x) < 0 si 3 < x < 1 et f ′′ (x) > 0 si
x > 1 donc x = 1 est un point d’inflexion.
4. f (x) = xe −x
f ′ (x) = (1 − x)e −x et f ′ (x) = 0 ssi x = 1.
f ′′ (x) = (x − 2)e −x et f ′′ (1) = −1/e < 0 donc x = 1 est un maximum.
5. f (x) = x 2 ln(x) donc x > 0
p
f ′ (x) = x(1 + 2 ln(x)) et f ′ (x) = 0 ssi x = 1/ e.
p p
f ′′ (x) = 3 + 2 ln(x) et f ′′ (1/ e) = 2 > 0 donc x = 1/ e est un minimum

Exercice A.14
Un triangle a deux côtés et l’angle entre eux mesurant respectivement a, b et δ. Quelle est la valeur de δ qui
maximise l’aire du triangle ?

Correction
L’aire du triangle vaut A(δ) = ab 2 sin(δ) avec 0 ≤ δ ≤ π. On a A (δ) =
′ ab
2 cos(δ) et A′ (δ) = 0 ssi δ = π2 . Comme A′′ (δ) =
′′ π
− ab ab
2 sin(δ), alors A ( 2 ) = − 2 < 0 donc il s’agit bien d’un maximum.

© 2024-2026 G. Faccanoni 207


Annexe A. Exercices de calcul différentiel et intégral dans R Dernière mise à jour : Mardi 30 septembre 2025

Exercice A.15
Une société produit des boîtes en carton de 5 L en forme de parallélépipède à base carrée. Les boîtes doivent
utiliser la moindre quantité de carton possible. Quelles dimensions doit-elle fixer ?

Correction
Notons ℓ la longueur (en décimètre) des cotés de la base (carrée) et h la hauteur (en décimètre) de la boîte. On a
ℓ2 h = 5 ainsi la surface de la boîte mesure S(ℓ) = 2ℓ2 + 4hℓ = 2ℓ2 + 20
ℓ décimètres carrées. Il s’agit d’une parabole dont le
p
3
minimum s’obtient pour ℓ = 5 ≃ 171 mm et dans ce cas l’on a h = ℓ : la boîte qui utilise la moindre quantité de carton
possible est un cube.

Exercice A.16
La distance r qui sépare deux molécules résulte d’un équilibre entre une force attractive proportionnelle à 1/r 6
et une force répulsive proportionnelle à 1/r 12 . La distance d’équilibre est celle pour laquelle le potentiel de
L ENNARD -J ONES est minimal. Calculer cette distance sachant que ce potentiel est donné par

σ 12 ³ σ ´6
µ³ ´ ¶
V(r ) = 4ε −
r r

où σ est une distance, appelée distance de collision, et ε est le potentiel minimal.

Correction

12 ³ σ ´12 6 ³ σ ´6 p p
µ ¶
′ 6 6
V (r ) = 4ε − + =0 ⇐⇒ r= 2σ et V( 2σ) = −ε.
r r r r

Exercice A.17
Dans une molécule diatomique, l’énergie potentielle varie avec la distance r entre les deux atomes. L’expression
empirique de ce potentiel (appelé potentiel de M ORSE) est donnée par

V(r ) = D(1 − e α−βr )2

où α, β > 0 sont des constantes propres à chaque molécule. À l’équilibre une molécule de trouve au niveau de
son énergie potentielle la plus basse. Trouver cette position d’équilibre. La différence entre l’énergie potentielle à
l’équilibre et celle lorsque r tend vers l’infini est l’énergie de dissociation. Calculer cette énergie.

Correction
• Position d’équilibre :

α α
µ ¶
V ′ (r ) = 2D(1−e α−βr )×(−e α−βr )×(−β) = −2βV(r ) = 0 ⇐⇒ V(r ) = 0 ⇐⇒ r= et V = D.
β β

• Énergie de dissociation :
α
µ ¶ ³ ´ ³ ´
lim V − V(r ) = lim D 1 − (1 − e α−βr )2 = lim D −e 2(α−βr ) + 2e α−βr = D.
r →+∞ β r →+∞ r →+∞

Exercice A.18
Un terrain rectangulaire d’aire A se trouve le long de
la rive (rectiligne) d’une rivière. Quelle est la longueur
h A
minimale de la clôture nécessaire pour clôturer les
trois autres côtés du terrain ?
b

Correction q
Aire : A = bh. Longueur clôture : ℓ(b) = 2b + h(b) = 2b + Ab . Recherche du minimum : ℓ′ (b) = 2 − bA2 et ℓ′ (b) = 0 ssi b = A2 .
q p
Ap 2
Comme ℓ′′ (b) = 2Ab 3 > 0 pour tout b > 0, il s’agit bien d’un minimum et la clôture mesure ℓ(b) = 2 A
2 + .
p A
Remarque : si on clôture tous les quatre côtés on a ℓ(b) = 2b + 2h(b) et donc h = b = A.

208 © 2024-2026 G. Faccanoni


Dernière mise à jour : Mardi 30 septembre 2025 Annexe A. Exercices de calcul différentiel et intégral dans R

y
Exercice A.19
p
Trouver le point de la courbe d’équation y = x plus
proche au point (4, 0). 2

d
0 1 2 3 4 5 x

Correction
p p
Soit (x, x) un point quelconque de la courbe d’équation y = x. Il s’agit de trouver le minimum de la distance entre ce
point et le point (4, 0) :
p
q p
d (x) = (x − 4)2 + ( x − 0)2 = x 2 − 7x + 16.
Sa dérivée vaut
2x − 7
d ′ (x) = p .
2 x 2 − 7x + 16
Dans ce cas il est plus simple d’étudier directement le signe de d ′ (qui est le même que celui de 2x − 7) plutôt que de
calculer la dérivée seconde. On a
• d ′ (x) = 0 ⇐⇒ x = 72 ,
• d ′ (x) > 0 ⇐⇒ x > 72 ,
• d ′ (x) < 0 ⇐⇒ x < 72 ,
q ´ ³
7 7
par conséquent le point cherché est 2 . 2,
p
Méthode simplifiée : comme la fonction est strictement croissante, minimiser d équivaut à minimiser d 2 : c’est une
p
parabole convexe de sommet x = 72 et d (7/2) = d 2 (7/2) = 7/2.
p

Exercice A.20
La mesure de la distance entre deux points donne une série de valeurs expérimentales d 1 , d 2 , . . . , d n . Sur la base
de ces valeurs, on désire obtenir une estimation de d qui soit la plus proche possible de la réalité. Trouver une
formule pour d telle que la mesure d’erreur

(d − d 1 )2 + (d − d 2 )2 + · · · + (d − d 1 )n

soit minimale.

Correction
On veut minimiser la fonction f : R → R+ définie par f (d ) = ni=1 (d − d i )2 . On a
P

à !
n n

X X
f (d ) = 2 (d − d i ) = 2 nd − di
i =1 i =1

1 Pn
donc f ′ (d ) = 0 ssi d = n i =1
di .

Exercice A.21 (Loi de réfraction)


D’après le principe de F ERMAT un rayon lumineux n’emprunte pas le chemin le plus court mais le chemin le plus
rapide. Autrement dit, ce n’est pas la longueur du parcours mais sa durée qui est minimale.
1. Démontrer la loi de la réfraction : “dans le plan soient A et B deux points de chaque côté d’une droite D.
On suppose que la lumière voyage à vitesse u dans le demi plan contenant A et à vitesse v dans l’autre
demi-plan. Alors le rayon lumineux prend le chemin caractérisé par l’équation u cos(γ) = v cos(α) où α et γ
sont les angles indiqués ci-dessous.”

© 2024-2026 G. Faccanoni 209


Annexe A. Exercices de calcul différentiel et intégral dans R Dernière mise à jour : Mardi 30 septembre 2025

A
P
D vitesse v α
vitesse u
γ

(Indication : choisir un repère adapté et exprimer le temps nécessaire pour le chemin en fonction de la
position du point P ; puis minimiser par un calcul de dérivée.)
2. Pour un rayon lumineux qui arrive sur la surface d’un lac un nageur mesure α = 45° et γ = 58°. En déduire la
vitesse de la lumière dans l’eau.

Correction
1. On remarque que sur le dessin u > v. En effet, dans le demi-plan supérieur la partie du chemin est un peu
plus longue que si on suivait le chemin direct [AC] ; on gagne du temps en faisant un chemin plus long dans le
demi-plan où la vitesse est plus rapide. Choisissons un système de coordonnées orthonormées et des notations
comme indiquées ci-dessous.

Alors

A = (0, a)
p
AP = x2 + a2,
p
α P = (x, 0) CP = (b − x)2 + c 2 .
D
γ
Ainsi la durée du trajet APC est
B = (b, −c) p p
x2 + a2 (b − x)2 + c 2
f (x) = + .
u v

Cette expression définit une fonction dérivable f sur R et

x b−x cos(α) sin(γ)


f ′ (x) = p − p = − .
u x 2 + a 2 v (b − x)2 + c 2 u u

Ainsi f ′ (x) = 0 si et seulement si u cos(γ) = v cos(α). Géométriquement il est plus ou moins évident que cette
condition correspond effectivement à un minimum de la fonction f , mais on peut aussi procéder rigoureusement
en dérivant encore une fois :
a2 c2
f ′′ (x) = p + p > 0.
u (x 2 + a 2 )3 v ((b − x)2 + c 2 )3

Le signe de la dérivée seconde étant strictement positif la dérivée f ′ change de signe au point où elle s’annule, de
sorte que ce point est un minimum. Remarque : si la vitesse de la lumière varie en fonction du lieu (lieu anisotrope)
le chemin le plus court n’est pas forcément le plus rapide ! C’est comme en voiture, un détour peut être plus
rapide s’il évite des bouchons.
2. On obtient comme vitesse de la lumière dans l’eau :
cos(58°) p
v= u ≃ 2 × 0.53 × 3 × 108 m s−1 ≃ 2.25×108 m s−1 .
cos(45°)

Exercice A.22 et d .
Un tracteur partant d’un point A situé sur une route rec- ℓ C
tiligne doit atteindre un point B situé dans un champ A D 90◦
(voir la figure ci-contre). On connait les distances AC = ℓ
et CB = d et on sait que le tracteur va deux fois moins
vite dans le champ que sur la route. Il quitte la route en d
un point D de [AC] à préciser. Les trajets de A à D et de
D à B sont supposés rectilignes. Déterminez le point D
pour que le temps total soit minimal. Discutez suivant ℓ B

210 © 2024-2026 G. Faccanoni


Dernière mise à jour : Mardi 30 septembre 2025 Annexe A. Exercices de calcul différentiel et intégral dans R

Correction p
Soit AD = x avec 0 ≤ x ≤ ℓ. On a alors DB = (ℓ − x)2 + d 2 . Si v désigne la vitesse du tracteur dans le champ, sa vitesse
sur la route est de 2v et le temps total mis pas le tracteur pour atteindre B depuis A est
p
x (ℓ − x)2 + d 2
t (x) = + .
2v v
On cherche x ∈ [0; ℓ] qui minimise la fonction t . On a
p
′ 1 −2(ℓ − x) (ℓ − x)2 + d 2 − 2(ℓ − x)
t (x) = + p = p
2v 2v (ℓ − x)2 + d 2 2v (ℓ − x)2 + d 2

donc t ′ (x) = 0 si et seulement si x = ℓ − pd et


3

d2
t ′′ (x) = 3
> 0.
v((ℓ − x)2 + d 2 ) 2

ce qui implique que t ′ (x) > 0 si et seulement si x < ℓ − pd . Par conséquent,


3

• si ℓ < pd
alors t (x) < 0 pour tout x ∈ [0; ℓ] : la fonction t atteint son minimum en x = 0, c’est-à-dire que le tracteur

3
quitte la route en A ;
• si ℓ > pd alors t ′ (x) < 0 pour tout x ∈ [0; ℓ − pd ] et t ′ (x) > 0 pour tout x ∈ [ℓ − pd ; ℓ] : la fonction t atteint son
3 3 3
minimum en x = ℓ − pd .
3

Exercice A.23
On note x la quantité produite, p le prix et f (x) le coût. On suppose que l’on se trouve dans un cas de concurrence
parfaite, dans lequel le prix de la marchandise est indépendant de la quantité produite. Le profit est la fonction
Π(x) = recette − coût. Prouver que le profit est optimal lorsque la recette marginale est égal au coût marginal.

Correction
La recette est g (x) = px. La recette marginale est g ′ (x) = p et le coût marginal est f ′ (x). Le profit est Π(x) = g (x) − f (x).
On a Π′ (x) = g ′ (x) − f ′ (x) = p − f ′ (x). Donc si p = f ′ (x) la dérivée du profit s’annule et le profit et extrémal.

Exercice A.24
On considère un produit dont le prix unitaire est p (p > 0). On note q la quantité vendue de ce produit pendant un
mois et on suppose que q(p) = α + βp où α et β sont des réels.
1. Peut-on déjà prédire le signe de la constante β ?
2. De combien varie la quantité vendue lorsque le prix augmente de 1 ?
3. Quelle est la plus grande valeur de p possible sachant que la quantité vendue q est un nombre positif ?
4. On suppose désormais que q = 5000 si p = 100, et que q = 4000 si p = 200. Déterminer α et β.
5. Déterminer en fonction de p les recettes mensuelles r (p).
6. Quelle est la valeur maximale des recettes ?
7. Le coût unitaire de fabrication du produit est égal à 100. Déterminer en fonction de p le profit g (p) total
réalisé (c’est-à-dire la différence entre recettes et coût).
8. Pour quelle quantité le profit est-il maximal ?

Correction
1. La fonction q est affine. La quantité vendue est forcement une fonction décroissante du prix, donc β doit être
négatif.
5000−4000
2. Le taux d’accroissement est β = 100−200 = −10. On en déduit (par décalage) que

q(p) = −10(p − 100) + 5000 = 6000 − 10p.

Donc α = 6000.
3. Comme β = −10, lorsque le prix augmente de 1 on perd 10 acheteurs.

© 2024-2026 G. Faccanoni 211


Annexe A. Exercices de calcul différentiel et intégral dans R Dernière mise à jour : Mardi 30 septembre 2025

4. On résout l’inégalité
q(p) ≥ 0 ⇐⇒ 6000 − 10p ≥ 0 ⇐⇒ p ≤ 600.
Donc on trouve des acheteurs si et seulement si le prix est inférieur à 600.
5. Les recettes mensuelles sont

r (p) = prix unitaire × quantité vendue = p × q(p) = 10p(600 − p).

6. La dérivée est
r ′ (p) = 20(300 − p),
donc r est croissante sur [0, 300] et décroissante sur [300, 600]. Il y a donc un maximum en p = 300. Les recettes
maximales sont donc
r (300) = 900000.
Solution alternative : la courbe de la fonction p 7→ r est une parabole concave ayant deux intersections avec l’axe
des abscisses, en p = 0 et p = 600. Par symétrie le maximum se trouve au milieu entre ces deux intersections,
c’est-à-dire au prix de 300.
7. On a
g (p) = r (p) − 100q(p) = (10p − 1000)(600 − p).

8. Après un petit calcul on trouve g ′ (p) = 7000 − 20p, donc g est croissante sur [0, 350] et décroissante sur [350; 600].
Il y a donc un maximum pour le prix 350. Cela correspond à une quantité de q(350) = 2500.
Solution alternative : la courbe de la fonction p 7→ g est une parabole concave ayant deux intersections avec l’axe
des abscisses, en p = 100 et p = 600. Par symétrie le maximum se trouve au milieu entre ces deux intersections,
c’est-à-dire au prix de 350.

Exercice A.25
Un joueur de football, en possession du ballon, court sur la ligne de touche. Ayant une frappe extrêmement forte il
ne se soucie pas de la distance et tire à l’endroit où l’angle d’ouverture par rapport au but est maximal. Quel est
alors cet angle (en degrés) ?
Utiliser les dimensions recommandées par la FIFA : terrain 105 m × 68 m et largeur du but 7.32 m.

Correction
D’après ce dessin

68 m
a = 37.66 m
b = 30.34 m

α (angle à maximiser)

on trouve ( ( ³ ´
tan(β) = bx , β = arctan bx , ³a´ b
µ ¶
=⇒ =⇒ α(x) = arctan − arctan ,
tan(α + β) = ax , α + β = arctan ax , x x
¡ ¢

puis, par dérivation,


b a (a − b)(ab − x 2 )
α′ (x) = − = .
x2 + b2 x2 + a2 (x 2 + a 2 )(x 2 + b 2 )
Cette dérivée s’annule au seul point
p p
x0 = ab = 30.34 m × 37.66 m ≃ 33.8 m.

212 © 2024-2026 G. Faccanoni


Dernière mise à jour : Mardi 30 septembre 2025 Annexe A. Exercices de calcul différentiel et intégral dans R

Géométriquement il est évident que la fonction x 7→ a(x) possède un unique maximum qui est donc x 0 . (On peut aussi
remarquer que a(x) ≥ 0 pour tout x ≥ 0 et que limx→0 a(x) = limx→∞ a(x) = 0 ; ainsi la fonction dérivable α possède un
maximum sur R+ qui se trouve donc en x 0 ). L’angle maximal est alors

a b
µ ¶ µ ¶
α(x 0 ) = arctan − arctan ≃ 6.18°.
x0 x0

Exercice A.26
Deux rues se coupent en formant un angle droit. Une voiture circule sur une rue à une vitesse de 2 m s−1 et une
seconde voiture circule sur l’autre rue à une vitesse de 4 m s−1 . Les voitures partent toutes les deux d’une distance
de 200 m du point d’intersection et se dirigent vers l’intersection des rues. Quelle sera leur distance minimale ?

Correction
Plaçons les deux rues dans un plan cartésien, la première rue sera l’axe des abscisses, la deuxième ceux des ordonnées
et l’intersection des deux rue se trouve au point de coordonnées (0, 0). Indiquons par (x i , y i ) la position de la voiture i
(i = 1 ou 2). Alors

(x 1 , y 1 ) = (−200 + 2t , 0) (x 2 , y 2 ) = (0, −200 + 4t )

Soit f : R+ → R+ le carré de la fonction distance des deux voitures en fonction du temps :

f (t ) = (x 1 − x 2 )2 + (y 1 − y 2 )2 = (−200 + 2t − 0)2 + (0 + 200 − 4t )2 = 20t 2 − 2400t + 80000.


p p p
Cette fonction est minimale pour t = 60 s et l’on a f (t ) = 20 × 602 − 2400 × 60 + 80000 = 8000 ≈ 90 m.

Exercice A.27 (Cônes de glace)


On veut insérer entièrement une sphère de glace dans un cône de biscuit de sorte à ce que le cône soit le plus
remplis possible. Ceci revient à minimiser le rapport entre le volume du cône et le volume de la sphère.

C • Exprimer la hauteur h et le rayon R du cône en


D fonction de r > 0 le rayon de la sphère et de
ϑ ∈]0; π2 [ l’angle du cône.
R

ϑ • Trouver la valeur de ϑ qui minimise le rapport


A B Volume du cône
O h Volume de la sphère .

• Calculer la hauteur h et le rayon R optimales du


cône en fonction du rayon de la sphère r .

Correction
• On a deux triangles rectangles : le triangle ABC rectangle en A et le triangle OBD rectangle en D, par conséquent

r
µ ¶
AC R OD 1
tan(ϑ) = = , sin(ϑ) = = , donc R = h tan(ϑ), h= + 1 r.
AB h OB h −r sin(ϑ)

• Soit f : ]0; π2 [→ R la fonction ainsi définie :

1
Volume du cône πR2 h R2 h (1 + sin(ϑ))3
f (ϑ) = = 34 = 3
= .
Volume de la sphère 3 πr
3 4r 4 sin(ϑ) cos2 (ϑ)

Pour minimiser f on cherche a annuler sa dérivée première :

3 (1 + sin(ϑ))2 cos(ϑ) × 4 sin(ϑ) cos2 (ϑ) − (1 + sin(ϑ))3 × 4 cos(ϑ) cos2 (ϑ) − 2 sin2 (ϑ) cos(ϑ)
£ ¤ £ ¤ £ ¤ £ ¡ ¢¤

f (ϑ) = £ ¤2
4 sin(ϑ) cos2 (ϑ)
3 sin(ϑ) cos3 (ϑ) − (1 + sin(ϑ)) cos3 (ϑ) − 2 sin2 (ϑ) cos(ϑ)
¡ ¢
=4 ¡ ¢2 (1 + sin(ϑ))2
2
4 sin(ϑ) cos (ϑ)

© 2024-2026 G. Faccanoni 213


Annexe A. Exercices de calcul différentiel et intégral dans R Dernière mise à jour : Mardi 30 septembre 2025

et f ′ (ϑ) = 0 si et seulement si
3 sin(ϑ) cos3 (ϑ) − (1 + sin(ϑ)) cos2 (ϑ) − 2 sin2 (ϑ) cos(ϑ) = 0.
¡ ¢

On peut diviser par cos(ϑ) car ϑ ∈]0; π2 [, ce qui donne

3 sin(ϑ) cos2 (ϑ) − (1 + sin(ϑ)) cos2 (ϑ) − 2 sin2 (ϑ) = 0.


¡ ¢

On utilise la relation cos2 (ϑ) = 1 − sin2 (ϑ)


3 sin(ϑ) 1 − sin2 (ϑ) − (1 + sin(ϑ)) 1 − 3 sin2 (ϑ) = 0.
¡ ¢ ¡ ¢

On remarque que 1 − sin2 (ϑ) = (1 − sin(ϑ)) (1 + sin(ϑ)) et qu’on peut diviser par (1 + sin(ϑ)) car ϑ ∈]0; π2 [, ce qui
¡ ¢

donne
3 sin(ϑ) (1 − sin(ϑ)) − 1 − 3 sin2 (ϑ) = 0.
¡ ¢

On trouve ainsi que l’angle ϑ̂ qui annule la dérivée première est tel que
1
sin(ϑ̂) =
3
et l’on a f (ϑ̂) = 2, i.e. la sphère occupe la moitié du volume du cône.
³ ´
• On trouve directement h = sin(ϑ) 1
+ 1 r = 4r . De plus, sachant que pour ϑ ∈]0; π2 [ on a

sin(ϑ)
tan(ϑ) = p ,
1 − sin2 (ϑ)
1
p
on conclut que R = h tan(ϑ) = h p = 2r .
2 2

A.2. Primitives et intégrales


Si F est une primitive de f alors F′ = f .

Rappels
′′ ′ ′
F =f F =f F
>0 ↗
=0 f tangente horizontale
<0 ↘
>0 ↗ convexe
=0 ←→
<0 ↘ concave
Ainsi,
• si F est croissante (résp. décroissante), alors sa dérivée f est positive (résp. négative) ; si F a des extrema, alors sa
dérivée f s’annule ;
• si F est convexe (résp. concave), alors sa dérivée seconde f ′ est positive (résp. négative), c’est-à-dire f est
croissante (résp. décroissante) ; si F a un point d’inflexion, alors sa dérivée seconde f ′ s’annule, c’est-à-dire f a un
extremum.

Exercice A.28
Soit f une fonction. Ci-dessous on a tracé le graphe d’une de ses primitives.

0 x

214 © 2024-2026 G. Faccanoni


Dernière mise à jour : Mardi 30 septembre 2025 Annexe A. Exercices de calcul différentiel et intégral dans R

Que peut-on dire sur le signe de f ? Et sur la croissance de f ?

Correction
Un graphe possible de f est donc

0 x

Exercice A.29 (Par intégration directe)


Calculer les primitives suivantes :
p p 1
Z Z Z Z
3
1. 2x − 3x + 1 dx 2. (1 + 2x 3 )2 dx 3. x+ 3
x dx 4. p dx
x3x
1 x x3 + x + 1
Z Z p Z Z
4
5. p dx 6. (x − 1)3 dx 7. dx 8. dx
x +1 x +1 x2 + 1

Correction

x4 x2 1 4
Z
1. 2 − 3 + x + c = x(x 3 − 3x + 2) + c 2. 4x 6 + 4x 3 + 1 dx = x 7 + x 4 + x + c
4 2 2 7
2 3 3 4 3
Z Z
1 1 4
3. x 2 + x 3 dx = x 2 + x 3 + c 4. x − 3 dx = − p3
+c
3 4 x
1
(x + 1) 2 p 4
5. +c = 2 x +1+c 6. (x − 1)7/4 + c
1/2 7
x +1−1 1 x(x 2 + 1) + 1 1 x2
Z Z Z Z
7. dx = 1 − dx = x − ln(x + 1) + c 8. 2
dx = x+ 2 dx = +arctan(x)+
x +1 x +1 x +1 x +1 2
c

Exercice A.30
Calculer les primitives suivantes :

1 1 1 1 1
Z Z Z Z Z
1. dx 2. dx 3. dx 4. dx 5. p dx
1+x 1−x 1 + x2 1 − x2 1 − x2

Correction Z ′
u (x)
1. u(x) = 1 + x, u ′ (x) = 1, dx = ln |1 + x| + c
u(x)
Z ′
u (x)
2. u(x) = 1 − x, u ′ (x) = −1, − dx = − ln |1 − x| + c
u(x)
3. arctan(x) + c
Ãr !
1+x 1+x
µ ¶
1 1/2 1/2 1 1 1 1 1
Z
4. = + , + dx = (ln |1 + x| − ln |1 − x|) + c = ln + c = ln +c
1 − x2 1 − x 1 + x 2 1 − x 1 + x 2 2 1−x 1−x
5. arcsin(x) + c = − arccos(x) + c

© 2024-2026 G. Faccanoni 215


Annexe A. Exercices de calcul différentiel et intégral dans R Dernière mise à jour : Mardi 30 septembre 2025

Exercice A.31 (Par transformations élémentaires ou changement de variable)


Calculer les primitives suivantes en utilisant

dt
Z Z Z
f (u(x)) u ′ (x) dx = f (t ) dx
= f (t ) dt
|{z} | {z } 
dx

=t = dt
dx

1
Remarque : si u(x) = Ax + B alors u ′ (x) = A constante et on pourra utiliser la propriété
R R
f (u(x)) dx = A f (t )A dt .
|{z}
=t

ex ln3 (x) e −1/x


Z p
1
Z Z Z Z
1. dx 2. dx 3. 2x + 1 dx 4. dx 5. dx
1 + ex 1 + ex x x2
1 1 + cos(x) 2x sin(2x)
Z Z Z Z Z
6. 3
dx 7. dx 8. dx 9. dx 10. sin3 (x) cos(x) dx
x ln (x) x + sin(x) 1 + x4 1 + sin2 (x)
Z tan(x)
1 e 1 − 2x x +1
Z Z Z Z
11. dx 12. dx 13. p dx 14. dx 15. x(x 2 + 1)2 dx
sin(x) cos(x) cos2 (x) 1 − x2
2
x + 2x + 2
Z px
e
Z Z p Z Z
2 3
16. e 2x+1 dx 17. x 5 + x 2 dx 18. p dx 19. xe x dx 20. x 2 e x dx
x
¡p ¢
sin x x x3 e tan(x)
Z Z Z Z Z
21. p dx 22. p dx 23. dx 24. sin(3x) dx 25. dx
x 3
x2 + 3 1 + x4 cos2 (x)

Correction
u ′ (x)
1. u(x) = 1 + e x , u ′ (x) = e x , dx = ln(1 + e x ) + c
R
u(x)
1+e x −e x u ′ (x)
2. u(x) = 1 + e x , u ′ (x) = e x , dx = x − ln(1 + e x ) + c
R R R
1+e x dx = 1 dx − u(x)
Rp p
1 [u(x)]3/2 (2x+1)3
3. u(x) = 2x + 1, u ′ (x) = 2, u(x)u ′ (x) dx = 21 [u(x)]1/2 u ′ (x) dx =
R
2 3 = 3 +c
4
ln (x)
4. u(x) = ln(x), u ′ (x) = 1/x, (u(x))3 u ′ (x) dx =
R
+c
4
5. u(x) = −1/x, u ′ (x) = 1/x 2 , e u(x) u ′ (x) dx = e −1/x + c
R
R u ′ (x) 1
6. u(x) = ln(x), u ′ (x) = 1/x, (u(x)) 3 dx = − +c
2 ln2 (x)
′ (x)
7. u(x) = x + sin(x), u ′ (x) = 1 + cos(x), uu(x)
R
dx = ln |x + sin(x)| + c

u (x)
8. u(x) = x 2 , u ′ (x) = 2x, 1+(u(x)) 2
R
2 dx = arctan(x ) + c
R ′ (x)
9. u(x) = 1 + sin2 (x), u ′ (x) = 2 sin(x) cos(x) = sin(2x), uu(x) dx = ln(1 + sin2 (x)) + c
4
10. u(x) = sin(x), u ′ (x) = cos(x), (u(x))3 u ′ (x) dx = sin4(x) + c
R
R ′ (x)
11. u(x) = tan(x), u ′ (x) = 1/ cos2 (x), sin(x) cos(x)
dx = uu(x)
R
cos2 (x)
dx = ln | tan(x)| + c
′ 2
R u(x) ′ tan(x)
12. u(x) = tan(x), u (x) = 1/ cos (x), e u (x) dx = e +c
R 1 p
2 ′ −1/2 ′
R
13. u(x) = 1 − x , u (x) = −2x, p 2 dx + (u(x)) u (x) dx = arcsin(x) + 2 1 − x 2 + c
1−x
R ′ (x)
14. u(x) = x 2 + 2x + 1, u ′ (x) = 2x + 2, 12 uu(x) dx = 12 ln(x 2 + 2x + 1) + c
2 3
15. u(x) = x 2 + 1, u ′ (x) = 2x, 21 (u(x))2 u ′ (x) dx = (x +1)
R
6 +c
2x+1
16. u(x) = 2x + 1, u ′ (x) = 2, 12 e u(x) u ′ (x) dx = 21 e u(x) + c = e 2 + c
R

17. u(x) = 5 + x 2 , u ′ (x) = 2x, 21 (u(x))1/2 u ′ (x) dx = 13 (5 + x 2 )3/2 + c


R
p p
18. u(x) = x, u ′ (x) = 2p1 x , 2 e u(x) u ′ (x) dx = 2e x + c
R

x2
19. u(x) = x 2 , u ′ (x) = 2x, 1
e u(x) u ′ (x) dx = e 2 + c
R
2
x3
20. u(x) = x 3 , u ′ (x) = 3x 2 , 31 e u(x) u ′ (x) dx = e 3 + c
R
p p
21. u(x) = x, u ′ (x) = 2p1 x , 12 sin (u(x)) u ′ (x) dx = −2 cos x + c
R

1 3p3
22. u(x) = x 2 + 3, u ′ (x) = 2x, (u(x))−1/3 u ′ (x) dx =
R
2 (x 2 + 3)2 + c
4

216 © 2024-2026 G. Faccanoni


Dernière mise à jour : Mardi 30 septembre 2025 Annexe A. Exercices de calcul différentiel et intégral dans R

R u ′ (x) 4)
23. u(x) = 1 + x 4 , u ′ (x) = 4x 3 , 41 dx = ln(1+x
4 +c
u(x)
24. u(x) = 3x, u ′ (x) = 3, 31 sin(u(x))u ′ (x) dx = − 13 cos(3x) + c
R

1 1
25. Si on pose t = tan(x) alors dt = cos2 (x)
dx et on obtient e tan(x) + c car cos1 (x)
= 1 + tan2 (x) =

Exercice A.32 (Par transformations élémentaires ou changement de variable)


Calculer les primitives suivantes en utilisant

dx
Z Z
f (u(x)) dx = f (t ) dt .
|{z} dt
=t

Pour cela il faut tout d’abord calculer x = u −1 (t ) puis en calculer la dérivée. Plus généralement, si on a une relation
′ (t )
du type u(x) = h(t ) alors u ′ (x) dx = h ′ (t ) dt ce qui permet de remplacer dx = uh′ (x) dt avec x = u −1 (h(t )).
p
x
sin(ln(x)) 1+e 1 1
Z Z Z Z
1. dx 2. p dx 3. p dx 4. p p dx
x x x− x x(1 + x)
ex 1 1
Z Z Z Z
5. dx 6. dx 7. q ¡ ¢ dx 8. e x ln(1 + e x ) dx
1 + ex x ln(x) x ln x1

x3 x5
Z p
1
Z Z Z
9. dx 10. p dx 11. p dx 12. e x − 1 dx
x(2 + ln2 (x)) 1 − x2 x3 − 1
ln(x) 1 x
Z Z Z Z p
13. dx 14. x
dx 15. p dx 16. x a + x 2 dx
x e + e −x 1 + x2
Z 1/x
e
µ ¶
1 cos(x) 1 1
Z Z Z
17. dx 18. dx 19. dx 20. cos dx
x2 x2
p
x 1 − ln2 (x) 1 + sin(x) x
x3 1 x
Z Z Z
21. p dx 22. dx 23. dx
1 + x2 3 + x2 1 + x4

Correction
Ici c’est plus difficile de reconnaître u ′ (x) ainsi on inverse la relation t = u(x) pour obtenir x = u −1 (t ) avant de calculer
les dérivées et trouver la relation entre dt et dx :
1. Pour x > 0, si on pose t = ln(x) alors x1 dx = dt et on obtient − cos(ln(x)) + c
p p p
2. Pour x > 0, si on pose t = x alors dx = 2t dt et on obtient 2( x + e x ) + c
p p
3. Pour x > 0, si on pose t = x alors dx = 2t dt et on obtient 2 ln( x − 1) + c
p p p
4. Pour x > 0, si x > 0. Si on pose t = x alors dx = 2t dt et on obtient 4 1 + x + c
5. Si on pose t = e x alors e x dx = dt et on obtient ln(1 + e x ) + c
6. Pour x > 0, si on pose t = ln(x) alors x1 dx = dt et on obtient ln | ln(x)| + c
q ¡ ¢
7. Pour x > 0, si on pose t = ln x1 = − ln(x) alors − x1 dx = dt et on obtient −2 ln x1 + c
¡ ¢

8. Si on pose t = 1 + e x alors e x dx = dtR ainsi e x ln(1 + e x ) dx = ln(t ) dt . Sans utiliser l’intégration par partie, si on
R R

pose t = e w alors dt = e w dw ainsi ln(t ) dt = we w dw = (w − 1)e w et on obtient (1 + e x ) ln(1 + e x ) − e x + c.


R
³ ´
9. Pour x > 0, si on pose t = ln(x) alors x1 dx = dt et on obtient p1 arctan ln(x) p +c
2 2
p
10. Si on pose t 2 = 1 − x 2 alors −x dx = t dt et on obtient − 31 (x 2 + 2) 1 − x 2 + c
p
11. Si on pose t 2 = x 3 − 1 alors 3x 2 dx = 2t dt et on obtient 92 (x 3 + 2) x 3 − 1 + c
p
12. Si on pose t 2 = e x − 1 alors dx = t 22t+1 dt et on obtient 2 e x − 1 − arctan( e x − 1)) + c
¡p ¢

13. Pour x > 0, si on pose t = ln(x) alors dx = e t dt et on obtient 21 ln2 (x) + c


14. Si on pose t = e x alors dx = 1t dt et on obtient arctan e x + c
p p
15. Si on pose t = 1 + x 2 alors 2x dx = 2t dt et on obtient 1 + x 2 + c

© 2024-2026 G. Faccanoni 217


Annexe A. Exercices de calcul différentiel et intégral dans R Dernière mise à jour : Mardi 30 septembre 2025

p 1
p
16. Pour a + x 2 ≥ 0, si on pose t = a + x 2 alors 2x dx = 2t dt et on obtient 3 (a + x 2 )3 + c
1
17. Pour x > 0, si on pose t = ln(x) alors x dx = dt et on obtient arcsin(ln(x)) + c
1
18. Si on pose t = x alors − x12 dx = dt et on obtient −e 1/x + c
19. Si on pose t = 1 + sin(x) alors cos(x) dx = dt et on obtient ln |1 + sin(x)| + c
20. Si on pose t = x1 alors − x12 dx = dt et on obtient − sin x1 + c
¡ ¢
p
21. Si on pose t 2 = 1 + x 2 alors x dx = t dt et on obtient 13 (x 2 − 2) x 2 + 1 + c
p p p p
3
R 1 1
R 1
22. 3+x 2 dx = 3 ³ ´2 dx. Si on pose t = x/ 3 alors dx = 3t dt et on obtient arctan(x/ 3) + c
3
1+ px
3

23. Si on pose t = x 2 alors 2 dx = dt et on obtient 12 arctan(x 2 ) + c

Exercice A.33
Calculer les primitives suivantes :

cos2 (x) sin(x) + cos(x) 1


Z Z Z
1. dx 2. dx 3. dx
1 − sin(x) sin(x) − cos(x) sin2 (x) cos2 (x)
1 1 1
Z Z Z
4. dx 5. dx 6. dx
cos(x) sin(x) sin(x) cos(x)

Correction
(1−sin(x))(1+sin(x))
1. cos2 (x) = 1 − sin2 (x) = (1 − sin(x))(1 + sin(x)),
R
dx = x − cos(x) + c
1−sin(x)
R ′ (x)
dx = uu(x)
R sin(x)+cos(x)
2. 1 = cos2 (x) + sin2 (x), u(x) = sin(x) − cos(x), u ′ (x) = sin(x) + cos(x), sin(x)−cos(x) dx = ln(sin(x) −
cos(x)) + c
R 2 (x)+cos2 (x) 1
1 = cos2 (x) + sin2 (x), sin dx = cos12 (x) dx + sin12 (x) dx = tan(x) −
R R
3. sin2 (x) cos2 (x)
+c
tan(x)
2 (x)+sin2 (x)
1 = cos2 (x) + sin2 (x), cos(x)1sin(x) dx = cos
R R R sin(x) cos(x)
4. cos(x) sin(x) dx = cos(x) + sin(x) dx = − ln | cos(x)| + ln | sin(x)| + c
R 1
sin(x) = 2 sin(x/2) cos(x/2), u(x) = x/2, u ′ (x) = 1/2, sin(x) dx = cos(u(x))1sin(u(x)) u ′ (x) dx = − ln | cos(x/2)| +
R
5.
ln | sin(x/2)| + c = ln | tan(x/2)| + c.
cos(x) = sin π −x , u(x) = π −x, u ′ (x) = −1, ¡1 ¢ u ′ (x) dx = ln | cos( π − x )|−ln | sin( π − x )|+c =
¡ ¢ R 1 R
6. 2 2 dx = −
cos(x) 4 2 4 2
sin u(x)
ln(sin(x) − cos(x)) + c

Exercice A.34 (Intégration par parties)


Calculer les primitives suivantes en utilisant f (x)g ′ (x) dx = f (x)g (x) − f ′ (x)g (x) dx :
R R

ln(x) ln(x)
Z Z Z Z
2 x
1. dx 2. ln(1 + x) dx 3. x e dx 4. p dx
x2 x
sin(x) tan(x)
Z Z Z Z
5. x sin(x) dx 6. x 2 cos(x) dx 7. x ln(x) dx 8. e dx
cos3 (x)
ln(x)
Z Z Z Z
9. x 3 ln(x) dx 10. p4
dx 11. ln 2
(x) dx 12. x 3 sin(x 2 ) dx
x

Correction
1. On pose f (x) = ln(x) et g ′ (x) = 1
et g (x) = − x1 . On obtient f (x)g (x)− f ′ (x)g (x) dx = − 1+ln(x)
f ′ (x) = 1
R
x2
. Alors x x +c
′ ′ 1
R ′
2. On pose f (x) = ln(1 + x) et g (x) = 1. Alors f (x) = 1+x et g (x) = x. On obtient f (x)g (x) − f (x)g (x) dx = (1 +
x) ln(1 + x) − x + c
f (x) = x 2 et g ′ (x) = e x . Alors f ′ (x) = 2x et g (x) = e x . On obtient f (x)g (x) − f ′ (x)g (x) dx = x 2 e x −
R
3. On
R pose
2 xe x dx. On intègre encore par partie et on obtient= e x ((x − 2)x + 2) + c
p
On pose f (x) = ln(x) et g ′ (x) = p1x . Alors f ′ (x) = x1 et g (x) = 2 x. On obtient f (x)g (x) − f ′ (x)g (x) dx =
R
4.
p
2 x(ln(x) − 2) + c
On pose f (x) = x et g ′ (x) = sin(x). Alors f ′ (x) = 1 et g (x) = − cos(x). On obtient f (x)g (x) − f ′ (x)g (x) dx =
R
5.
−x cos(x) + sin(x) + c

218 © 2024-2026 G. Faccanoni


Dernière mise à jour : Mardi 30 septembre 2025 Annexe A. Exercices de calcul différentiel et intégral dans R

6. On pose f (x) = x 2 et g ′ (x) = cos(x). Alors f ′ (x) = 2x et g (x) = sin(x). On obtient f (x)g (x) − f ′ (x)g (x) dx =
R

x 2 sin(x) − 2[−x cos(x) + sin(x)] + c


7. On pose f (x) = ln(x) et g ′ (x) = x. Alors f ′ (x) = 1/x et g (x) = x 2 /2. On obtient f (x)g (x) − f ′ (x)g (x) dx =
R
1 2 1 2
2 x ln(x) − 4 x + c
sin(x) e tan(x) 1
et g ′ (x) = f ′ (x) = et g (x) = e tan(x) . On obtient f (x)g (x)− f ′ (x)g (x) dx =
R
8. On pose f (x) = cos(x) cos2 (x)
. Alors cos 2 (x)
e tan(x) (tan(x) − 1) + c
1 x4 1 4
9. On pose f (x) = ln(x) et g ′ (x) = x 3 . Alors f ′ (x) = f (x)g (x)− f ′ (x)g (x) dx =
R
x et g (x) = 4 . On obtient 16 x (4 ln(x)−
1) + c
1 1 4x 3/4
10. On pose f (x) = ln(x) et g ′ (x) = p ′
R ′
4 . Alors f (x) = x et g (x) = 3 . On obtient f (x)g (x) − f (x)g (x) dx =
x
4 3/4 ¡
ln(x) − 43 + c
¢
x
3
11. On pose f (x) = ln(x) et g ′ (x) = ln(x). Alors f ′ (x) = x1 et g (x) = x ln(x) − x. On obtient f (x)g (x) − f ′ (x)g (x) dx =
R

x(ln2 (x) − 2 ln(x) + 2) + c


12. On pose d’abord t = x 2 ainsi dt = 2x dx. Alors x 3 sin(x 2 ) dx = 12 x 2 sin(x 2 )2x dx = 12 t sin(t ) dt . On pose
R R R

−t cos(t ) + sin(t )
f (t ) = t et g ′ (t ) = sin(t ). Alors f ′ (t ) = 1 et g (t ) = − cos(t ). On obtient f (t )g (t )− f ′ (t )g (t ) dt =
R
+
2
2 2 2
−x cos(x ) + sin(x )
c= +c
2

Exercice A.35
Calculer la primitive suivante en utilisant un changement de variable. Comparer ensuite au résultat obtenu en
utilisant l’intégration par parties :
x arcsin(x)
Z
p dx
1 − x2

Correction
CV Si on pose t = arcsin(x) alors p 1 dx = dt et x = sin(t ) et on obtient
1−x 2

x arcsin(x)
Z Z
p dx = t sin(t ) dt
1 − x2
On a calculé cette intégrale à l’exercice A.34(5.) :
Z
t sin(t ) dt = −t cos(t ) + sin(t ) + c = − arcsin(x) cos(arcsin(x)) + x + c

IPP
x arcsin(x)
Z p
p dx = = − 1 − x 2 · arcsin(x) + x + c
1 − x2 f (x) = arcsin(x) ⇒ f ′ (x) = p 1
p 1−x 2
g (x) = − 1 − x 2 ⇐ g ′ (x) = p x
1−x 2
p p
Les deux calculs donnent le même résultat car cos(arcsin(x)) = ± 1 − sin2 (arcsin(x)) = ± 1 − x 2

Exercice A.36 (cf. P. H ALMOS)


Si f , g : R → R sont deux fonctions dérivables quelconques, on sait que la dérivée du produit n’est pas le produit des
dérivées, autrement dit ( f g )′ ̸= f ′ g ′ . Cependant, il existe des fonctions f et g pour lesquelles on a bien ( f g )′ = f ′ g ′ ,
par exemple si f et g sont toutes deux égales à une constante (pas nécessairement la même). Pouvez-vous en
trouver d’autres ?

Correction
• Si f (x) = k 1 pour tout x ∈ R et g (x) = k 2 pour tout x ∈ R, alors ( f g )′ (x) = (k 1 k 2 )′ = 0 pour tout x ∈ R et f ′ (x)g ′ (x) =
0 × 0 = 0 pour tout x ∈ R.
• Si g = f , on cherche f telle que ( f 2 )′ = ( f ′ )2 , c’est-à-dire 2 f (x) f ′ (x) = ( f ′ (x))2 pour tout x ∈ R. Donc, soit f ′ (x) = 0
pour tout x ∈ R et on trouve à nouveau f (x) = g (x) = k pour tout x ∈ R, soit 2 f (x) = f ′ (x) pour tout x ∈ R et on
trouve f (x) = g (x) = ke 2x pour tout x ∈ R.

© 2024-2026 G. Faccanoni 219


Annexe A. Exercices de calcul différentiel et intégral dans R Dernière mise à jour : Mardi 30 septembre 2025

• Dire que ( f g )′ = f ′ g ′ revient à dire que f ′ g + f g ′ = f ′ g ′ . En divisant par le produit f g (il est inutile à ce stade de se
préoccuper de la possibilité de diviser par 0, nous cherchons seulement formellement des conditions nécessaires)
on a
f ′ (x) g ′ (x) f ′ (x) g ′ (x)
+ = ·
f (x) g (x) f (x) g (x)
g ′ (x)
f ′ (x) g (x)
c’est-à-dire f (x) = g ′ (x)
, soit encore
1− g (x)
g ′ (x)
[ln( f (x))]′ = .
g ′ (x) − g (x)
g ′ (x)
Si on choisit g , il suffit de poser f = e G où G est une primitive de g ′ (x)−g (x)
.
Voyons quelques exemples :
◦ si on pose g (x) = x alors G(x) = 1 1
g )′ = f ′ g ′ :
R
1−x dx = − ln(1 − x) et f (x) = 1−x . Vérifions si on a bien ( f
³ x ´′ 1
( f g )′ (x) = =
1−x (1 − x)2
1
f ′ (x)g ′ (x) =
(1 − x)2

ax a−1 ax a−1
◦ si on pose g (x) = x a alors G(x) = 1
R R
ax a−1 −x a
dx = ax a−1 −x a
dx = −a ln(a − x) et f (x) = (a−x)a . Vérifions si on
′ ′ ′
a bien ( f g ) = f g :
¶′
xa
µ

( f g ) (x) = = a 2 x a−1 (a − x)−a−1
(a − x)a
f ′ (x)g ′ (x) = a(a − x)−a−1 · ax a−1 = a 2 x a−1 (a − x)−a−1

ae ax
◦ si on pose g (x) = e ax alors G(x) = a
et f (x) = e bx où b = a/(a − 1). Vérifions si on a bien
R
ae ax −e ax dx = a−1 x
( f g )′ = f ′ g ′ :

( f g )′ (x) = (e bx e ax )′ = (e (a+b)x )′ = (a + b)e (a+b)x


f ′ (x)g ′ (x) = be bx ae ax = (ab)e (a+b)x = (a + b)e (a+b)x

Exercice A.37 (Formules de réduction)


Les formules de réduction dérivent de l’application répétée de la règle d’intégration par parties.
1. Soit n ∈ N et α ∈ R∗ , montrer que
¶ αx
n n−1 n(n − 1) n−2 n n! e
Z µ
n αx n
x e dx = x − x + x · · · + (−1) n +c
α α2 α α

2. Soit n ∈ N. Montrer que

− sinn−1 (x) cos(x) n − 1


Z Z
sinn (x) dx = + sinn−2 (x) dx,
n n
cosn−1 (x) sin(x) n − 1
Z Z
cosn (x) dx = + cosn−2 (x) dx.
n n

3. Soit n ∈ N. Montrer que


Z Z
x n sin(x) dx = −x n cos(x) + nx n−1 sin(x) − n(n − 1) x n−2 sin(x) dx,
Z Z
n n n−1
x cos(x) dx = x sin(x) + nx cos(x) − n(n − 1) x n−2 cos(x) dx.

220 © 2024-2026 G. Faccanoni


Dernière mise à jour : Mardi 30 septembre 2025 Annexe A. Exercices de calcul différentiel et intégral dans R

4. Soit n ∈ N∗ , α ̸= −1 et x > 0. Montrer que


¶ α+1
n n(n − 1) n−2 n! x
Z µ
x α lnn (x) dx = lnn (x) − lnn−1 (x) + ln (x) · · · + (−1) n
+ c.
α+1 (α + 1) 2 (α + 1) α + 1
n

Correction
1. On pose In = x n e αx dx. En intégrant par parties ( f (x) = x n et g ′ (x) = e αx ) on trouve
R

e αx n e αx n n−1 e αx n − 1
¶ αx
n n(n − 1) n−2 n n! e
µ ¶ µ
In = x n − In−1 = x n − x − In−2 = · · · = x n − x n−1 + x · · · + (−1) +c
α α α α α α α α2 αn α
2. On pose In = sinn (x) dx. En intégrant par parties ( f (x) = sinn−1 (x) et g ′ (x) = sin(x)) on trouve
R

− sinn−1 (x) cos(x) n − 1


In = − sinn−1 (x) cos(x) + (n − 1)In−2 − (n − 1)In = + In−2
n n
De la même manière, on pose In = cosn (x) dx. En intégrant par parties ( f (x) = cosn−1 (x) et g ′ (x) = cos(x)) on
R

trouve
cosn−1 (x) sin(x) n − 1
In = + In−2
n n
3. On pose In = x n sin(x) dx et Jn = x n cos(x) dx. En intégrant par parties ( f (x) = x n et g ′ (x) = sin(x) dans la
R R

première intégrale et f (x) = x n et g ′ (x) = cos(x) dans la deuxième intégrale) on trouve


In = −x n cos(x) + nJn−1 Jn = x n sin(x) − nIn−1
Par conséquence
In = −x n cos(x) + n x n−1 sin(x) − (n − 1)In−2 = −x n cos(x) + nx n−1 sin(x) − n(n − 1)In−2
¡ ¢

Jn = x n sin(x) − n −x n−1 cos(x) + (n − 1)Jn−2 = x n sin(x) + nx n−1 cos(x) − n(n − 1)Jn−2


¡ ¢

4. On pose In = x α lnn (x) dx. En intégrant par parties ( f (x) = lnn (x) et g ′ (x) = x α ) on trouve
R

x α+1 n
¶ α+1
n n n(n − 1) n−2 n! x
µ
n n−1 n
In = ln (x) − In−1 = · · · = ln (x) − ln (x) + ln (x) · · · + (−1) + c.
α+1 α+1 α+1 (α + 1)2 (α + 1)n α + 1

Exercice A.38 (Vitesse et accélération)


Soit V > 0 une constante. Une voiture roule à une vitesse de v(t ) = Vt (1 − t ) km h−1 durant l’intervalle de temps
0 ≤ t ≤ 1 h. Quelle a été sa vitesse maximale ? Que vaut l’accélération instantanée ? Quelle distance a-t-elle
parcouru ?

Correction
1
¡1¢
• Vitesse maximale : v(t ) = Vt (1 − t ) = V(t − t 2 ), v ′ (t ) = V(1 − 2t ), v ′ (t ) = 0 ssi t = 2 et v 2 = V4 .
• Accélération instantanée : a(t ) = v ′ (t = V(1 − 2t ) donc a > 0 si t < 12 et a < 0 si t > 1
2
Z 1
V
• Distance parcourue : v(t ) = x ′ (t ) donc x parcourue = v(t ) dt = .
0 6

Exercice A.39
Calculer
p
1
Z 1 Z 1/ 3 1
Z 1 2x − 5
A= 2
dx, B= p dx, C= dx.
−1 1 + x −1/ 3 1 + 3x 2 −1 x 2 − 5x + 6

Correction

π −π π
A = [arctan(x)]1−1 = arctan(1) − arctan(−1) = − = ,
4 4 2
A π
Z 1
1 1
B= p dt = p = p ,
3 −1 1 + t 2 3 2 3
Z 1
2x − 5 ¤1
C= dx = ln |x 2 − 5x + 6| −1 = ln(2) − ln(12) = ln(2) − ln(3) − 2 ln(2) = − ln(2) − ln(3).
£
2
−1 x − 5x + 6

© 2024-2026 G. Faccanoni 221


Annexe A. Exercices de calcul différentiel et intégral dans R Dernière mise à jour : Mardi 30 septembre 2025

Exercice A.40 (Calcul de l’aire)


Calculer l’aire comprise entre le graphe de la fonction f (x) et le graphe de la fonction g (x) :

a) f (x) = −x 2 + x + 2 et g (x) = x 2 − 3x + 2 b) f (x) = x3


et g (x) = x 2 − x
4

Correction
a) Comme f (x) = g (x) ssi x ∈ {0, 2} et f (x) ≥ g (x) pour x ∈ [0, 2], l’aire comprise entre le graphe de la fonction f (x) et le
¸2
x3 x2
Z 2 Z 2 ·
8
graphe de la fonction g (x) est ( f (x) − g (x)) dx = −2x 2 + 4x dx = −2 + 4 = .
0 0 3 2 0 3
b) Comme f (x) = g (x) ssi x ∈ {0, 2} et f (x) ≥ g (x) pour x ∈ [0, 2], l’aire comprise entre le graphe de la fonction f (x) et le
Z 2 3 · 4 ¸2
x3 x2
Z 2
x x 1
graphe de la fonction g (x) est ( f (x) − g (x)) dx = − x 2 + x dx = − + = .
0 0 4 16 3 2 0 3
x3
f (x) = −x 2 + x + 2 = −(x + 1)(x − 2) et g (x) = x 2 − 3x + 2 = (x − 1)(x − 2) f (x) = 4 et g (x) = x 2 − x = x(x − 1)

y y

2 2

g (x)
g (x)
1 2 x f (x) 1 2 x
f (x)

Exercice A.41 (Putnam 1993)


La ligne horizontale y = c coupe la courbe y = 2x −
3x 3 dans le premier quadrant comme sur la figure.
Trouvez c de sorte que les aires des deux régions co-
loriées soient égales.

Correction
Les deux aires dépendent de l’endroit où la ligne y = c coupe la courbe y = 2x − 3x 3 . Notons ces points a et b avec
0 < a < b. On a alors
Z a Z a Z b Z b
3 3
A= c dx − 2x − 3x dx, B= 2x − 3x dx − c dx.
0 0 a a

Si A = B alors
Z b Z b Z a Z a Z b Z b
0 = B−A = 2x − 3x 3 dx − c dx − c dx + 2x − 3x 3 dx = 2x − 3x 3 x 3 dx − c dx
a a 0 0 0 0
· ¸b µ ¶
3 3 3
= [c x]b0 − x 2 − x 4 = bc − b 2 + b 4 = b c − b + b 3 .
4 0 4 4
Cela signifie que la solution du problème ne dépend pas de a.
Comme 2b − 3b 3 = c (le point (b, c) appartient à la parabole), on doit alors résoudre
µ ¶
3 9 9
0 = 2b − 3b 3 − b + b 3 = b − b 3 = b 1 − b 2
4 4 4
2
ainsi b = 3 et c = 2b − 3b 3 = 49 .

222 © 2024-2026 G. Faccanoni


Dernière mise à jour : Mardi 30 septembre 2025 Annexe A. Exercices de calcul différentiel et intégral dans R

Exercice A.42 (Calcul de l’aire)


Calculer l’aire de A et de B ainsi définis :
½ ¯ ¾ ½ ¯ ¾
1 1
A = (x, y) ∈ R ¯¯ 0 ≤ x ≤ 2π, ≤ y ≤ cos3 (x) ,
2
B = (x, y) ∈ R ¯¯ −π ≤ x ≤ π, ≤ y ≤ cos3 (x) .
2
¯ ¯
8 8

Correction
Remarquons d’abord que

Z Z
cos2 (x)=1−sin2 (x)
cos3 (x) dx = (1 − sin2 (x)) cos(x) dx =
Z Z t =sin(x)
dt =cos(x) dx
= cos(x) − cos(x) sin2 (x) dx = sin(x) − cos x sin2 (x) dx =

t3 sin3 (x)
Z
= sin(x) − t 2 dt = sin(x) − + k = sin(x) − +k , k ∈ R.
3 3

1 π 5π
Comme cos3 (x) = 8 ssi x = 3 ou x = 3 alors

ÃZ π π
! Ãp p ! p
3
3 3 −0 3 3 π 9 3−π
Aire (A) = 2 cos (x) dx − =2 − − =
0 8 2 8 24 12

et
π π
Ãp p ! p
−0 3 3 π 9 3−π
Z
3 3
3
Aire (B) = cos (x) dx − 2 · =2 − − = .
− π3 8 2 8 24 12

Exercice A.43
Que vaut l’aire coloriée comprise entre les deux courbes ?

y
g (x) = 2 + cos(x)

f (x) = 1 − sin(x)

0 π x

Correction
Rπ Rπ π
0 2 + cos(x) − 1 + sin(x) dx = 0 1 + cos(x) + sin(x) dx = [x + sin(x) − cos(x)]0 = (π + 0 − (−1)) − (0 + 0 − 1) = π + 2.

Exercice A.44
La valeur moyenne de la fonction f (x) = x 3 sur l’intervalle [0; k] est 9. Calculer k.

Correction p
1 k4
Rk
valeur moyenne de f = k1 0 x 3 dx = 9
def 3
=⇒ k 4 =9 =⇒ k= 36.

© 2024-2026 G. Faccanoni 223


Annexe A. Exercices de calcul différentiel et intégral dans R Dernière mise à jour : Mardi 30 septembre 2025

Exercice A.45 y
Dans la figure ci-contre on a tracé le graphe de la fonc-
tion g : [0; w] → R définie par
Z x
g (x) = f (t ) dt
0 y = g (x)
avec f : [0; w] → R une fonction continue et dérivable. 0 h k w x
Le graphe de g a tangente horizontale en x = 0 et pré-
sente un changement de concavité en x = h et un maxi-
mum en x = k.

1. Calculer f (0) et f (k).


2. Tracer un graphe plausible de f et montrer qu’elle admet un maximum.
3. Dorénavant on suppose que g est une fonction polynomiale de degré 3.
3.1. Montrer que h = w/3 et k = 2h.
3.2. Pour w = 3 et g (1) = 2/3 trouver l’expression de g .

Correction
1. g ′ (x) = f (x) pour tout x ∈ [0; w]. Puisque x = 0 et x = k sont des points à tangente horizontale pour le graphe de g ,
alors g ′ (0) = g ′ (k) = 0 donc f (0) = f (k) = 0.
2. f est continue par hypothèse. D’après le théorème de W EIERSTRASS elle admet un maximum et un minimum sur
[0; w].
On a vu au point précédent que f (0) = f (k) = 0 et que g ′ (x) = f (x) pour tout x ∈ [0; w]. g est croissante (g ′ (x) > 0)
sur [0; k] et décroissante (g ′ (x) < 0) sur [k; w], donc f est positive sur [0; h] et négative sur [h; w].
De plus, g ′′ (x) = f ′ (x) pour tout x ∈ [0; w]. g est convexe (g ′′ (x) > 0) sur [0; h] et concave (g ′′ (x) < 0) sur [h; w],
donc f est croissante sur [0; h] et décroissante sur [h; w]. x = h est un maximum absolu pour f et x = w un
minimum absolu.
Un graphe plausible de f est donc le suivant :
y

w
0 h k x

y = f (x)

3. g est une fonction polynomiale de degré 3, x = w est un zéro simple et x = 0 est un zéro double (car g ′ (0) = 0),
donc g (x) = a(x − w)(x − 0)2 = ax 2 (x − w) avec a ∈ R∗ un paramètre.

3.1. On a f (x) = g ′ (x) = ax(3x − 2w) : il s’agit d’une parabole. Comme f (0) = f (k) = 0 alors k = 2w/3. De plus,
le sommet de la parabole se trouve en x = k/2 et f ′ (k/2) = 0. Comme x = h est le maximum de f , alors
h = k/2 = w/3.
3.2. Si w = 3 alors g (x) = ax 2 (x − 3) et la condition g (1) = 2/3 implique a = −1/3. On obtient ainsi g (x) =
− 13 x 3 + x 2 .

Exercice A.46 (Probabilité géométrique)


1. On sélectionne un point au hasard sur une cible circulaire. Quelle est la probabilité que le point choisi soit
plus prêt du centre que de la circonférence de la cible ?
2. On sélectionne un point au hasard sur une cible carrée. Quelle est la probabilité que le point sélectionné soit

224 © 2024-2026 G. Faccanoni


Dernière mise à jour : Mardi 30 septembre 2025 Annexe A. Exercices de calcul différentiel et intégral dans R

plus prêt du centre du carré que d’un de ses côtés ?


Source : [Link]

Correction
1. Il semble assez évident de délimiter correctement de manière intuitive les zones par deux disques concentriques.

O A B

Attention néanmoins à ne pas répondre que la probabilité de choisir un point dans la zone hachurée est 1/2
(parce que le rayon du disque hachuré correspond à la moitié du rayon du grand disque). Or, si le petit disque
possède un rayon de r et le grand 2r , on a

Aire du petit disque hachuré πr 2 1


P= = = .
Aire du grand disque π(2r ) 2 4

2. L’ensemble de points équidistants d’un point et d’une droite est une parabole. La région à considérer est donc
délimitée par quatre paraboles qui ont pour foyer le centre du carré et comme droites directrices les droites qui
supportent les côtés du carré. On s’affaire donc à trouver l’aire de cette région hachurée. On place d’abord le tout
dans un repère cartésien. Les sommets du carré sont (1, 1), (−1, 1), (−1, −1) et (1, −1) (cf. figure à gauche). En vertu
des symétries de la figure, il nous est possible de nous concentrer seulement sur la partie située dans le premier
quadrant. Qui plus est, il est possible de ne s’attarder qu’à la moitié de cette dernière région (cf. figure à droite).
(0, 1) (1, 1)
(−1, 1) (0, 1) (1, 1)

1)
(0, 2

(0, 1 C
(−1, 1) (− 1 (0, 1) (1 (1, 1) 2)
2 , 1) 2 , 1)

(0, − 1
2)

(−1, 1) (0, 1) (1, 1)


(0, 1) (1
2 , 1)
(1, 1)

Ce «croissant de parabole» correspond à la moitié de la région à considérer dans le premier quadrant. On note au
passage que l’aire du carré dans ce premier quadrant est 1. Le «croissant» est à son tour divisé en deux parties :
la zone de forme triangulaire T et la zone A . On cherche l’aire de ces zones. Pour y arriver, on aura besoin des
2
p intéresse est y = 1−2x. On ne s’intéressera qu’à la branche
coordonnées de C. L’équation de la parabole qui nous
y = 1 − 2x. On cherche ensuite les coordonnées de C, le p
située au dessus de l’axe des abscisses. Ainsi p point
d’intersection entre la courbe d’équation y = 1 − 2x et la droite d’équation y = x et on obtient
p
x = −1 + 2. Il
3−2 2
nous est donc déjà possible de trouver l’aire du triangle, que l’on a identifié comme T = 2 . Il reste à trouver
l’aire de la région sous la courbe :
1 p
p ´3 (−1 + 2)3
r
p 1 0 p 1
Z Z
2
³
A= p 1 − 2x dx = − p t dt = 3−2 2 = .
−1+ 2 2 3−2 2 3 3

L’aire totale est donc p


−5 + 4 2
T +A = .
6
Comme le carré du premier quadrant à une aire de 1, il ne reste qu’à doubler ce résultat afin d’obtenir la probabilité
recherchée p
−5 + 4 2
P=
3
ce qui correspond à un peu moins de 22%.

© 2024-2026 G. Faccanoni 225


ANNEXE B

Exercices sur la Méthode de Gauss

Dans ce chapitre

B.1 Systèmes carrés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227


B.2 Systèmes avec plus d’équations qu’inconnues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
B.3 Systèmes avec plus d’inconnues que d’équations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233

B.1. Systèmes carrés


Exercice B.1
Résoudre les systèmes linéaires suivantes par la méthode de G AUSS
 
x 1 + 2x 2 − x 3 = 2, −x 1 + x 2 + 3x 3 = 12,

−2u−4v+3w=−1
(  
4x − 3y = 84
(1) (2) x 1 − 2x 2 − 3x 3 = −6, (3) 2x 1 − x 2 + 2x 3 = −8, (4) 2v −w=1
5x + 7y = 19   
u +v−3w=−6
x 1 + 4x 2 + 4x 3 = 3. 4x 1 + x 2 − 4x 3 = 15.
 

   −2x −y +4t =2
2v −w=1 u +v−3w=−6 −2x +y +z=0


2x+3y+3z+2t =14
  
(5) −2u−4v+3w=−1 (6) 2v −w=1 (7) x−2y +z=0 (8)
 x+2y +z +t =7
u +v−3w=−6 x +y−2z=0
 
−2u−4v+3w=−1
 

−x −z +t =−1

Correction
Système (1)

4x−3y= 84 L2 ←L2 − 54 L1 4x−3y = 84


½ ½
−−−−−−−−→ 43
5x+7y= 19 4 y= −86
donc y = −8 et x = 15.
Système (2)
  
x 1 +2x 2 −x 3 = 2, L2 ←L2 −L1 x 1 +2x 2 −x 3 = 2, x 1 +2x 2 −x 3 = 2,
L3 ←L3 −L1 L3 ←L3 +L2 /2
x 1 −2x 2 −3x 3 = −6, −−−−−−−→ −4x 2 −2x 3 = −8, −−−−−−−−−→ −4x 2 −2x 3 = −8,
x 1 +4x 2 +4x 3 = 3. 2x 2 +5x 3 = 1. 4x 3 = −3.
  

donc x 3 = − 43 , x 2 = 19
8 et x 1 = − 72 .
Système (3)
  
−x 1 +x 2 +3x 3 = 12 L2 ←L2 +2L1 −x 1 +x 2 +3x 3 = 12 −x 1 +x 2 +3x 3 = 12
L3 ←L3 +4L1 L3 ←L3 −5L2
2x 1 −x 2 +2x 3 = −8 −−−−−−−−→ x 2 +8x 3 = 16 −−−−−−−−→ x 2 +8x 3 = 16
4x 1 +x 2 −4x 3 = 15 5x 2 +8x 3 = 63
  
−32x 3 = −17
17 47 43
donc x 3 = 32 , x2 = 4 et x 1 = 32 .
Système (4)
  
−2u−4v+3w=−1 −2u−4v +3w=−1 −2u−4v+3w=−1
L3 ←L3 +L1 /2 L3 ←L3 +L2 /2
2v −w=1 −−−−−−−−−→ 2v −w=1 −−−−−−−−−→ 2v −w=1
u +v−3w=−6 −v− 23 w=− 13
  
2
−2w=−6
donc w = 3, v = 2 et u = 1.

227
Annexe B. Exercices sur la Méthode de Gauss Dernière mise à jour : Mardi 30 septembre 2025

Système (5) Il n’est pas possible d’utiliser la méthode de Gauss directement, il faut d’abord échanger deux lignes (la
solution d’un système linéaire ne dépend pas de l’ordre de ses équations). Si on échange la ligne 1 avec la
ligne 2 on retrouve le système précédent.
Système (6) Il s’agit encore du même système, mais ce nouveau ordre des équations rend les calculs plus simples :
  
 u +v−3w=−6 u +v−3w=−6 u+v−3w=−6
L3 ←L3 +2L1 L3 ←L3 +L2
2v −w=1 −−−−−−−−→ 2v −w=1 −−−−−−−→ 2v −w=1

−2u−4v+3w=−1

−2v−3w=−13

−4w=−12

donc w = 3, v = 2 et u = 1.
Système (7)

L
 L2 ←L2 + 21  
−2x +y +z=0 L3 ←L3 + L1 −2x +y +z=0 −2x +y +z=0
L3 ←L3 +L2
− 32 y+ 32 z=0 −−−−−−−→ − 23 y+ 32 z=0
2
x−2y +z=0 −−−−−−−→
3 3
x +y−2z=0 2 y− 2 z=0
0z=0
  

donc z = κ ∈ R, y = z et x = z.
Système (8)

2 2 L ←L +L
1
L
+4t =2 L3 ←L3 + 21 
 
 −2x −y −2x−y +4t =2
 L1 

2x+3y+3z+2t =14 L4 ←L4 − 2
 2y+3z+6t =16
−−−−−−−→ 3

 x+2y +z +t =7 
 2 y +z+3t =8
  1
2 y −z −t =−2
−x −z +t =−1
3  
L3 ←L3 − 4 L2 −2x−y +4t =2  −2x−y +4t =2
L2  7

L4 ←L2 − 4  2y +3z +6t =16 L4 ←L4 − 5 L3  2y +3z +6t =16
−−−−−−−−→ −−−−−−−−→

 − 45 z− 32 t =−4 
 − 45 z− 23 t =−4
7 5
− 52 t =− 25
 
− 4 z− 2 t =−6

donc t = 1, z = 2, y = 2 et x = 0.

Exercice B.2
Trouver toutes les solutions des systèmes linéaires homogènes suivantes
  
−3x 1 + x 2 + 2x 3 = 0,
 x 1 + x 2 + 3x 3 + x 4 = 0,
 2x 1 − x 2 − 3x 3 = 0,

(1) −2x 1 + 2x 3 = 0, (2) x 1 + 3x 2 + 2x 3 + 4x 4 = 0, (3) −x 1 + 2x 3 = 0,
  
−11x 1 + 6x 2 + 5x 3 = 0. 2x 1 + x 3 − x 4 = 0. 2x 1 − 3x 2 − x 3 = 0.
  

Correction
Système (1)

L2 ←L2 − 32 L1

−3x 1 + x 2 + 2x 3 = 0,
 

L3 ←L3 − 11−3x 1 +x 2 +2x 3 =0, L3 ←L3 + 7 L2 −3x 1 +x 2 +2x 3 =0,
3 L1
− 23 x 2 + 23 x 3 =0, −−−−−−−−→ − 32 x 2 + 32 x 3 =0,
2
−2x 1 + 2x 3 = 0, −−−−−−−−−→
7 7
3 x 2 − 3 x 3 =0,
0=0,
  
−11x 1 + 6x 2 + 5x 3 = 0.

Le système admet une infinité de solutions de la forme (κ, κ, κ) avec κ ∈ R.


Système (2)

x 1 + x 2 + 3x 3 + x 4 = 0,
 
 x 1 +x 2 +3x 3 =1,
L2 ←L2 −L1 x 1 +x 2 +3x 3 =1,
L3 ←L3 −2L1 L3 ←L3 +L2
x 1 + 3x 2 + 2x 3 + 4x 4 = 0, −−−−−−−−→ 2x 2 −x 3 =3, −−−−−−−→ 2x 2 −x 3 =3,
 
−2x 2 −5x 3 =−3,


2x 1 + x 3 − x 4 = 0. −6x 3 =0,

Le système admet une infinité de solutions de la forme ( 12 κ, − 32 κ, 0, κ) avec κ ∈ R.

228 © 2024-2026 G. Faccanoni


Dernière mise à jour : Mardi 30 septembre 2025 Annexe B. Exercices sur la Méthode de Gauss

Système (3)
L
  
L2 ←L2 + 21
2x 1 − x 2 − 3x 3 = 0,
 2x 1 − x 2 − 3x 3 = 0,
 2x 1 − x 2 − 3x 3 = 0,

L3 ←L3 −L1 L3 ←L3 −4L2
−x + 2x 3 = 0, −−−−−−−→ − 1 x + 1 x = 0, −−−−−−−−→ − 21 x 2 + 12 x 3 = 0,
 1  2 2 2 3 
2x 1 − 3x 2 − x 3 = 0. −2x 2 + 2x 3 = 0, 0 = 0,
  

Le système admet une infinité de solutions de la forme (2κ, κ, κ), κ ∈ R.

Exercice B.3 (V. G UIRARDEL)


Vous projetez de passer un concours de recrutement l’an prochain. Vous avez sous les yeux le tableau de notes
suivant :

C ANDIDAT Mathématique Anglais Informatique Moyenne


QUI 7 12 6 8
QUO 11 6 10 9
QUA 11 16 14 14

Retrouver les coefficients de chaque épreuve. La solution est-elle unique ?

Correction
Il s’agit de trouver les trois coefficients m, a, i ∈ [0; 1] tels que

7m + 12a + 6i = 8,

11m + 6a + 10i = 9,

11m + 16a + 14i = 14.

Utilisons la méthode de G AUSS :


 L2 ←L2 − 11 L1  
 7m+12a +6i =8, L3 ←L3 − 117 L1 7m+12a +6i =8, L 3 ←L − 2
3 9 2L 7m+12a +6i =8,
− 90 4 25
− 90 4 25
7
11m +6a+10i =9, −−−−−−−−−→ 7 a + 7 i =− 7 , −− − −− −− −→ 7 a+ 7 i =− 7 ,
20 32 10 40 20
11m+16a+14i =14, − 7 a+ 7 i = 7 , 9 i= 9 ,
  

qui admet l’unique solution (0.2, 0.3, 0.5).

Exercice B.4
Équilibrer la réaction
Zn + H2 SO4 + K 2 Cr 2 O7 → KCr (SO4 )2 + ZnSO4 + H2 O.

Correction
Écrivons les coefficients stœchiométriques et les contraintes :

x 1 Zn + x 2 H2 SO4 + x 3 K 2 Cr 2 O7 → x 4 KCr (SO4 )2 + x 5 ZnSO4 + x 6 H2 O

1. Atomes de Zn : x 1 = x 5 , i.e. x 1 − x 5 = 0
2. Atomes de H : 2x 2 = 2x 6 , i.e. x 2 − x 6 = 0
3. Atomes de S : x 2 = 2x 4 + x 5 , i.e. x 2 − 2x 4 − x 5 = 0
4. Atomes de K : 2x 3 = x 4 , i.e. 2x 3 − x 4 = 0
5. Atomes de Cr : 2x 3 = x 4 , i.e. 2x 3 − x 4 = 0
6. Atomes de O : 4x 2 + 7x 3 = 8x 4 + 4x 5 + x 6 , i.e. 4x 2 + 7x 3 − 8x 4 − 4x 5 − x 6 = 0
Notons que la contrainte 2x 3 − x 4 = 0 est répétée deux fois, donc on ne l’écrira qu’une seule fois dans le système linéaire ;
cela donne 5 équations pour 6 inconnues. Fixons arbitrairement un des coefficients, par exemple x 6 = 1 ; on obtient
alors le système linéaire
1 0 0 0 −1 x 1 0
    
0 1 0 0 0   x 2  1 
    
0 1 0 −2 −1 x 3  = 0
    
0 0 2 −1 0  x 4  0
0 4 7 −8 −4 x 5 1

© 2024-2026 G. Faccanoni 229


Annexe B. Exercices sur la Méthode de Gauss Dernière mise à jour : Mardi 30 septembre 2025

ce qui donne

1 0 0 0 −1 0 1 0 0 0 −1 0 1 0 0 0 −1 0
     

 0 1 0 0 0 1  L3 ←L3 −L2 
 L5 ←L5 −4L2  0 1 0 0 0 1  
 L3 ↔L4  0 1 0 0 0 1 


 0 1 0 −2 −1 0  −−−−−−−−→ 
  0 0 0 −2 −1 −1  −−−−→ 
  0 0 2 −1 0 0 

 0 0 2 −1 0 0   0 0 2 −1 0 0   0 0 0 −2 −1 −1 
0 4 7 −8 −4 1 0 0 7 −8 −4 −3 0 0 7 −8 −4 −3
   
1 0 0 0 −1 0 1 0 0 0 −1 0
 0 1 0 0 0 1   0 1 0 0 0 1 
L5 ←L5 − 72 L3
  L5 ←L5 − 9 L4 
4

−−−−−−−−→  0 0 2 −1 0 0  −−−−−−−−→  0 0 2 −1 0 0
   

0 0 0 −2 −1 −1 0 0 0 −2 −1 −1
   
   
0 0 0 − 92 −4 −3 0 0 0 0 − 47 − 34

dont la solution est bien  3


x1

7
x 2  
   1
x 3  =  1
  7 
x 4   2 
7

3
x5 7

Si on multiplie tous les coefficients par 7 on obtient


 
3
x1
 
7 
x 2   

  1 
x 3  =  
  2 
x 4    
3 
x5
7

et donc la réaction équilibrée

3Zn + 7H2 SO4 + K 2 Cr 2 O7 → 2KCr (SO4 )2 + 3ZnSO4 + 7H2 O.

Exercice B.5
Soit le système linéaire
(
x − αy = 1,
(S)
αx − y = 1.
Déterminer les valeurs de α de telle sorte que ce système possède :
1. une infinité de solutions ;
2. aucune solution ;
3. une solution unique.

Correction

½ ½
x−αy=1 L2 ←L2 −αL1 x −αy=1
−−−−−−−−→
αx −y=1 (α2 − 1)y=−(α − 1)

Comme −1 + α2 = (α − 1)(α + 1) on conclut que


1. si α = 1 (i.e. la dernière équation correspond à 0 = 0) alors (S) possède une infinité de solutions,
2. si α = −1 (i.e. la dernière équation correspond à 0 = 2) alors (S) ne possède aucune solution,
1 1
3. si α ̸∈ { −1; 1 } alors (S) possède une solution unique x = α+1 et y = − α+1 .

230 © 2024-2026 G. Faccanoni


Dernière mise à jour : Mardi 30 septembre 2025 Annexe B. Exercices sur la Méthode de Gauss

Exercice B.6
Soit le système linéaire

x + y − z = 1,

(S) 2x + 3y + βz = 3,

x + βy + 3z = −3.

Déterminer les valeurs de β de telle sorte que ce système possède :


1. une infinité de solutions ;
2. aucune solution ;
3. une solution unique.

Correction

  
 x 1 +x 2 −x 3 = 1 L2 ←L2 −2L1 x 1 +x 2 −x 3 = 1
L3 ←L3 +(1−β)L2
x 1 +x 2 −x 3 =1
L3 ←L3 −L1
2x 1 +3x 2 +βx 3 = 3 −−−−−−−−→ x 2 +(β + 2)x 3 = 1 −−−−−−−−−−−→ x 2 +(β + 2)x 3 =1
x 1 +βx 2 +3x 3 = −3 (β − 1)x 2 (6 − β − β2 )x 3 = −(3 + β)
 
+4x 3 = −4

Comme 6 − β − β2 = (2 − β)(3 + β) on conclut que


1. si β = −3 (i.e. la dernière équation correspond à 0z = 0) alors (S) possède une infinité de solutions,
2. si β = 2 (i.e. la dernière équation correspond à 0z = −5) alors (S) ne possède aucune solution,
3. si β ̸∈ { 2; −3 } alors (S) possède une solution unique.

Exercice B.7
En utilisant la méthode de G AUSS, résoudre le système linéaire en discutant suivant la valeur du paramètre a ∈ R :

x + 2y + 3z = 2,

x − y + 2z = 7,

3x + az = 10.

Correction
  
 x+2y +3z= 2 L2 ←L2 −L1 x+2y +3z=2 x+2y +3z= 2
L3 ←L3 −3L1 L3 ←L3 −2L2
x −y +2z= 7 −−−−−−−−→ −3y −z=5 −−−−−−−−→ −3y −z= 5
3x −6y+(a − 9)z=4 (a − 7)z=−6

+az=10
 

On a ainsi transformé le système linéaire initial dans le système linéaire triangulaire supérieur équivalent

x + 2y + 3z = 2,

−3y − z = 5,

(a − 7)z = −6.

Par conséquent,
−6 5+z 5a − 41 2(8a − 35)
• si a ̸= 7, z = ,y= = et x = 2 − 2y − 3z = est l’unique solution du système linéaire ;
a −7 −3 −3(a − 7) 3(a − 7)
• si a = 7 il n’y a pas de solutions du système linéaire.

Exercice B.8
Soit α, β et γ des réels et considérons le système linéaire
(
x + y = α,
x + βy = γ,

d’inconnues x, y. En utilisant le pivot de G AUSS, déterminer les valeurs de α, β et γ ∈ R de telle sorte que ce système
possède :
a) une infinité de solutions ;

© 2024-2026 G. Faccanoni 231


Annexe B. Exercices sur la Méthode de Gauss Dernière mise à jour : Mardi 30 septembre 2025

b) aucune solution ;
c) une solution unique.

Correction

½ ½
x +y=α L2 ←L2 −αL1 x +y=α
−−−−−−−−→
x+βy=γ (β − 1)y=γ − α

a) Si β = 1 et γ = α (i.e. la dernière équation correspond à 0y = 0) alors (S) possède une infinité de solutions,
b) si β = 1 et γ ̸= α (i.e. la dernière équation correspond à 0y = γ − α) alors (S) ne possède aucune solution,
γ−α
c) si β ̸= 1 alors, pour tout α et tout γ, (S) possède une solution unique y = β−1 et x = α − y.

Exercice B.9
Un joueur de foot, situé à 18m du but, effectue un tir en cloche. On modélise la situation dans un repère orthonormé
(l’unité choisie est le mètre). On suppose que la trajectoire du ballon est parabolique et passe par les points (−18; 0)
et (−14; 3.2), la tangente à la courbe en x = −18 forme un angle de 45◦ avec l’horizontale. On note p la fonction qui
à l’abscisse x de la balle associe son ordonnée p(x).

1. Écrire et résoudre le système matriciel qui permet


de déterminer p.
2. À quelle hauteur maximale le ballon va-t-il s’éle-
ver ?
3. Sachant que le but a une hauteur de 2.44m, le tir
est-il cadré ?

Correction
Source : [Link]
32
1. On cherche a, b, c tels que p(x) = c + bx + ax 2 . On sait que p(−18) = 0, p(−14) = 10 et p ′ (−18) = 1, d’où le système
linéaire
1 −18 (−18)2
    
c 0
1 −14 (−14)2  b  =  32 
10
0 1 −18 × 2 a 1

On utilise la méthode de Gauss (pour les calculs se rappeler que 142 − 182 = (14 − 18)(14 + 18) = −4 × 32) :

182 182 1 182 0


     
1 −18 0 1 −18 0 −18
32  L2 ←L2 −L1  32  L3 ←L3 −L2 /4  32
 1 −14 142 10 −− −−− − −→ 0 4 −4 × 32 10 −−− −−− −− −→ 0 4 −4 × 32 10

1
0 1 −18 × 2 1 0 1 −18 × 2 1 0 0 −4 5

donc    9 
c 5
b  =  − 4 
5
1
a − 20
b
2. p ′ (x) = 0 ssi x = − 2a = −8 et p(−8) = 5 : le ballon s’élèvera jusqu’à 5m et cette hauteur sera atteinte en x = −8.
9
3. Le but est en x = 0 et l’on a p(0) = 5 = 1.8 < 2.44 : le tir est cadré.

B.2. Systèmes avec plus d’équations qu’inconnues

232 © 2024-2026 G. Faccanoni


Dernière mise à jour : Mardi 30 septembre 2025 Annexe B. Exercices sur la Méthode de Gauss

Exercice B.10
Résoudre les systèmes suivants d’inconnue (x, y, z) ∈ R3 :
  

 x + 2y + z = −1, 
 x + y + z = 3, 
 x − 2y + 2z = 0,

 
 

2x + y − z = 1, x + 2y + 3z = 6, 2x + y − 2z = 0,
(S 1 ) (S 2 ) (S 3 )


 −x + y + 2z = −2, 

−x − y + 2z = 0, 

3x + 4y − 6z = 0,
  
x + y + z = 4, 3x + 2y − 4z = 1, 3x − 11y + 12z = 0.
  

Correction
(S 1 ) étant un système de 4 équations à 3 inconnues, on considère (S ′ ) le sous-système carré d’ordre 3 qu’on peut
résoudre par la méthode du pivot de Gauss
  
 x+2y +z=−1, L2 ←L2 −2L1 x+2y +z=−1, x+2y +z=−1,
′ L3 ←L3 +L1 L3 ←L3 +L2
(S ) 2x +y −z=1, −−−−−−−−→ −3y−3z=3, −−−−−−−→ −3y−3z=3,
3y+3z=−3, 0=0,

−x +y+2z=−2,
 

qui admet une infinité de solutions de la forme (1 + κ, −1 − κ, κ) pour κ ∈ R. Cherchons parmi ces solutions celles qui
vérifient l’équation de (S 1 ) qui n’apparaît pas dans (S ′ ) : pour (x, y, z) = (1+κ, −1−κ, κ) on a x + y + z = 1+κ−1−κ+κ = κ
donc x + y + z = 4 si et seulement si κ = 4 ainsi (S 1 ) admet l’unique solution (5, −5, 4).
(S 2 ) étant un système de 4 équations à 3 inconnues, on considère (S ′ ) le sous-système carré d’ordre 3 qu’on peut
résoudre par la méthode du pivot de Gauss
 
 x +y +z=3, L2 ←L2 −L1 x+y +z=3,
L3 ←L3 +L1
(S ′ ) x+2y+3z=6, −−−−−−−→ y+2z=3,
3z=3,

−x −y+2z=0,

qui admet l’unique solution (1, 1, 1). On étudie alors si elle est aussi solution de l’équation de (S 2 ) qui n’apparaît pas
dans (S ′ ) : pour (x, y, z) = (1, 1, 1) on a 3x + 2y − 4z = 1 donc le triplet (1, 1, 1) est solution de (S 2 ) et c’est l’unique.
(S 3 ) étant un système de 4 équations à 3 inconnues, on considère le sous-système (S ′ ) carré d’ordre 3 suivant qu’on
peut résoudre par la méthode du pivot de G AUSS
  
 x−2y+2z=0, L2 ←L2 −2L1 x−2y +2z=0, x−2y+2z=0,
L3 ←L3 −3L1 L3 ←L3 −2L2
(S ′ ) 2x +y−2z=0, −−−−−−−−→ 5y −6z=0, −−−−−−−−→ 5y−6z=0,
3x+4y−6z=0, 10y−12z=0, 0=0,
  

qui admet une infinité de solutions de la forme (2κ, 6κ, 5κ) pour κ ∈ R. Cherchons parmi ces solutions celles qui vérifient
l’équation de (S 3 ) qui n’apparaît pas dans (S ′ ) : pour (x, y, z) = (2κ, 6κ, 5κ) on a 3x − 11y + 12z = 6κ − 66κ + 60κ = 0 donc
3x − 11y + 12z = 0 pour tout κ ∈ R ainsi (S 3 ) admet une infinité de solutions de la forme (2κ, 6κ, 5κ) pour κ ∈ R.

B.3. Systèmes avec plus d’inconnues que d’équations


Exercice B.11
Résoudre le système suivant d’inconnue (x, y, z) ∈ R3
(
−2x + y + z = 0,
(S)
x − 2y + z = 0,

Correction
(S) est équivalent au système
(
−2x + y + z = 0,
−3y + 3z = 0,
qui admet une infinité de solutions de la forme (κ, κ, κ) pour κ ∈ R.

© 2024-2026 G. Faccanoni 233


Annexe B. Exercices sur la Méthode de Gauss Dernière mise à jour : Mardi 30 septembre 2025

Exercice B.12
Soit le système linéaire
(
x 1 + x 2 − 2x 3 + 4x 4 = 6,
(S)
−3x 1 − 3x 2 + 6x 3 − 12x 4 = b.
1. Pour quelle valeur de b le système est-il possible ?
2. Donner à b la valeur trouvée au point précédent et calculer la solution complète du système.

Correction
(S) est équivalent au système
(
x 1 + x 2 − 2x 3 + 4x 4 = 6,
0 = b + 18.
1. (S) est possible si et seulement si b = −18.
2. Si b = −18, (S) admet une infinité de solutions dépendant de trois paramètres. Elles sont de la forme (x 1 , x 2 , x 3 , x 4 ) =
(6 − a + 2b − 4c, a, b, c) avec a, b, c ∈ R.

234 © 2024-2026 G. Faccanoni

Vous aimerez peut-être aussi