Intégrales multiples#

Le calcul intégral est l’instrument le plus puissant que l’esprit humain ait jamais forgé pour explorer les lois de la nature.

Pierre-Simon de Laplace

Introduction#

L’intégrale de Riemann en une variable permet de calculer des aires. En dimension supérieure, l’intégrale multiple calcule des volumes, des masses, des moments d’inertie. Ce chapitre développe l’intégrale de Riemann sur \(\mathbb{R}^n\), avec deux outils fondamentaux : le théorème de Fubini (qui réduit une intégrale multiple à des intégrales itérées) et le changement de variables (qui adapte le domaine d’intégration à la géométrie du problème).

Hide code cell source

import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from mpl_toolkits.mplot3d import Axes3D
from scipy import integrate

sns.set_theme(style="whitegrid", palette="muted", font_scale=1.1)

fig, axes = plt.subplots(3, 1, figsize=(9, 14))

# 1. Domaine type I : y entre phi1(x) et phi2(x)
x = np.linspace(0, np.pi, 300)
phi1 = np.zeros_like(x)
phi2 = np.sin(x)
axes[0].fill_between(x, phi1, phi2, alpha=0.4, color='steelblue', label='Type I : $D$')
axes[0].plot(x, phi2, 'steelblue', lw=2, label='$y=\\sin x$')
# Slice verticale
x0 = np.pi/3
axes[0].axvline(x0, color='tomato', lw=1.5, linestyle='--')
axes[0].annotate('', xy=(x0, np.sin(x0)), xytext=(x0, 0),
                 arrowprops=dict(arrowstyle='<->', color='tomato', lw=2))
axes[0].set_xlabel('$x$'); axes[0].set_ylabel('$y$')
axes[0].set_title('Domaine type I\n$\\int_0^\\pi \\int_0^{\\sin x} f\\,dy\\,dx$')
axes[0].legend()

# 2. Changement d'ordre d'integration : domaine triangulaire
x2 = np.linspace(0, 1, 300)
# Domaine {0 <= x <= y <= 1}
axes[1].fill_between([0, 1], [0, 1], [1, 1], alpha=0.4, color='tomato', label='intégrer $y$ en 1er')
axes[1].fill_between([0, 1], [0, 0], [0, 1], alpha=0.3, color='steelblue', label='intégrer $x$ en 1er')
axes[1].plot([0, 1], [0, 1], 'k-', lw=2)
axes[1].plot([0, 1], [1, 1], 'k-', lw=2)
axes[1].plot([0, 0], [0, 1], 'k-', lw=2)
# Domaine
axes[1].set_xlabel('$x$'); axes[1].set_ylabel('$y$')
axes[1].set_title('Changement d\'ordre\n$\\int_0^1\\int_x^1 e^{y^2}dy\\,dx = \\int_0^1\\int_0^y e^{y^2}dx\\,dy$')
axes[1].legend(fontsize=8)

# 3. Sommes de Darboux : convergence vers l'integrale
n_vals = [2, 4, 8, 16]
errors = []
true_val = np.pi  # aire du disque unite
for n in [4, 8, 16, 32, 64, 128]:
    # Approximation de l'aire du disque par sommes de Riemann
    x_g = np.linspace(-1, 1, n+1)
    y_g = np.linspace(-1, 1, n+1)
    dx = 2/n
    X_g, Y_g = np.meshgrid((x_g[:-1]+x_g[1:])/2, (y_g[:-1]+y_g[1:])/2)
    inside = X_g**2 + Y_g**2 <= 1
    approx = np.sum(inside) * dx**2
    errors.append(abs(approx - true_val))

axes[2].loglog([4, 8, 16, 32, 64, 128], errors, 'o-', color='steelblue', lw=2)
axes[2].loglog([4, 128], [1/4, 1/128], 'r--', alpha=0.6, label='$O(1/n)$')
axes[2].set_xlabel('Nombre de subdivisions $n$')
axes[2].set_ylabel('Erreur $|\\hat{A}_n - \\pi|$')
axes[2].set_title('Convergence des sommes de Riemann\nvers $\\pi$ (aire du disque)')
axes[2].legend()

plt.tight_layout()
plt.show()
_images/66e290fb31a31866843ad4ae7b4f8202dec7dcabb11955db3474458bf1c0028c.png

