Aller au contenu
\( \definecolor{colordef}{RGB}{249,49,84} \definecolor{colorprop}{RGB}{18,102,241} \)
Éducation Nationale Française · Première Technologie

Primitives et méthode d'Euler (STI2D, STL)

I Primitives d'une fonction
Définition — Primitive
Soit \(f\) une fonction définie sur un intervalle \(I\).
On appelle primitive de \(f\) sur \(I\) toute solution sur \(I\) de l'équation différentielle \(y' = f\) (une équation dont l'inconnue est une fonction, ici \(y' = f(x)\)) : une fonction \(F\), dérivable sur \(I\), telle que pour tout \(x \in I\) :$$ \textcolor{colordef}{F'(x) = f(x)}. $$
Exemple
Soit \(f(x) = 2\) sur \(\mathbb{R}\). La fonction \(F(x) = 2x\) est une primitive de \(f\) sur \(\mathbb{R}\) car \(F'(x) = 2 = f(x)\).
Compétences à pratiquer
  • Vérifier une primitive par dérivation
  • Démontrer qu'une fonction est une primitive sur un intervalle
II Deux primitives diffèrent d'une constante
Puisque la dérivée d'une constante est nulle, une fonction \(f\) n'a pas une primitive unique. Par exemple, si \(F(x) = x^2\) est une primitive de \(f(x)=2x\), alors \(G(x)=x^2+5\) est aussi une primitive, car \(G'(x) = 2x+0 = 2x\). Toutes les primitives d'une fonction ne diffèrent que par une constante.
Signaler une erreur
Proposition — Existence de primitives
Toute fonction continue sur un intervalle \(I\) admet des primitives sur \(I\) (une fonction continue sur un intervalle est une fonction dont la courbe se trace sans lever le crayon ; toutes les fonctions étudiées ici le sont). Ce résultat est admis ; sa démonstration relève du calcul intégral.
Proposition — Ensemble des primitives d'une même fonction
Si \(F\) est une primitive de \(f\) sur un intervalle \(I\), alors toute autre primitive \(G\) de \(f\) sur \(I\) est définie par :$$ \textcolor{colorprop}{G(x) = F(x) + C} \quad \text{où } C \in \mathbb{R} \text{ est une constante.} $$
Proposition — Caractérisation des fonctions constantes
Soit \(f\) une fonction dérivable sur un intervalle \(I\). Alors \(f\) est constante sur \(I\) si et seulement si \(f'(x) = 0\) pour tout \(x \in I\).
Le sens « \(f\) constante \(\Rightarrow\) \(f' = 0\) » est la dérivée d'une constante : tout taux de variation d'une fonction constante vaut \(0\), donc sa dérivée est nulle. La réciproque est admise. Elle exige que \(I\) soit un intervalle : la fonction égale à \(1\) sur \(]0\,;\,1[\) et à \(2\) sur \(]2\,;\,3[\) a une dérivée nulle en tout point où elle est définie, et pourtant elle n'est pas constante.
Signaler une erreur
Une lecture cinématique
Deux primitives d'une même fonction sur un intervalle diffèrent d'une constante. Ce résultat repose sur un fait admis ici : une fonction dont la dérivée est nulle en tout point d'un intervalle est constante sur cet intervalle. Le mouvement le rend naturel.
  • Soit \(x(t)\) la position, à l'instant \(t\), d'un mobile qui se déplace sur un axe : sa vitesse est \(x'(t)\). Si la vitesse est nulle à chaque instant d'un intervalle de temps, le mobile ne bouge pas pendant cet intervalle : sa position est constante.
  • Soit \(F\) et \(G\) deux primitives d'une même fonction \(f\) sur un intervalle \(I\). Elles se comportent comme les positions de deux mobiles qui se déplacent sur le même axe avec la même vitesse \(f(t)\) à chaque instant : l'écart \(G(t) - F(t)\) a pour dérivée \(f(t) - f(t) = 0\), il ne change donc pas. Il existe une constante \(C\) telle que \(G = F + C\) sur \(I\).
Sur un graphique, la courbe de \(G\) est la courbe de \(F\) translatée verticalement de \(C\). L'intervalle compte : pour \(x \mapsto \dfrac{1}{x^2}\), qui admet des primitives sur \(]-\infty \,;\, 0[\) et sur \(]0 \,;\, +\infty[\), la constante peut être différente sur chacun des deux intervalles.
Signaler une erreur
Le champ de pentes de \(y' \equal f(x)\)
Pour l'équation \(y' = f(x)\), la pente d'une courbe solution au point \((x \,;\, y)\) vaut \(f(x)\). Le champ de pentes représente cette information : en chaque point \((x \,;\, y)\) d'une grille, on trace un petit segment de pente \(f(x)\).
  • La pente ne dépend que de \(x\) : les segments d'une même verticale sont parallèles.
  • Une courbe solution, c'est-à-dire la courbe d'une primitive de \(f\), suit les segments : en chacun de ses points, sa tangente a la pente du champ.
  • Déplacer une courbe solution verticalement conserve sa pente en chaque abscisse : la courbe translatée suit encore le champ. Toutes les courbes solutions se déduisent de l'une d'elles par une translation verticale : c'est le fait que deux primitives d'une même fonction sur un intervalle diffèrent d'une constante, vu sur le dessin.
Pour \(y' = x\), les courbes de \(x \mapsto \dfrac{x^2}{2}\) et de \(x \mapsto \dfrac{x^2}{2} - 2\) suivent le même champ ; la seconde est la première translatée verticalement de \(-2\).
Illustration
Signaler une erreur
Proposition — Condition initiale
Soit \(f\) une fonction continue sur \(I\), et soient \(x_0 \in I\) et \(y_0 \in \mathbb{R}\).
Alors il existe une unique primitive \(F\) de \(f\) sur \(I\) telle que \(F(x_0) = y_0\).
L'importance des conditions initiales
Mises bout à bout, les propositions sur l'existence des primitives, sur l'ensemble des primitives et sur la condition initiale donnent le fait suivant : si \(f\) est continue sur un intervalle \(I\), alors l'équation différentielle $$ y' = f(x) $$ admet une infinité de solutions sur \(I\) (elles diffèrent d'une constante), et une condition initiale \(y(x_0)=y_0\), avec \(x_0 \in I\) et \(y_0 \in \mathbb{R}\), permet d'en sélectionner une seule et unique.
C'est un exemple simple d'une idée omniprésente en physique classique : de nombreuses lois s'écrivent sous forme d'équations différentielles, et la condition initiale précise l'état du système à un instant donné.
  • L'équation différentielle représente la loi (comment l'état évolue).
  • La condition initiale représente l'état initial (d'où part l'évolution).
Lorsque le modèle vérifie un théorème d'existence et d'unicité, la connaissance de la loi et de l'état initial détermine une trajectoire unique. Par exemple, dans un modèle idéalisé du mouvement, connaître la position et la vitesse initiales permet de prévoir l'évolution du mouvement.
Signaler une erreur
Exemple — Application physique : la chute d'une pomme
On considère une pomme qui tombe d'un arbre. Soit \(v(t)\) sa vitesse à l'instant \(t\), mesurée sur un axe vertical orienté vers le haut ; on néglige la résistance de l'air. D'après la seconde loi de Newton, la dérivée de la vitesse est alors l'accélération de la pesanteur, constante :$$ v'(t) = -g \quad (\text{où } g \approx 9{,}8 \text{ m/s}^2) $$ La fonction vitesse \(v\) est une primitive de la fonction constante \(f(t) = -g\).
  1. Déterminer la forme générale de la vitesse \(v(t)\).
  2. Si la pomme est lâchée de l'arbre sans vitesse initiale à \(t=0\), on a \(v(0) = 0\). Déterminer l'unique fonction vitesse.
Illustration

  1. Les primitives de \(-g\) sont de la forme \(v(t) = -gt + C\).
  2. D'après la condition initiale : \(v(0) = -g(0) + C = 0 \implies C = 0\).
    L'unique solution est \(v(t) = -gt\).

Compétences à pratiquer
  • Définir et identifier les primitives
  • Reconnaître une fonction constante par sa dérivée
  • Tracer un champ de pentes
III Calculer des primitives
Calculer une primitive, c'est faire l'opération inverse de la dérivation : on cherche une fonction dont la dérivée est la fonction donnée. Comme pour les dérivées, il existe des règles pour les sommes, les produits par une constante et certaines compositions.
Illustration
Signaler une erreur
Proposition — Opérations sur les primitives
Soient \(f\) et \(g\) deux fonctions continues sur un intervalle \(I\).
Si \(F\) et \(G\) sont des primitives respectives de \(f\) et \(g\), alors :
  • Somme : \(F + G\) est une primitive de \(f + g\).
  • Produit par une constante : \(\alpha F\) est une primitive de \(\alpha f\) (où \(\alpha \in \mathbb{R}\)).
Proposition — Primitives des puissances et des signaux sinusoïdaux
Soit \(n\) un entier naturel, et \(A\), \(\omega\), \(\varphi\) des réels avec \(\omega \neq 0\). Sur l'intervalle indiqué, chaque fonction ci-dessous admet la primitive donnée ; toutes ses primitives sur cet intervalle s'obtiennent en ajoutant une constante \(C\).
Fonction Une primitive Intervalle
\(x \mapsto x^n\) \(x \mapsto \frac{x^{n+1}}{n+1}\) \(\mathbb{R}\)
\(x \mapsto \frac{1}{x^2}\) \(x \mapsto -\frac{1}{x}\) \(]-\infty \,;\, 0[\) ou \(]0 \,;\, +\infty[\)
\(t \mapsto \cos t\) \(t \mapsto \sin t\) \(\mathbb{R}\)
\(t \mapsto \sin t\) \(t \mapsto -\cos t\) \(\mathbb{R}\)
\(t \mapsto A\cos(\omega t + \varphi)\) \(t \mapsto \frac{A}{\omega}\sin(\omega t + \varphi)\) \(\mathbb{R}\)
\(t \mapsto A\sin(\omega t + \varphi)\) \(t \mapsto -\frac{A}{\omega}\cos(\omega t + \varphi)\) \(\mathbb{R}\)

Chaque ligne se vérifie en dérivant la deuxième colonne ; la dérivée de \(t \mapsto g(\omega t + \varphi)\) est \(t \mapsto \omega\, g'(\omega t + \varphi)\), et \(\omega \neq 0\) permet de diviser par \(\omega\). $$\begin{aligned}[t] \left(\frac{x^{n+1}}{n+1}\right)' &= \frac{(n+1)\,x^{n}}{n+1} = x^n && \text{(} (x^m)' = m\,x^{m-1}\text{)}\\ \left(-\frac{1}{x}\right)' &= -\left(-\frac{1}{x^2}\right) = \frac{1}{x^2} && \text{(} \left(\tfrac{1}{x}\right)' = -\tfrac{1}{x^2}\text{)}\\ (\sin t)' &= \cos t, \qquad (-\cos t)' = \sin t && \text{(dérivées du sinus et du cosinus)}\\ \left(\frac{A}{\omega}\sin(\omega t + \varphi)\right)' &= \frac{A}{\omega} \times \omega\cos(\omega t + \varphi) = A\cos(\omega t + \varphi) && \text{(} g = \sin\text{)}\\ \left(-\frac{A}{\omega}\cos(\omega t + \varphi)\right)' &= -\frac{A}{\omega} \times \left(-\omega\sin(\omega t + \varphi)\right) = A\sin(\omega t + \varphi) && \text{(} g = \cos\text{)} \end{aligned}$$

Exemple
Déterminer une primitive de \(f(x)=2x+3\).

On utilise la propriété de linéarité pour déterminer la primitive de chaque terme séparément.
  • Une primitive de \(2x\) est \(2 \cdot \dfrac{x^2}{2} = x^2\).
  • Une primitive de \(3\) est \(3x\).
En les combinant, une primitive de \(f(x)=2x+3\) est \(F(x) = x^2+3x\).

Exemple
Déterminer une primitive de \(f(x)=\frac{1}{x^2}\).

D'abord, on réécrit la fonction en utilisant un exposant négatif : \(f(x)=x^{-2}\).
Une primitive de la fonction puissance \(f(x)=x^n\) (pour \(n\neq -1\)) est \(F(x)=\dfrac{x^{n+1}}{n+1}\). Avec \(n=-2\), on obtient : $$\begin{aligned} F(x) &= \frac{x^{-2+1}}{-2+1} \\ &= \frac{x^{-1}}{-1} \\ &= -\frac{1}{x}\end{aligned}$$

Exemple
Déterminer une primitive de chacune des fonctions suivantes sur \(\mathbb{R}\).
  1. \(f(x) = 4x^3 - 6x + 2\).
  2. \(u(t) = 3\cos(100\pi t)\).
  3. \(v(t) = 2\sin\left(4t - \dfrac{\pi}{3}\right)\).

  1. $$\begin{aligned}[t] F(x) &= 4 \times \frac{x^4}{4} - 6 \times \frac{x^2}{2} + 2x && \text{(ligne } x^n\text{, et linéarité)}\\ &= x^4 - 3x^2 + 2x.\end{aligned}$$
  2. Ici \(A = 3\), \(\omega = 100\pi\) et \(\varphi = 0\) : \(U(t) = \dfrac{3}{100\pi}\sin(100\pi t)\).
  3. Ici \(A = 2\), \(\omega = 4\) et \(\varphi = -\dfrac{\pi}{3}\) : $$\begin{aligned}[t] V(t) &= -\frac{2}{4}\cos\left(4t - \frac{\pi}{3}\right) && \text{(ligne } A\sin(\omega t + \varphi)\text{)}\\ &= -\frac{1}{2}\cos\left(4t - \frac{\pi}{3}\right).\end{aligned}$$ Vérification : \(V'(t) = -\dfrac{1}{2} \times \left(-4\sin\left(4t - \dfrac{\pi}{3}\right)\right) = 2\sin\left(4t - \dfrac{\pi}{3}\right) = v(t)\).

Compétences à pratiquer
  • S'entraîner sur les règles des primitives
  • Trouver des primitives
  • Déterminer une primitive vérifiant une condition initiale
  • Déterminer des primitives de signaux sinusoïdaux
  • Utiliser des primitives en situation
IV Méthode d'Euler
Lorsqu'une équation différentielle ne peut pas être résolue par une formule explicite, on peut approcher sa solution par des méthodes numériques. La méthode d'Euler est la plus simple : elle construit une ligne brisée dont chaque segment suit la pente donnée par l'équation au point calculé.
La méthode s'applique à une équation qui donne la valeur de \(y'\) en tout point \((x ; y)\), par exemple \(y' = f(x)\), où cette valeur est \(f(x)\), ou \(y' = ay + b\), où elle vaut \(ay + b\). Avec une condition initiale \(y(x_0) = y_0\), elle part du point \((x_0 ; y_0)\) et procède par étapes. On fixe un petit pas constant \(h\). L'abscisse de chaque nouveau point s'obtient en ajoutant ce pas : \(x_{n+1} = x_n + h\).
L'idée de la méthode est de remplacer la dérivée \(y'\) par la pente du segment reliant deux points consécutifs, \((x_n ; y_n)\) et \((x_{n+1} ; y_{n+1})\) : $$ y' \text{ en } (x_n ; y_n) \approx \dfrac{y_{n+1} - y_n}{x_{n+1} - x_n} = \dfrac{y_{n+1} - y_n}{h}. $$ L'équation différentielle donne la pente de la courbe solution qui passe par un point quelconque ; au point calculé \((x_n ; y_n)\), cette pente est la valeur de \(y'\) que l'équation y donne : \(f(x_n)\) pour \(y' = f(x)\), \(ay_n + b\) pour \(y' = ay + b\). En la prenant comme pente du segment suivant : $$ \dfrac{y_{n+1} - y_n}{h} \approx \text{valeur de } y' \text{ en } (x_n ; y_n). $$ En remplaçant \(\approx\) par \(=\), on définit la valeur calculée suivante \(y_{n+1}\) : $$ y_{n+1} = y_n + h \times (\text{valeur de } y' \text{ en } (x_n ; y_n)). $$ Chaque valeur calculée \(y_n\) est une valeur approchée de la valeur exacte \(y(x_n)\). Les segments ainsi construits, mis bout à bout, forment une ligne brisée qui approche la courbe solution.
Illustration
Signaler une erreur
Méthode — Méthode d'Euler
Pour approcher la solution d'une équation différentielle avec la condition initiale \(y(x_0) = y_0\) et un pas \(h > 0\), on obtient les coordonnées du point suivant \((x_{n+1} ; y_{n+1})\) à partir du point précédent \((x_n ; y_n)\) par les formules itératives : $$ \begin{cases} x_{n+1} = x_n + h, \\ y_{n+1} = y_n + h \times (\text{valeur de } y' \text{ en } (x_n ; y_n)), \end{cases} $$ où la valeur de \(y'\) en \((x_n ; y_n)\) est donnée par l'équation différentielle :
  • pour \(y' = f(x)\) : \(y_{n+1} = y_n + h\,f(x_n)\) ;
  • pour \(y' = ay + b\) : \(y_{n+1} = y_n + h\,(ay_n + b)\).
Le calcul est le même pour toute équation qui donne \(y'\) en fonction de \(x\) et de \(y\) : on isole \(y'\), puis on remplace \(x\) par \(x_n\) et \(y\) par \(y_n\). Par exemple, pour \(y' = x - y\) : \(y_{n+1} = y_n + h\,(x_n - y_n)\).
Exemple
On considère l'équation différentielle \(y' = -2x\) avec la condition initiale \(y(0)=3\).
  1. À l'aide de la méthode d'Euler avec un pas \(h=0{,}5\), déterminer une valeur approchée de \(y(1)\).
  2. En déterminant une primitive, déterminer la solution particulière \(y(x)\).
  3. Calculer l'erreur relative de la valeur approchée obtenue à la question 1, c'est-à-dire l'écart entre la valeur approchée et la valeur exacte, en pourcentage de la valeur exacte.
  4. La valeur approchée de la question 1 est-elle une surestimation ou une sous-estimation ? Justifier en la comparant à la valeur exacte, puis l'expliquer par la façon dont la pente \(y' = -2x\) varie sur \([0 \,;\, 1]\).

  1. On part de \((x_0 ; y_0)=(0 ; 3)\) avec \(h=0{,}5\). L'équation donne la valeur de \(y'\) en \((x_n ; y_n)\) : c'est \(-2x_n\), donc \(y_{n+1} = y_n + h \cdot (-2x_n)\).
    • Étape 1 : \(y_1 = y_0 + h \cdot (-2x_0) = 3 + 0{,}5(-2\cdot 0) = 3\). Donc \(y(0{,}5) \approx 3\).
    • Étape 2 : \(y_2 = y_1 + h \cdot (-2x_1) = 3 + 0{,}5(-2\cdot 0{,}5) = 3 - 0{,}5 = 2{,}5\).
    La valeur approchée est \(y(1) \approx 2{,}5\).
  2. Une primitive de \(-2x\) est \(-x^2\), donc \(y(x) = -x^2 + C\). La condition initiale \(y(0)=3\) donne \(C=3\), d'où \(y(x) = 3 - x^2\).
  3. La valeur exacte est \(y_{\text{exact}} = 3 - 1^2 = 2\). La valeur approchée est \(y_{\text{approx}} = 2{,}5\). L'erreur relative est $$ \text{Erreur} = \left|\frac{2 - 2{,}5}{2}\right| \times 100\pourcent = 25\pourcent. $$
  4. \(2{,}5 > 2\) : la valeur approchée est une surestimation. Explication : la pente \(y' = -2x\) décroît sur \([0 \,;\, 1]\), et chaque pas d'Euler avance avec la pente au début du pas, la plus grande sur ce pas ; la ligne brisée descend donc moins que la courbe et reste au-dessus d'elle.

Méthode — La méthode d'Euler en Python
Comme chaque nouveau point ne dépend que du précédent, l'itération s'automatise facilement. La fonction ci-dessous applique la relation de récurrence \(n\) fois et renvoie la dernière valeur approchée, ici pour l'équation \(y' = -2x\). La fonction Python f(x, y) renvoie la valeur de \(y'\) que donne l'équation au point \((x ; y)\) : ici \(-2x\), qui ne dépend pas de \(y\).
def f(x, y):
    return -2 * x

def euler(x0, y0, h, n):
    x, y = x0, y0
    for k in range(n):
        y = y + h * f(x, y)
        x = x + h
    return y
L'appel euler(0, 3, 0.5, 2) renvoie \(2{,}5\) : en partant de \((0 ; 3)\), le premier pas laisse \(y = 3\), car la pente \(-2x\) est nulle en \(x = 0\) ; le second donne \(3 + 0{,}5 \times (-1) = 2{,}5\), valeur approchée de \(y(1)\). En rangeant chaque couple \((x ; y)\) dans une liste à l'intérieur de la boucle, on obtient les points successifs de la ligne brisée, prêts à être tracés.
Exemple — La méthode d'Euler pour une primitive hors de portée
La fonction \(f : t \mapsto \dfrac{1}{1 + t^2}\) est continue sur \(\mathbb{R}\), elle admet donc des primitives (toute fonction continue sur un intervalle en admet, résultat admis) ; pourtant aucune des dérivées rencontrées jusqu'ici ne lui est égale, si bien qu'aucune primitive ne se lit à l'envers dans un tableau de dérivées. Cela ne veut pas dire qu'aucune formule n'existe — il en existe une, rencontrée plus tard —, mais aucun des outils disponibles ne la donne. Soit \(F\) la primitive de \(f\) telle que \(F(0) = 0\) : c'est la solution du problème de Cauchy \(y' = \dfrac{1}{1 + t^2}\), \(y(0) = 0\).
  1. Avec le pas \(h = 0{,}5\), la méthode d'Euler construit les points \((t_n \,;\, y_n)\) à partir de \((t_0 \,;\, y_0) = (0 \,;\, 0)\) par \(t_{n+1} = t_n + h\) et \(y_{n+1} = y_n + h\,f(t_n)\). Les calculer jusqu'à \(t_4 = 2\).
  2. Placer ces points et les relier.
  3. Un programme appliquant la même méthode donne, pour la valeur en \(2\), environ \(1{,}1470\) avec \(h = 0{,}1\) et environ \(1{,}1075\) avec \(h = 0{,}001\). Que suggèrent ces valeurs ?

  1. Ici la valeur de \(y'\) en \((t_n \,;\, y_n)\) est \(f(t_n) = \dfrac{1}{1 + t_n^2}\) : elle ne dépend pas de \(y_n\).
    \(n\) \(0\) \(1\) \(2\) \(3\) \(4\)
    \(t_n\) \(0\) \(0{,}5\) \(1\) \(1{,}5\) \(2\)
    \(f(t_n)\) \(1\) \(0{,}8\) \(0{,}5\) \(\approx 0{,}3077\) —
    \(y_n\) \(0\) \(0{,}5\) \(0{,}9\) \(1{,}15\) \(\approx 1{,}3038\)
    Par exemple $$\begin{aligned}[t] y_1 &= 0 + 0{,}5 \times f(0) = 0 + 0{,}5 \times 1 = 0{,}5\\ y_2 &= 0{,}5 + 0{,}5 \times f(0{,}5) = 0{,}5 + 0{,}5 \times 0{,}8 = 0{,}9\\ y_4 &= 1{,}15 + 0{,}5 \times f(1{,}5) = 1{,}15 + \frac{0{,}5}{3{,}25} \approx 1{,}3038.\end{aligned}$$ Avec le pas \(h = 0{,}5\) : \(F(2) \approx 1{,}30\).
  2. La ligne brisée (Euler, \(h = 0{,}5\)) et, pour comparer, la courbe de \(F\), tracée par un ordinateur (à cette échelle, les points de la méthode d'Euler avec le pas \(h = 0{,}001\) ne s'en distinguent pas) :
    Illustration
  3. Les valeurs diminuent quand le pas diminue : \(1{,}304\), puis \(1{,}147\), puis \(1{,}1075\). Elles suggèrent que les approximations descendent vers \(F(2)\), proche de \(1{,}107\). Chaque pas utilise la pente \(f(t_n)\) du début du pas ; comme \(f\) décroît sur \([0 \,;\, 2]\), c'est la plus grande pente du pas, donc la ligne brisée monte plus vite que la courbe : ici la méthode d'Euler surestime. Sans formule disponible pour \(F\), la méthode en donne des valeurs approchées.

Compétences à pratiquer
  • Approcher une primitive par la méthode d'Euler
V Pour aller plus loin
Compétences à pratiquer
  • Problèmes
  • Quiz