Rappels des chapitres "Primitives" et "Intégration"¶
Une correction des exercices est proposée en fin de document mais elle ne doit être utilisée qu'en dernier recours, si les calculs n'aboutissent pas...
Définition 1 : Soit $f$ une fonction définie sur un intervalle $I$.
On appelle primitive de $f$ sur $I$ toute fonction $F$ définie sur $I$ telle que $F$ soit dérivable sur $I$ avec $F'=f$.
** Théorème 1 :** Toute fonction continue sur $I$ admet une primitive sur cet intervalle [Admis].
** Proposition 1 :** Soit $f$ une fonction continue sur $I$ (éventuellement par morceaux) et $F$ une primitive de $f$ sur $I$.
Alors l'ensemble des primitives de $f$ sur $I$ est : $\{F+c,c\in\mathbb{R}\}$.
Proposition 2 : Soit $f$ une fonction continue sur $I$ et $F$ une primitive de $f$ sur $I$.
Alors $F$ est une fonction de classe $\mathcal{C}^1$ sur $\mathbb{R}$.
Par ailleurs, si $f$ est positive sur $I$ alors $F$ est croissante sur $I$.
Définition 2 : Soit $f$ une fonction continue sur un segment $[a,b]$.
On appelle intégrale de $f$ de $a$ à $b$ le réel : $$\displaystyle\int_a^bf(t)dt=F(b)-F(a)$$
où $F$ est une primitive de $f$.
Théorème 2 : Soit $f$ une fonction continue sur un intervalle $I$. Pour tout $a\in I$, la fonction $F$ définie sur $I$ par : $$F(x)=\displaystyle\int_a^xf(t)dt$$ est l'unique primitive de $f$ qui s'annule en $a$.
Définition 3 (Intégrale d'une fonction continue par morceaux) : Soient $a<b$ deux réels et $f$ une fonction continue par morceaux sur $[a,b]$.
Soit une subdivision $\mathcal{S}=\{x_0,x_1,\cdots,x_n\}$ telle que $a=x_0<x_1<\cdots<x_{n-1}<x_n=b$ avec $f$ continue sur $]x_k,x_{k+1}[$, admettant une limite finie à gauche et à droite en $x_k$ et une limite finie a droite en $a$, une limite finie à gauche en $b$.
Alors :
$$\displaystyle\int_a^bf(t)dt=\displaystyle\sum_{k=0}^{n-1}\displaystyle\int_{x_k}^{x_{k+1}}f(t)dt$$
Définition 4 (le cas des subdivisions régulières) : Soit $f$ une fonction continue sur un intervalle $[a,b]$.
On appellera subdivision régulière de l'intervalle $[a,b]$ la suite $\sigma=(c_k)_{k\geq 0}$ définie par $c_k=a+k\cfrac{b-a}{n}$ où $h=\cfrac{b-a}{n}$ désigne son pas. On note que $c_0=a$, $c_n=b$.
Alors, d'après la relation de Chasles : $$I = \displaystyle\int_a^bf(t)dt=\displaystyle\sum_{k=0}^{n-1}\displaystyle\int_{c_k}^{c_{k+1}}f(t)dt$$
La méthode au programme utilise les Sommes de Riemann et est aussi appelée Méthode des rectangles.
Le cas de l'intervalle $I=[0,1]$ :
On considère la subdivision régulière $\sigma=(c_k)_{k\geq 0}$ définie par $c_k=0+k\cfrac{1-0}{n}=\cfrac{k}{n}$ où $h=\cfrac{1}{n}$ désigne son pas.
Alors, en approximant $f$, sur l'intervalle $[c_k,c_{k+1}]$ par la fonction constante égale à $f(c_{k})$, on obtient d'après la définition 4 :
Le cas de l'intervalle $I=[a,b]$ :
On considère la subdivision régulière $\sigma=(c_k)_{k\geq 0}$ définie par $c_k=a+k\cfrac{b-a}{n}$ où $h=\cfrac{b-a}{n}$ désigne son pas.
Alors, en approximant $f$, sur l'intervalle $[c_k,c_{k+1}]$ par la fonction constante égale à $f(c_{k})$, on obtient d'après la définition 4 :
Pour obtenir une approximation numérique de l'intégrale entre $a$ et $b$ d'une fonction $f$ continue sur $I=[a,b]$, on prendra $n$ suffisamment grand pour pouvoir écrire : $$I\approx\cfrac{b-a}{n}\displaystyle\sum_{k=0}^{n-1}f(c_k)$$ où $$c_k=a+k\cfrac{b-a}{n}\quad 0\leq k\leq n$$
On commence par importer les bibliothèques utiles :
# ATTENTION : cette cellule n'est à exécuter que si on utilise JUPYTER.
# Elle ne sera donc pas exécutée avec "colab.resarch.google.com" sans quoi les figures ne s'afficheront pas.
%matplotlib inline
%matplotlib notebook
import numpy as np
import matplotlib.pyplot as plt
On traduit alors algorithmiquement la formule précédente en quelques lignes :
h = (b-a)/n # Création du pas de la subdivision
subdivision = np.arange(a,b,h) # On créé la subdivision = {a,a+h,a+2h,...,a+(n-1)h}
S = f(subdivision) # on calcule les f(ck) pour tout ck dans la subdivision
I = h*np.sum(S) # calcul de la valeur approchée de l'intégrale
Ce qui donne :
def IntMethRectangle(f,a,b,n):
# retourne une valeur approchée de l'intégrale de f entre a et b avec h = (b-a)/n
h=(b-a)/n
subd = np.arange(a,b,h) # réels de a à b (exclus) séparés par un pas de 'h'
S =f(subd) # valeurs de f en chaque point de la subdivision
plt.bar(subd,S,h,alpha=0.4,align='edge') # tracé des rectangles (non centrés sur la subd.)
X = np.linspace(a,b,100)
plt.plot(X,f(X),'r-') # tracé de la courbe de f sur [a,b]
return h*np.sum(S)
Ensuite, il n'y a plus qu'à essayer avec différentes fonctions $f$ continues sur $[a,b]$ et différentes valeurs de $n$ :
f = lambda x:np.exp(x)
I = IntMethRectangle(f,0,np.pi/2,25)
print('une valeur approchée de I vaut : ',I)
** A faire : ** Modifier la cellule de code précédente en modifiant les valeurs de $n$ et vérifier manuellement que la limite vaut $$I=\displaystyle\int_0^{\pi}\sin(t)dt=\left[-\cos(t)\right]_0^{\pi}=2$$ Essayez aussi avec d'autres fonctions de votre choix sur des intervalles variés !
REMARQUE : Python dispose d'une bibliothèque qui dispose de fonctions permettant d'obtenir directement une approximation d'une intégrale donnée.
Il s'agit du module integrate
de la bibliothèque scipy
.
Pour l'utiliser, on pourra écrire :
from scipy import integrate
help(integrate.quad)
R = integrate.quad(f,0,np.pi/2) # approximation numérique de l'intégrale de f sur [0,pi/2]
print(R) # R[0] donne la valeur approchée de I et R[1] donne l'erreur commise
Dans chacun des quatre exercices à suivre, déterminer une primitive $F$ des fonctions $f$ suivantes et valider votre réponse en calculant l'intégrale sur l'intervalle $I=[a,b]$ de trois manière distinctes :
a) en calculant $F(b)-F(a)$
b) en utilisant la fonction IntMethRectangle(f,a,b,n)
c) en utilisant la méthode quad()
de la bibliothèque scipy.integrate
.
Remarque : A titre d'exercice, on pourra faire l'étude de ces fonctions (ensemble de définition, continuité et dérivabilité, parité, tableau de variation et allure) et on s'entraînera à utiliser Geogebra pour obtenir rapidement une représentation graphique.
f = lambda x:... # à compléter (par exemple pour 1. : f = lambda x:3*x-1)
F = lambda x:... # a compléter (pour 1. : F = lambda x:(3/2)*x**2-x)
a,b = ... # à compléter (pour 1. a,b = 0,2)
I1 = F(b)-F(a)
I2 = IntMethRectangle(f,a,b,1e3)
R = integrate.quad(f,a,b)
I3 = R[0]
print(I1,I2,I3)
f = lambda x:... # à compléter (par exemple pour 1. : f = lambda x:1/(x**2-1))
F = lambda x:... # a compléter
a,b = ... # à compléter
I1 = F(b)-F(a)
I2 = IntMethRectangle(f,a,b,1e3)
R = integrate.quad(f,a,b)
I3 = R[0]
print(I1,I2,I3)
$f(x)=xe^x$, $I=[-1,1]$
$f(x)=\cfrac{\arctan(x)}{x^2}$, $I=[1/2,3]$
$f(x)=\ln(x+\sqrt{x^2-1})$, $I=[1,5]$
$f(x)=\arctan(\sqrt{x})$, $I=[0,2]$
f = lambda x:... # à compléter (par exemple pour 1. : f = lambda x:x*np.exp(x))
F = lambda x:... # a compléter
a,b = ... # à compléter
I1 = F(b)-F(a)
I2 = IntMethRectangle(f,a,b,1e3)
R = integrate.quad(f,a,b)
I3 = R[0]
print(I1,I2,I3)
f = lambda x:... # à compléter (par exemple pour 1. : f = lambda x:x*np.exp(x))
F = lambda x:... # a compléter
a,b = ... # à compléter
I1 = F(b)-F(a)
I2 = IntMethRectangle(f,a,b,1e3)
R = integrate.quad(f,a,b)
I3 = R[0]
print(I1,I2,I3)
- $F(x)=3x^2/2-x$
- $F(x)= \cfrac{3}{2}\ln(|x|)$
- $F(x)= \cfrac{\sin(2x)}{6}$
- $F(x)=\cfrac{(x^2+x+1)^3}{3}$
- $F(x)=\cfrac{2}{3}\sqrt{x^3-3x+1}$
- $F(x)=\cfrac{1}{6}\ln(1+x^6)$
- $F(x)=\ln|ln|x||$
- $F(x)=\cfrac{2}{3}\sqrt{(1+\ln(x))^3}$
- $F(x)=-\cfrac{1}{\sin(x)}$.
- $F(x)=\cfrac{1}{2}\arctan\left(\cfrac{\sin(x)}{2}\right)$
- $F(x)=\cfrac{1}{3\ln(2)}2^{3x+1}$.
- $F(x)=\cfrac{1}{2}\ln\left(\left|\cfrac{x-1}{x+1}\right| \right)$
- $F(x)=\cfrac{1}{2}\ln|x^2-1|+\cfrac{3}{2}\ln\left(\left|\cfrac{x-1}{x+1}\right| \right)=\ln\left(\left|\cfrac{(x-1)^2}{x+1}\right| \right)$.
>> en effet : $f(x)=\cfrac{1}{2}\cfrac{2x+6}{x^2-1}=\cfrac{1}{2}\cfrac{2x}{x^2-1}+\cfrac{6}{2}\cfrac{1}{x^2-1}=\cfrac{1}{2}\cfrac{2x}{x^2-1}+3\cfrac{1}{x^2-1}$ ;
On utilise alors 12.
- $F(x)=\ln|x+1|-\cfrac{1}{x+1}$.
>> en effet : $f(x)=\cfrac{1}{2}\cfrac{2x+2}{x^2+2x+1}+\cfrac{1}{(x+1)^2}$
- $F(x)=\cfrac{2}{\sqrt{3}}\arctan\left(\cfrac{2x+1}{\sqrt{3}}\right)$
>> en effet : $f(x)=\cfrac{1}{(x+1/2)^2+3/4}=\cfrac{4}{3}\cfrac{1}{\left(\dfrac{2}{\sqrt{3}}(x+\dfrac{1}{2})\right)^2+1}$
- $F(x)=\ln(x^2+x+1)-\cfrac{2}{\sqrt{3}}\arctan\left(\cfrac{2x+1}{\sqrt{3}} \right)$
en effet : $\cfrac{1}{x(1+x^2)}=\cfrac{1+x^2-x^2}{x(1+x^2)}=\cfrac{1}{x}-\cfrac{x}{1+x^2}$
en effet : on notera que si $v'(x)=1$ alors $v(x)=x+c$ où $c\in\mathbb{R}$... à vous de choisir correctement la valeur de $c$ !
$F(x)=\displaystyle\int_0^{x^2}\cfrac{ds/2}{1+s^2}=\cfrac{1}{2}\displaystyle\int_0^{x^2}\cfrac{ds}{1+s^2}=\cfrac{\arctan(x^2)}{2}$