Intégrale double#

Définition 234 (Intégrale sur un pavé)

Soit \(P = [a_1, b_1] \times [a_2, b_2] \subset \mathbb{R}^2\) un pavé fermé et \(f : P \to \mathbb{R}\) une fonction bornée. On subdivise \(P\) en sous-pavés \(P_{ij}\) de dimensions \(\Delta x_i \times \Delta y_j\), et on forme les sommes de Darboux :

\[S^- = \sum_{i,j} m_{ij} \Delta x_i \Delta y_j \leq S^+ = \sum_{i,j} M_{ij} \Delta x_i \Delta y_j\]

\(m_{ij} = \inf_{P_{ij}} f\) et \(M_{ij} = \sup_{P_{ij}} f\).

\(f\) est intégrable sur \(P\) si \(\sup S^- = \inf S^+ =: \iint_P f(x, y) \, dx \, dy\).

Proposition 305

Toute fonction continue sur un pavé fermé \(P\) est intégrable sur \(P\).

Définition 235 (Intégrale sur un domaine borné)

Soit \(D \subset \mathbb{R}^2\) un domaine borné à frontière de mesure nulle (au sens de Jordan). Pour \(f : D \to \mathbb{R}\) continue, on pose

\[\iint_D f(x, y) \, dx \, dy = \iint_P \tilde{f}(x, y) \, dx \, dy\]

\(P\) est un pavé contenant \(D\) et \(\tilde{f}\) est le prolongement de \(f\) par \(0\) en dehors de \(D\).

L”aire du domaine \(D\) est \(\mathcal{A}(D) = \iint_D 1 \, dx \, dy\).

Théorème de Fubini#

Théorème 42 (Théorème de Fubini sur un pavé)

Soit \(f : [a_1, b_1] \times [a_2, b_2] \to \mathbb{R}\) continue. Alors

\[\iint_P f(x, y) \, dx \, dy = \int_{a_1}^{b_1} \left(\int_{a_2}^{b_2} f(x, y) \, dy\right) dx = \int_{a_2}^{b_2} \left(\int_{a_1}^{b_1} f(x, y) \, dx\right) dy\]

Proof. On montre que les deux membres définissent la même intégrale. Définissons \(F(x) = \int_{a_2}^{b_2} f(x, y) \, dy\). \(F\) est bien définie et continue par continuité de \(f\). On vérifie que \(\int_{a_1}^{b_1} F(x) \, dx\) coïncide avec la limite commune des sommes de Darboux de \(f\) sur \(P\), en utilisant le fait que les sommes de Darboux peuvent s’écrire comme itération de sommes 1D.

Remarque 124

Fubini permet de calculer une intégrale double comme deux intégrales simples itérées. L’ordre d’intégration peut être choisi librement sur un pavé, mais pas toujours sur un domaine quelconque (le changement d’ordre peut simplifier considérablement le calcul).

Théorème 43 (Fubini sur un domaine de type I ou II)

Type I : Si \(D = \{(x, y) : a \leq x \leq b, \; \varphi_1(x) \leq y \leq \varphi_2(x)\}\) avec \(\varphi_1, \varphi_2\) continues, alors

\[\iint_D f(x, y) \, dx \, dy = \int_a^b \left(\int_{\varphi_1(x)}^{\varphi_2(x)} f(x, y) \, dy\right) dx\]

Type II : Si \(D = \{(x, y) : c \leq y \leq d, \; \psi_1(y) \leq x \leq \psi_2(y)\}\) avec \(\psi_1, \psi_2\) continues, alors

\[\iint_D f(x, y) \, dx \, dy = \int_c^d \left(\int_{\psi_1(y)}^{\psi_2(y)} f(x, y) \, dx\right) dy\]

Exemple 121

Aire du disque unité : \(D = \{(x, y) : x^2 + y^2 \leq 1\}\). Type I : \(-1 \leq x \leq 1\), \(-\sqrt{1 - x^2} \leq y \leq \sqrt{1 - x^2}\).

\[\mathcal{A}(D) = \int_{-1}^{1} 2\sqrt{1 - x^2} \, dx = \pi\]

(calcul par substitution \(x = \sin\theta\), ou reconnaissance de la demi-aire du cercle unité).

Exemple 122

Changement d’ordre d’intégration :

\[I = \int_0^1 \int_x^1 e^{y^2} \, dy \, dx\]

Le domaine est \(D = \{0 \leq x \leq y \leq 1\}\) (triangle). En type II : \(0 \leq y \leq 1\), \(0 \leq x \leq y\).

\[I = \int_0^1 \int_0^y e^{y^2} \, dx \, dy = \int_0^1 y e^{y^2} \, dy = \frac{1}{2}\left[e^{y^2}\right]_0^1 = \frac{e - 1}{2}\]

Sans ce changement, \(\int e^{y^2} dy\) n’a pas de primitive élémentaire.

Changement de variables#

Théorème 44 (Formule de changement de variables)

Soit \(\Phi : U \to V\) un difféomorphisme de classe \(\mathcal{C}^1\) entre deux ouverts de \(\mathbb{R}^n\), et \(f : V \to \mathbb{R}\) intégrable. Alors

\[\int_V f(y) \, dy = \int_U f(\Phi(u)) \, |\det(J_\Phi(u))| \, du\]

\(J_\Phi(u)\) est la matrice jacobienne de \(\Phi\) et \(|\det(J_\Phi)|\) est le jacobien (en valeur absolue).

Proof. Le résultat se comprend géométriquement : le difféomorphisme \(\Phi\) envoie un petit pavé \(du\) autour de \(u\) sur un parallélépipède de volume \(|\det(J_\Phi(u))| \, du\) autour de \(\Phi(u)\). La formule traduit la conservation de l’intégrale lors de ce changement de variables.

La preuve rigoureuse procède par : (1) vérification pour des applications linéaires (déterminant = facteur de volume), (2) approximation locale par la différentielle, (3) passage à la limite par Fubini et subdivisions.

Remarque 125

Le jacobien \(|\det(J_\Phi)|\) mesure le facteur de dilatation locale des volumes par le changement de variables. En dimension 1 : \(\int_{\Phi(U)} f(y) \, dy = \int_U f(\Phi(u)) |\Phi'(u)| \, du\) (substitution usuelle).

Coordonnées polaires#

Proposition 306 (Coordonnées polaires dans \(\mathbb{R}^2\))

Le changement de variables \(\Phi(r, \theta) = (r\cos\theta, r\sin\theta)\) a pour jacobien

\[|\det(J_\Phi)| = r\]

Donc \(dx \, dy = r \, dr \, d\theta\).

Proof. $\(J_\Phi = \begin{pmatrix} \cos\theta & -r\sin\theta \\ \sin\theta & r\cos\theta \end{pmatrix}, \quad \det(J_\Phi) = r\cos^2\theta + r\sin^2\theta = r\)$

Exemple 123

Intégrale de Gauss : Calculons \(I = \int_{-\infty}^{+\infty} e^{-x^2} dx\).

On considère \(I^2 = \left(\int_{-\infty}^{+\infty} e^{-x^2} dx\right)\left(\int_{-\infty}^{+\infty} e^{-y^2} dy\right) = \iint_{\mathbb{R}^2} e^{-(x^2 + y^2)} dx \, dy\).

En coordonnées polaires (\(r \geq 0\), \(\theta \in [0, 2\pi[\)) :

\[I^2 = \int_0^{2\pi} \int_0^{+\infty} e^{-r^2} r \, dr \, d\theta = 2\pi \int_0^{+\infty} r e^{-r^2} dr = 2\pi \cdot \left[-\frac{1}{2}e^{-r^2}\right]_0^{+\infty} = 2\pi \cdot \frac{1}{2} = \pi\]

Donc \(I = \sqrt{\pi}\).

Cette intégrale est fondamentale en probabilités : \(\int_{-\infty}^{+\infty} \frac{1}{\sqrt{2\pi}} e^{-t^2/2} dt = 1\) (densité gaussienne standard).

Exemple 124

Moment d’ordre 2 de la gaussienne : \(\int_0^{+\infty} r^2 e^{-r^2} r \, dr = \int_0^{+\infty} r^3 e^{-r^2} dr\). Substitution \(u = r^2\) : \(= \frac{1}{2}\int_0^{+\infty} u e^{-u} du = \frac{1}{2}\Gamma(2) = \frac{1}{2}\).

Coordonnées cylindriques et sphériques#

Proposition 307 (Coordonnées cylindriques dans \(\mathbb{R}^3\))

\(\Phi(r, \theta, z) = (r\cos\theta, r\sin\theta, z)\), jacobien \(= r\).

\[dx \, dy \, dz = r \, dr \, d\theta \, dz\]

Utiles pour les domaines à symétrie de révolution autour de l’axe \(Oz\).

Proposition 308 (Coordonnées sphériques dans \(\mathbb{R}^3\))

\(\Phi(r, \theta, \varphi) = (r\sin\varphi\cos\theta, \; r\sin\varphi\sin\theta, \; r\cos\varphi)\) avec \(r \geq 0\), \(\theta \in [0, 2\pi[\), \(\varphi \in [0, \pi]\). Le jacobien est \(r^2 \sin\varphi\).

\[dx \, dy \, dz = r^2 \sin\varphi \, dr \, d\theta \, d\varphi\]

Proof. $\(J_\Phi = \begin{pmatrix} \sin\varphi\cos\theta & -r\sin\varphi\sin\theta & r\cos\varphi\cos\theta \\ \sin\varphi\sin\theta & r\sin\varphi\cos\theta & r\cos\varphi\sin\theta \\ \cos\varphi & 0 & -r\sin\varphi \end{pmatrix}\)$

En développant par rapport à la troisième ligne :

\[\begin{split}\det = \cos\varphi \cdot \det\begin{pmatrix}-r\sin\varphi\sin\theta & r\cos\varphi\cos\theta \\ r\sin\varphi\cos\theta & r\cos\varphi\sin\theta\end{pmatrix} + (-r\sin\varphi)\det\begin{pmatrix}\sin\varphi\cos\theta & -r\sin\varphi\sin\theta \\ \sin\varphi\sin\theta & r\sin\varphi\cos\theta\end{pmatrix}\end{split}\]
\[= \cos\varphi(-r^2\sin\varphi\cos\varphi\sin^2\theta - r^2\sin\varphi\cos\varphi\cos^2\theta) + (-r\sin\varphi)(r\sin^2\varphi\cos^2\theta + r\sin^2\varphi\sin^2\theta)\]
\[= -r^2\sin\varphi\cos^2\varphi - r^2\sin^3\varphi = -r^2\sin\varphi(\cos^2\varphi + \sin^2\varphi) = -r^2\sin\varphi\]

D’où \(|\det(J_\Phi)| = r^2\sin\varphi\) (car \(\sin\varphi \geq 0\) pour \(\varphi \in [0, \pi]\)).

Exemple 125

Volume de la boule unité :

\[V = \iiint_{x^2+y^2+z^2 \leq 1} dx \, dy \, dz = \int_0^1 \int_0^{2\pi} \int_0^{\pi} r^2 \sin\varphi \, d\varphi \, d\theta \, dr\]
\[= \int_0^1 r^2 \, dr \cdot \int_0^{2\pi} d\theta \cdot \int_0^{\pi} \sin\varphi \, d\varphi = \frac{1}{3} \cdot 2\pi \cdot 2 = \frac{4\pi}{3}\]

Exemple 126

Volume de la boule de rayon \(R\) dans \(\mathbb{R}^n\) : Le volume de \(B_n(R) = \{x \in \mathbb{R}^n : \|x\|_2 \leq R\}\) est

\[V_n(R) = \frac{\pi^{n/2}}{\Gamma(n/2 + 1)} R^n\]

\(\Gamma\) est la fonction gamma (\(\Gamma(n) = (n-1)!\) pour \(n\) entier). Pour \(n = 1\) : \(2R\), \(n = 2\) : \(\pi R^2\), \(n = 3\) : \(\frac{4\pi}{3}R^3\), \(n = 4\) : \(\frac{\pi^2}{2}R^4\).

Remarquablement, \(V_n(1) \to 0\) quand \(n \to +\infty\) : en grande dimension, la boule unité a un volume qui tend vers 0.

Hide code cell source

fig = plt.figure(figsize=(7, 18))

# 1. Coordonnees polaires : grille curviligne et element d'aire
ax1 = fig.add_subplot(311)
for ri in np.linspace(0.2, 2, 8):
    th = np.linspace(0, 2*np.pi, 300)
    ax1.plot(ri*np.cos(th), ri*np.sin(th), 'steelblue', alpha=0.4, lw=0.8)
for ti in np.linspace(0, 2*np.pi, 16, endpoint=False):
    rv = np.linspace(0, 2, 100)
    ax1.plot(rv*np.cos(ti), rv*np.sin(ti), 'tomato', alpha=0.4, lw=0.8)
# Element d'aire
r0, t0, dr, dt = 1.0, np.pi/4, 0.3, 0.35
cr = [r0, r0+dr, r0+dr, r0, r0]
ct = [t0, t0, t0+dt, t0+dt, t0]
cx = [r*np.cos(t) for r,t in zip(cr,ct)]
cy = [r*np.sin(t) for r,t in zip(cr,ct)]
ax1.fill(cx, cy, color='gold', alpha=0.8, label=f'aire $\\approx r\\Delta r\\Delta\\theta$')
ax1.annotate('$r\\,dr\\,d\\theta$', xy=(np.mean(cx[:4]), np.mean(cy[:4])),
             ha='center', fontsize=9, color='black')
ax1.set_aspect('equal'); ax1.set_xlim(-2.3, 2.3); ax1.set_ylim(-2.3, 2.3)
ax1.set_title('Grille polaire\n$dx\\,dy = r\\,dr\\,d\\theta$')
ax1.legend(fontsize=8)

# 2. Integrale de Gauss : visualisation
ax2 = fig.add_subplot(312, projection='3d')
r_g = np.linspace(0, 2.5, 50)
th_g = np.linspace(0, 2*np.pi, 80)
R_g, Th_g = np.meshgrid(r_g, th_g)
Xg = R_g * np.cos(Th_g)
Yg = R_g * np.sin(Th_g)
Zg = np.exp(-(Xg**2 + Yg**2))
ax2.plot_surface(Xg, Yg, Zg, cmap='viridis', alpha=0.8, rcount=40, ccount=40)
ax2.set_xlabel('$x$'); ax2.set_ylabel('$y$'); ax2.set_zlabel('$e^{-(x^2+y^2)}$')
ax2.set_title('Intégrale de Gauss\n$I^2 = \\iint e^{-(x^2+y^2)}dxdy = \\pi$')

# 3. Volume de la boule en dimension n
ax3 = fig.add_subplot(313)
n_vals = np.arange(1, 21)
from scipy.special import gamma as gamma_func
V_n = np.pi**(n_vals/2) / gamma_func(n_vals/2 + 1)
ax3.plot(n_vals, V_n, 'o-', color='steelblue', lw=2, markersize=6)
ax3.axhline(0, color='k', lw=0.7, linestyle='--')
ax3.set_xlabel('Dimension $n$'); ax3.set_ylabel('$V_n(1)$')
ax3.set_title('Volume de la boule unité en dim. $n$\n$V_n \\to 0$ quand $n \\to \\infty$')
ax3.set_yscale('log')

# Annoter les dimensions connues
for n, label in [(1, '2'), (2, '$\\pi$'), (3, '$4\\pi/3$')]:
    ax3.annotate(label, xy=(n, V_n[n-1]), xytext=(n+0.5, V_n[n-1]*2),
                 fontsize=9, color='tomato',
                 arrowprops=dict(arrowstyle='->', color='tomato', lw=1))

plt.show()
_images/7fe9ecea571222768f90522000651b86170d9e4f3b16ac9c08e7d5b45cab3538.png

Intégrales multiples en dimension \(n\)#

Définition 236 (Intégrale sur \(\mathbb{R}^n\))

Pour \(f : \mathbb{R}^n \to \mathbb{R}\) continue à support compact (ou intégrable au sens de Lebesgue), on définit

\[\int_{\mathbb{R}^n} f(x) \, dx = \int_{\mathbb{R}^n} f(x_1, \ldots, x_n) \, dx_1 \cdots dx_n\]

Théorème 45 (Fubini en dimension \(n\))

\[\int_{\mathbb{R}^n} f(x_1, \ldots, x_n) \, dx_1 \cdots dx_n = \int_\mathbb{R} \cdots \int_\mathbb{R} f(x_1, \ldots, x_n) \, dx_n \cdots dx_1\]

L’ordre des intégrales peut être permutée librement sous les hypothèses appropriées de convergence.

Remarque 126

Théorème de Tonelli : si \(f \geq 0\) mesurable, alors on peut permuter les intégrales même si l’intégrale vaut \(+\infty\).

Théorème de Fubini (Lebesgue) : si \(f\) est intégrable (i.e. \(\int |f| < +\infty\)), alors on peut permuter les intégrales.

Ces théorèmes nécessitent la théorie de Lebesgue. Dans le cadre \(\mathcal{C}^0\) sur des compacts, on a toujours le droit de permuter.

Propriétés de l’intégrale multiple#

Proposition 309 (Propriétés fondamentales)

Soit \(f, g\) intégrables sur \(D \subset \mathbb{R}^n\).

  • Linéarité : \(\int_D (\alpha f + \beta g) = \alpha \int_D f + \beta \int_D g\)

  • Positivité : Si \(f \geq 0\), alors \(\int_D f \geq 0\)

  • Monotonie : Si \(f \leq g\), alors \(\int_D f \leq \int_D g\)

  • Inégalité triangulaire : \(\left|\int_D f\right| \leq \int_D |f|\)

  • Additivité : Si \(D = D_1 \cup D_2\) avec \(D_1 \cap D_2\) de mesure nulle : \(\int_D f = \int_{D_1} f + \int_{D_2} f\)

Théorème 46 (Inégalité de la moyenne)

\[\left|\iint_D f(x,y)\,dx\,dy\right| \leq \|f\|_\infty \cdot \mathcal{A}(D)\]

Plus précisément, si \(m \leq f \leq M\) sur \(D\) :

\[m \cdot \mathcal{A}(D) \leq \iint_D f \leq M \cdot \mathcal{A}(D)\]

Applications#

Intégrales classiques par changement de variables#

Exemple 127

Volume du cône : \(D = \{(x,y,z) : x^2 + y^2 \leq (Rz/h)^2, \; 0 \leq z \leq h\}\). En cylindriques : \(0 \leq r \leq Rz/h\), \(0 \leq \theta \leq 2\pi\), \(0 \leq z \leq h\).

\[V = \int_0^h \int_0^{2\pi} \int_0^{Rz/h} r \, dr \, d\theta \, dz = 2\pi \int_0^h \frac{R^2 z^2}{2h^2} dz = 2\pi \cdot \frac{R^2}{2h^2} \cdot \frac{h^3}{3} = \frac{\pi R^2 h}{3}\]

Exemple 128

Intégrale sur l’ellipsoïde : \(\{x^2/a^2 + y^2/b^2 + z^2/c^2 \leq 1\}\). Substitution \((x, y, z) = (au, bv, cw)\), jacobien \(= abc\). Volume \(= \frac{4\pi}{3} abc\).

Centre de masse#

Définition 237 (Centre de masse)

Soit \(D \subset \mathbb{R}^n\) un domaine avec densité \(\rho : D \to \mathbb{R}_{>0}\). La masse est

\[M = \iint_D \rho(x, y) \, dx \, dy\]

Le centre de masse est le point \(G = (\bar{x}, \bar{y})\) avec

\[\bar{x} = \frac{1}{M} \iint_D x \, \rho(x, y) \, dx \, dy, \qquad \bar{y} = \frac{1}{M} \iint_D y \, \rho(x, y) \, dx \, dy\]

Exemple 129

Centre de masse du demi-disque : \(D = \{(x, y) : x^2 + y^2 \leq R^2, \; y \geq 0\}\), \(\rho = 1\). \(M = \pi R^2/2\). Par symétrie, \(\bar{x} = 0\).

\[\bar{y} = \frac{2}{\pi R^2} \iint_D y \, dx \, dy\]

En polaires (\(r \in [0,R]\), \(\theta \in [0, \pi]\)) :

\[\bar{y} = \frac{2}{\pi R^2} \int_0^R \int_0^{\pi} r\sin\theta \cdot r \, d\theta \, dr = \frac{2}{\pi R^2} \int_0^R r^2 \, dr \cdot \int_0^{\pi} \sin\theta \, d\theta = \frac{2}{\pi R^2} \cdot \frac{R^3}{3} \cdot 2 = \frac{4R}{3\pi}\]

Moments d’inertie#

Définition 238 (Moment d’inertie)

Le moment d’inertie d’un domaine \(D\) (densité \(\rho\)) par rapport à un axe est \(I = \iint_D d^2 \rho \, dA\), où \(d\) est la distance à l’axe.

  • Par rapport à \(Ox\) : \(I_x = \iint_D y^2 \rho \, dx \, dy\)

  • Par rapport à \(Oy\) : \(I_y = \iint_D x^2 \rho \, dx \, dy\)

  • Par rapport à l’origine : \(I_O = I_x + I_y = \iint_D (x^2 + y^2) \rho \, dx \, dy\)

Exemple 130

Moment d’inertie du disque : \(D = B(0,R)\), \(\rho = 1\), masse \(M = \pi R^2\).

\[I_O = \iint_D (x^2 + y^2) \, dx \, dy = \int_0^R \int_0^{2\pi} r^2 \cdot r \, d\theta \, dr = 2\pi \cdot \frac{R^4}{4} = \frac{\pi R^4}{2} = \frac{MR^2}{2}\]

Par symétrie \(I_x = I_y = MR^2/4\).

Hide code cell source

fig, axes = plt.subplots(3, 1, figsize=(9, 14))

# 1. Changement de variables : rectangle -> parallelogramme
ax = axes[0]
# Domaine en (u,v)
u_vals = np.array([0, 1, 1, 0, 0])
v_vals = np.array([0, 0, 1, 1, 0])
ax.fill(u_vals, v_vals, alpha=0.3, color='steelblue', label='Domaine $(u,v)$')
ax.plot(u_vals, v_vals, 'steelblue', lw=2)

# Phi: (u,v) -> (u + v/2, v)
def Phi(u, v):
    return u + 0.5*v, v

# Domaine image en (x,y)
x_corners = [Phi(u, v)[0] for u, v in zip(u_vals, v_vals)]
y_corners = [Phi(u, v)[1] for u, v in zip(u_vals, v_vals)]
ax2_c = ax.twinx()
ax2_c.set_ylim(ax.get_ylim())
ax.fill(x_corners, y_corners, alpha=0.3, color='tomato', label='Image $\\Phi(D)$')
ax.plot(x_corners, y_corners, 'tomato', lw=2)
ax.annotate('$\\Phi(u,v)=(u+v/2, v)$\n$|J_\\Phi|=1$',
            xy=(0.5, 0.5), fontsize=9, ha='center',
            bbox=dict(boxstyle='round', fc='white', alpha=0.7))
ax.set_xlabel('$x$ ou $u$'); ax.set_ylabel('$y$ ou $v$')
ax.set_title('Changement de variables :\nparallelogramme, $|J|=1$')
ax.legend(fontsize=8)

# 2. Centre de masse du demi-disque
ax = axes[1]
theta = np.linspace(0, np.pi, 300)
R = 2
ax.fill(np.concatenate([R*np.cos(theta), [-R, R]]),
        np.concatenate([R*np.sin(theta), [0, 0]]),
        alpha=0.3, color='steelblue')
ax.plot(R*np.cos(theta), R*np.sin(theta), 'steelblue', lw=2)
ax.plot([-R, R], [0, 0], 'steelblue', lw=2)

# Centre de masse
y_cm = 4*R/(3*np.pi)
ax.scatter([0], [y_cm], color='red', s=150, zorder=5, marker='*', label=f'$G=(0, 4R/3\\pi)$')
ax.axhline(y_cm, color='red', linestyle='--', alpha=0.5)
ax.annotate(f'$\\bar{{y}} = 4R/3\\pi \\approx {4*R/(3*np.pi):.3f}$', xy=(0.1, y_cm+0.05),
            fontsize=9, color='red')
ax.set_aspect('equal'); ax.set_xlim(-R-0.3, R+0.3); ax.set_ylim(-0.3, R+0.3)
ax.set_title('Centre de masse du demi-disque\n$\\rho=1$')
ax.legend(fontsize=8)

# 3. Coordonnées sphériques et élément de volume
ax = axes[2]
# Représentation 2D de la décomposition sphérique
r_s = np.linspace(0.5, 1, 3)
phi_s = np.linspace(np.pi/6, 5*np.pi/6, 8)
theta_fix = np.pi/4  # theta fixe, on trace dans le plan (r, phi)

for ri in r_s:
    ax.plot(ri*np.sin(phi_s), ri*np.cos(phi_s), 'steelblue', alpha=0.5, lw=1)
for pi_s in phi_s:
    ax.plot(r_s*np.sin(pi_s), r_s*np.cos(pi_s), 'tomato', alpha=0.5, lw=1)

# Element de volume r^2 sin(phi) dr d(theta) d(phi) dans le plan (r, phi)
r0, p0, dr_s, dp = 0.75, np.pi/3, 0.25, 0.3
cr_s = [r0, r0+dr_s, r0+dr_s, r0, r0]
cp = [p0, p0, p0+dp, p0+dp, p0]
cxs = [r*np.sin(p) for r,p in zip(cr_s, cp)]
cys = [r*np.cos(p) for r,p in zip(cr_s, cp)]
ax.fill(cxs, cys, color='gold', alpha=0.7, label='$r^2\\sin\\varphi\\,dr\\,d\\varphi$')
ax.set_xlabel('$r\\sin\\varphi$'); ax.set_ylabel('$r\\cos\\varphi$')
ax.set_title('Grille sphérique (coupe $\\theta=\\pi/4$)\n$dV = r^2\\sin\\varphi\\,dr\\,d\\theta\\,d\\varphi$')
ax.set_aspect('equal')
ax.legend(fontsize=8)

plt.tight_layout()
plt.show()

# Vérification numérique : volume de la boule, intégrale de Gauss
print("=== Vérifications numériques ===")
# Volume boule unite
vol_mc = np.mean(np.sum(np.random.randn(100000, 3)**2, axis=1) <= 1) * (2**3)
print(f"Volume boule unité (Monte Carlo, N=100k) : {vol_mc:.4f}  (exact : {4*np.pi/3:.4f})")

# Intégrale de Gauss
I_gauss, _ = integrate.quad(lambda x: np.exp(-x**2), -np.inf, np.inf)
print(f"Intégrale de Gauss : {I_gauss:.6f}  (exact : √π = {np.sqrt(np.pi):.6f})")

# Centre de masse demi-disque (R=1)
def integrand_y(y, x):
    return y
I_num, _ = integrate.dblquad(integrand_y, -1, 1,
                               lambda x: 0, lambda x: np.sqrt(1-x**2))
M = np.pi/2
print(f"Centre de masse demi-disque (y, R=1) : {I_num/M:.6f}  (exact : 4/3π = {4/(3*np.pi):.6f})")
_images/46388e623f9e9a3087aa1e3ac842e671798ef15125de9e1d612894b829609235.png
=== Vérifications numériques ===
Volume boule unité (Monte Carlo, N=100k) : 1.6106  (exact : 4.1888)
Intégrale de Gauss : 1.772454  (exact : √π = 1.772454)
Centre de masse demi-disque (y, R=1) : 0.424413  (exact : 4/3π = 0.424413)

Résumé#

Concept

Formule / Propriété

Fubini (type I)

\(\iint_D f = \int_a^b \int_{\varphi_1(x)}^{\varphi_2(x)} f \, dy \, dx\)

Changement d’ordre

Identifier le domaine \(D\) et redécrire en type I ou II

Changement de variables

\(\int_V f(y) \, dy = \int_U f(\Phi(u)) |\det J_\Phi| \, du\)

Polaires

\(dx \, dy = r \, dr \, d\theta\), jacobien \(= r\)

Cylindriques

\(dx \, dy \, dz = r \, dr \, d\theta \, dz\), jacobien \(= r\)

Sphériques

\(dx \, dy \, dz = r^2 \sin\varphi \, dr \, d\theta \, d\varphi\), jacobien \(= r^2\sin\varphi\)

Intégrale de Gauss

\(\int_{-\infty}^{+\infty} e^{-x^2} dx = \sqrt{\pi}\) (via polaires)

Volume boule \(\mathbb{R}^3\)

\(V = \frac{4}{3}\pi R^3\) (sphériques)

Volume boule \(\mathbb{R}^n\)

\(V_n(R) = \frac{\pi^{n/2}}{\Gamma(n/2+1)} R^n \to 0\) quand \(n \to \infty\)

Centre de masse

\(\bar{x} = \frac{1}{M}\iint x\rho \, dA\)

Moment d’inertie

\(I_O = \iint (x^2+y^2)\rho \, dA = I_x + I_y\)