séries de fourierpycreach.free.fr/postbac/cpge_tsi2/series_de_fourier_tsi2.pdf · définition des...
TRANSCRIPT
Séries de Fourier
1. Compléments sur les fonctions définies par morceaux......................................................p.1Définition de la continuité par morceaux pour une fonction définie sur un intervalle fermé borné.ℝ _espace vectoriel Cm ([a ;b ] ;ℝ ) , intégrale d'une fonction continue par morceaux sur un intervalle fermé borné.
Définition des fonctions de classe C1 par morceaux sur un intervalle fermé borné.Définition des fonctions T_périodiques. Cas des fonctions paires ou impaires.Caractérisation des fonctions T_périodiques continues par morceaux ou de classe C1 par morceaux sur ℝ .Intégrale sur une période d'une fonction fonction T_périodique continue par morceaux sur ℝ .
2. Coefficients et séries de Fourier..................................................................................................p.7Définition des coefficients de Fourier trigonométriques d'une fonction T_périodique continue par morceaux sur .Cas des fonctions paires ou impaires. Cas de la symétrie demi-onde.Sommes partielles de Fourier d'une fonction T_périodique continue par morceaux sur ℝ .
3. Théorèmes de convergence...........................................................................................................p.14Conséquence de la convergence en moyenne quadratique : théorème de Parseval.Convergence ponctuelle : théorème de Dirichlet.Cas d'une fonction continue et de classe C1 par morceaux sur ℝ .
∿∿∿∿∿∿∿∿∿∿∿∿
1. Co mpléments sur les fonctions définies par morceaux
Définition des fonctions continues par morceaux définies sur un intervalle fermé et borné
Soit f une fonction définie sur un intervalle fermé borné [a ;b ] et à valeurs dans ℝ . f est continue par morceaux sur l'intervalle [a ;b ] si et seulement s'il existe n+ 1 réels (x k)k∈⟦0 ;n ⟧ tels que
1) a= x0< x1<…<x n−1< xn=b (subdivision finie de l’intervalle [a ;b ] )2) pour tout entier k∈⟦1; n⟧ la fonction f est continue sur l'intervalle ouvert ] x k−1 ; xk [3) pour tout entier k∈⟦1;n ⟧ la restriction de la fonction f à l'intervalle ouvert ] x k−1 ; xk [ , notée f ]xk−1 ; xk [
, est
prolongeable par continuité à l'intervalle fermé [ x k−1 ; xk ]
Exemples et contre-exemples :
Rappel : pour t∈ℝ , la partie entière de t notée ⌊ t ⌋ est définie par : {⌊ t ⌋∈ℤ⌊ t ⌋⩽t<⌊ t ⌋+1 ⇔ {⌊ t ⌋∈ℤt−1<⌊ t ⌋⩽t
t→ ⌊ t ⌋×⌊−t ⌋ est continue par morceaux sur [−1; 2 ]t→{t ⌊
1t ⌋ si t≠0
1 si t=0
n'est pas continue par morceaux sur
[−1; 2] car...
Séries de Fourier 1/17 pycreach.free.fr - TSI2
t→1
⌊ t ⌋−t+1 n'est pas continue par morceaux sur [−1 ; 2]
car...
t→sin( 1⌊ t ⌋−t+1 ) n'est pas continue par morceaux sur
[−1; 2] car...
On note Cm (I ;ℝ ) l'ensemble des fonctions définies sur l'intervalle I fermé borné continues par morceaux et à valeurs dans ℝ .
Une fonction continue sur un intervalle est aussi continue par morceaux sur cet intervalle : C0 (I ;ℝ )⊂Cm (I ;ℝ )
Opération sur les fonctions continues par morceaux
Soient f et g deux fonctions définies sur un intervalle I, à valeurs dans ℝ et continues par morceaux alors :La fonction somme f + g :x→ f ( x )+g (x ) est continue par morceaux sur I.Pour λ∈ℝ , la fonction λ f : x→λ f ( x ) est continue par morceaux sur I.La fonction produit f ×g : x→ f ( x )×g ( x ) est continue par morceaux sur I.
Remarque : les deux premières propriétés assurent que : Cm (I ,ℝ ) est un ℝ espace vectoriel
Le quotient de deux fonctions continues par morceaux n'est pas nécessairement continue par morceaux.Exemple : la fonction f : t→1 est continue par morceaux sur ℝ
la fonction g :t→ ⌊t ⌋−t+1 est continue par morceaux sur ℝ et à valeurs dans ]0 ;1 ]
la fonction fg
: t→1
⌊ t ⌋−t+1 n'est pas continue par morceaux sur ℝ .
Définition de l'intégrale d'une fonction continue par morceaux sur un intervalle fermé borné
Soient f une fonction continue par morceaux sur un intervalle fermé borné [a ;b ] , à valeurs dans ℝ et n+1 réels (x k)k∈⟦0 ;n ⟧ tels que :
1) a= x0< x1<…<x n−1< xn=b (subdivision finie de l’intervalle [a ;b ] )2) pour tout entier k∈⟦1; n⟧ la fonction f est continue sur l'intervalle ouvert ] x k−1 ; xk [3) pour tout entier k∈⟦1;n ⟧ la restriction de la fonction f à l'intervalle ouvert ] x k−1 ; xk [ , notée f ]xk−1 ; xk [
, est
prolongeable par continuité à l'intervalle fermé [ x k−1 ; xk ]
∫abf (t )dt=∫x0
x1
f ( t )d t+…+∫xn−1
xnf (t )d t=∑
k=0
n−1
∫xk
xk+1
f (t )dt
Si a<b , f ∈C0 ([ a ;b ] ,ℂ) et ∫ab∣ f (t )∣dt=0 alors ∀ t∈[a ;b ] , f (t )=0
En revanche f ∈Cm ( [a ;b ] ;ℂ ) et ∫ab∣ f (t )∣dt=0 n'implique pas que f soit nulle sur [a ;b ] .
Exemple : pour f : x→ ⌊ x ⌋+⌊−x ⌋+1 ...
Le théorème fondamental de l'analyse n'est pas valide pour les fonctions continues par morceaux.
Exemple : soit f définie sur [−1;1 ] par { f (x )=1 si x⩾0f (x )=−1 si x<0
. Alors pour x∈[−1; 1] , {∫0
xf (t )dt=x si x⩾0
∫0
xf (t )dt=−x si x<0
Donc ∀ x∈[−1; 1] , ∫0
xf (t )dt=∣x∣ et x→∣x∣ n'est pas dérivable en 0.
Séries de Fourier 2/17 pycreach.free.fr - TSI2
Propriétés des intégrales de fonctions continues par morceaux
Soient f ∈Cm ([a ;b ] ;ℝ ) et g∈Cm ( [a ;b] ;ℝ ) :
Additivité : ∫abf (t )+ g (t )dt=∫a
bf ( t )dt+∫a
bg (t )dt
Homogénéité : ∀λ∈ℂ , ∫abλ f (t )dt=λ∫a
bf (t )dt
Croissance de l'intégrale : si ∀ t∈[a ;b ] , f (t )⩾g (t ) alors ∫abf (t )dt⩾∫a
bg ( t )d t
Inégalité triangulaire, ∣∫abf (t )dt∣⩽∫a
b∣ f (t )∣d t
Remarques : les deux premières propriétés assurent la linéarité de l'application Cm ([a ;b ] ;ℂ ) → ℝ
f → ∫abf ( t )d t
Conséquences de l'inégalité triangulaire
Soient f ∈Cm ( [a ;b ] ;ℝ ) et g∈Cm ( [a ;b] ;ℝ ) :
∣∫abf (t )dt∣⩽(b−a ) sup
t∈[ a; b ]∣ f (t )∣
∣∫abf (t )×g (t )dt∣⩽ sup
t∈ [a ;b ]∣ f (t )∣×∫a
b∣g (t )∣d t
Démonstration : en vertu de l'inégalité triangulaire, ∣∫abf (t )×g (t )dt∣⩽…
Or ∀ t∈[a ;b] , ∣f (t )∣⩽ supt∈ [a ;b ]
∣ f (t )∣ donc...
Ainsi en vertu de la croissance de l'intégrale pour les fonctions à valeurs réelles, …□
Définition des fonctions de classe C1 par morceaux sur un intervalle fermé borné
Soit f une fonction définie sur un intervalle [a ;b ] et à valeurs dans ℝ .f est de classe C1 par morceaux sur l'intervalle [a ;b ] si et seulement s'il existe n+ 1 réels (x k )k∈⟦0 ;n ⟧ tels que
1) a= x0< x1<…<x n−1< xn=b (subdivision de l'intervalle [a ;b ] )
2) pour tout entier k∈⟦1; n⟧ la fonction f est de classe C1 sur l'intervalle ouvert ] x k−1 ; xk [3) pour tout entier k∈⟦1;n ⟧ la restriction de la fonction f à l'intervalle ouvert ] x k−1 ; xk [ , notée f ]xk−1 ; xk [
, est
prolongeable en une fonction de classe C1 sur l'intervalle fermé [ x k−1 ; xk ]
Remarque : Toute fonction polynomiale par morceaux sur un intervalle fermé borné [a ;b ] est de classe C1 par morceaux sur l'intervalle [a ;b ] .
Exemple : la fonction t→∣t∣ est de classe C1 par morceaux sur l'intervalle [−1;1]
Contre-exemple : la fonction t→√∣t∣ n'est pas de classe C1 par morceaux sur l'intervalle [−1;1] :
Séries de Fourier 3/17 pycreach.free.fr - TSI2
t→{t sin( 1t ) si t≠0
0 si t=0
n'est pas de classe C1 par
morceaux sur [− 12
;12 ] .
t→{t∣1t−[ 1t ]−
12 ∣ si t≠0
0 si t=0
n'est pas de classe C1 par
morceaux sur [−1;1 ] .
Rappel : Le théorème de la limite de la dérivée (corollaire du théorème des accroissements finis) permet parfois de prolonger une fonction dérivée jusqu'au bord d'un intervalle ouvert :Soit une fonction f continue sur [a ;b ] et dérivable sur ]a ;b ] .f 'd (a )≠lim
x→ax>a
f ' ( x ) en général. Cependant, si limx→ax>a
f ' ( x ) existe (finie, +∞ , ou −∞ ) alors f 'd (a )=limx→ax>a
f ' ( x ) .
Le cas des raccords de fonctions dérivées est plus délicat :f dérivable sur [a ;b ] et sur [b ;c ] n'implique pas en général que f soit dérivable sur [a ;c ]
Mais si de plus f ' d (b )= f ' g (b ) alors f est dérivable en b et f ' (b )= f ' d (b )= f ' g (b )
Opération sur les fonctions de classe C1 par morceaux
Soient f et g deux fonctions de classe C1 sur un intervalle [a ;b ] , à valeurs dans ℝ .La fonction somme f + g :x→ f ( x )+g (x ) est de classe C1 par morceaux sur [a ;b ] .Pour λ∈ℝ , la fonction λ f : x→λ f ( x ) est de classe C1 par morceaux sur [a ;b ] .La fonction produit f ×g : x→ f ( x )×g ( x ) de classe C1 par morceaux sur [a ;b ] .
Démonstration : cf opérations sur les fonctions de classe C1 sur les subdivisions [ xi ; xi +1 ] . □
Remarque : les deux premières propriétés assurent que l'ensemble de fonctions de classe C1 sur [a ;b ] est un ℝ espace vectoriel.
Définition des fonctions T_périodiques
Soient T un réel strictement positif et f une fonction définie sur ℝ et à valeurs dans ℝ . La fonction f est T-périodique si et seulement si ∀ x∈ℝ , f (x+T )= f (x )
Remarque : si f est T-périodique alors ∀ k∈ℤ , ∀ x∈ℝ , f ( x+k×T )= f ( x ) .
Exemple : x→1
⌊ x ⌋−x+1 est une fonction 1_périodique car...
Si f est T-périodique alors f est totalement déterminée par sa restriction à un intervalle du type [a ;a+T [ ou ]a ;a+T ] . En effet soit a∈ℝ , T>0 et une
fonction g ; [a ;a+T [→ℝ . Si f est T_périodique et ∀ x∈[a ;a+T [ , f ( x )=g ( x ) alors pour x∈[a+kT ;a+( k+1)T [ avec k∈ℤ , f ( x )= f ( x−k T )=g ( x−kT ) car x−kT∈[a ;a+T [ .
Exemple : Soit f la fonction 1 périodique telle que ∀ x∈[0; 1 [ , f (x )=√ x
alors pour x∈[10;11[ , f (x )=…pour x∈[−11;−10 [ , f (x )=…
Séries de Fourier 4/17 pycreach.free.fr - TSI2
Remarque : pour a<b , si f est b−a _périodique et ∀ x∈[a ;b [ , f (x )=g (x ) alors :
∀ x∈ℝ , f ( x )=g(x−(b−a )⌊ x−ab−a ⌋)Exemples de code Python permettant de représenter graphiquement la fonction 3_périodique f telle que :
∀ x∈[−1; 2 [ , f (x )=2 x+4 : 12345678910111213
def f(x): if -1<=x<2: return 2*x+4 if x>=2 : return f(x-3) if x<-1 : return f(x+3)
X=[-10+k/100 for k in range(0,2000)]Y=[f(x) for x in X]import matplotlib.pyplot as pltplt.plot(X,Y)plt.show()
Pour une représentation graphique sans les segments verticaux :12345678910
def f(x): return 2*x+4
X=[-1+k/100 for k in range(300)]Y=[f(x) for x in X]import matplotlib.pyplot as pltimport numpy as npfor k in range(-3,3): plt.plot(X+3*k*np.ones(len(X)),Y)plt.show()
Si f est une fonction T_périodique paire ou impaire alors f est entièrement déterminée par sa restriction à
l'intervalle du type [0;T2 ] .
Exemple : soit f la fonction impaire 4_périodique définie par : f (0 )= f (2)=0 et si x∈]0 ; 2[ alors f ( x )=2 x+4 .
Séries de Fourier 5/17 pycreach.free.fr - TSI2
123456789101112131415
def f(x): if 0<x<2: return 2*x+4 if x==0 or x==2 : return 0 if x>2: return f(x-4) if x<0: return -f(-x)
X=[-10+k/100 for k in range(0,2000)]Y=[f(x) for x in X]import matplotlib.pyplot as pltplt.plot(X,Y)plt.show()
123456789101112131415161718192021
def f(x): return 2*x+4
import matplotlib.pyplot as pltimport numpy as np
X=[k/100 for k in range(1,200)]Y=[f(x) for x in X]for k in range(-2,3): plt.plot(X+4*k*np.ones(len(X)),Y)
X=[k/100 for k in range(-199,0)]Y=[-f(-x) for x in X]for k in range(-2,3): plt.plot(X+4*k*np.ones(len(X)),Y)
X=[2*k for k in range(-5,6)]Y=[0 for k in range(-5,6)]plt.plot(X,Y,linestyle='',marker='+',color='black')
plt.show()
Remarque : si f est T_périodique et impaire alors ∀ k∈ℤ , f (k T2 )=0 .
En effet si f est impaire, f (0 )=− f (−0)=− f (0) donc 2 f (0)=0 donc f (0 )=0 .Si de plus f est T_périodique alors f (k×T )= f (k×T+0 )= f (0)=0 .
Par ailleurs, si f est impaire f (− T2 )=− f (
T2 ) Or, si f est T_périodique f (− T
2 )= f (−T2+T)= f ( T
2 )Donc f ( T
2 )=− f (T2 ) donc 2 f ( T
2 )=0 ainsi f ( T2 )=0 . Enfin, par T_périodicité, ∀ k∈ℤ , f ( T
2+k×T)=0
Caractérisations des fonctions T_périodiques continues par morceaux ou de classe C1 par morceaux ou continues sur ℝ
Soit une fonction f T_périodique, à valeurs dans ℝ .La fonction f est continue par morceaux sur ℝ si et seulement si
il existe un réel a tel que f soit continue par morceaux sur l'intervalle [a ;a+ T ] .La fonction f est de classe C1 par morceaux sur ℝ si et seulement si
il existe un réel a tel que f soit de classe C1 par morceaux sur l'intervalle [a ;a+ T ] .La fonction f est continue sur ℝ si et seulement si
il existe un réel a tel que f soit continue sur l'intervalle ]a ;a+T [ et {limt→at >a
f (t )= f (a )
limt→a+Tt <a+T
f (t )= f (a)
Séries de Fourier 6/17 pycreach.free.fr - TSI2
Exemple : soit f la fonction impaire 4_périodique définie par : f (0 )= f (2)=0 et si x∈]0 ; 2[ alors f (x )=2 x+4 .
Intégrale d'une fonction T-périodique sur un intervalle de longueur T
Soit f une fonction T-périodique continue par morceaux à valeurs dans ℝ .
∀α∈ℝ , ∫α
α+Tf (t )dt=∫0
Tf (t )dt
Démonstration : en notant k=⌊αT ⌋ on a : k T⩽α<(k+1)T⩽α+T
∫α
α+Tf (t )dt=∫α
(k+1)Tf (t )dt+∫( k+1 )T
α+Tf (t )dt=∫α
( k+1 )Tf (t−kT)dt+∫(k+1 )T
α+Tf (t−(k +1 )T )d t =...
□
Remarque : pour des questions d'éventuelle parité de la fonction f on utilise souvent ∫−
T2
T2 f (t )dt .
Pour α∈ℝ , 1T∫α
α+Tf (t )dt est appelée valeur moyenne de f sur une période.
2. Coefficients et séries de Fourier.
Définition de l'ensemble CT (ℝ )
L'ensemble des fonctions définies et continues de ℝ dans ℝ et T-périodiques est noté CT (ℝ ) .
Structure de l'ensemble CT (ℝ )
Soit α un réel et l'application CT (ℝ )×CT (ℝ )→ℝ
⟨ f |g ⟩→1T∫α
α+Tf (t )×g (t )dt
Alors (CT (ℝ ); ⟨…;… ⟩) est un espace préhilbertien réel.
Démonstration : CT (ℝ ) est un sous-espace vectoriel de C0(ℝ ) car...
L'application ⟨ f |g ⟩→1T∫α
α+Tf (t )×g (t )dt est un produit scalaire sur CT (ℝ ) car...
□
Remarque : la norme associée à ce produit scalaire est ∥ f∥2≝1
√T √∫α
α+T( f ( t ))2 dt on parle alors de moyenne
quadratique sur une période.
L'application ⟨ f |g ⟩→1T∫α
α+Tf (t )×g (t )dt n'est pas un produit scalaire sur le sous-espace vectoriel des fonctions T-
périodiques continues par morceaux sur ℝ car l'application est alors dégénérée (pas définie positive)Exemple : soit f la fonction définie sur ℝ par f ( x )=⌊ x ⌋+ ⌊−x ⌋−1 .
Une famille orthonormale dans (CT (ℝ ); ⟨…;… ⟩)
Soit ω=2πT
, la famille (( x→1) ;( x→√2×cos (nω x ))n∈ℕ* ; (x→√2×sin (nω x ))n∈ℕ*) est orthonormale dans l'espace
préhilbertien réel (CT (ℝ ); ⟨…;… ⟩) .
Démonstration : soient deux entiers naturels n et m :1T∫0
Tcos (nω t )×cos (mωt )dt=…
1T∫0
Tcos (nω t )×sin (mω t )dt=…
1T∫0
Tsin (nω t )×sin (mω t )dt=…
Séries de Fourier 7/17 pycreach.free.fr - TSI2
Remarques : chaque fonction x→cos (nω x ) et x→sin (nω x ) est Tn
-périodique.
Pour n∈ℕ , soit En=vect (( x→cos (kω x ))k∈⟦0; n⟧ ;( x→sin (kω x ))k∈⟦1; n⟧) .La projection orthogonale pn sur le sous espace vectoriel En est définie par : ∀ f ∈CT (ℝ ) ,
pn ( f )( x )=⟨ f ∣1 ⟩1+∑k=1
n
⟨ f ∣√ 2cos (k ω⋅)⟩√2 cos (k ω x )+∑k=1
n
⟨ f ∣√2sin (k ω⋅) ⟩√2sin (kω x )
pn ( f )( x )=1T∫0
Tf (t )d t+∑
k=1
n
( 1T∫0
Tf (t )×√2cos ( k ωt )dt)√2 cos (k ω x )+∑
k=1
n
( 1T∫0
Tf ( t )×√2sin (kω t )dt)√2sin (k ω x )
pn ( f )( x )=1T∫0
Tf (t )d t+∑
k=1
n
(( 2T∫0
Tf ( t )×cos (kω t )dt)cos (kω x )+( 2
T∫0
Tf (t )×sin ( kω t )dt)sin (k ω x ))
Définition des coefficients de Fourier trigonométriques
Soient f une fonction T-périodique définie de ℝ dans ℝ et continue par morceaux et α∈ℝ . En notant ω=2πT
,
les coefficients de Fourier de f sont les réels (ak ( f ))k ∈ℕ et (bk ( f ))k∈ℕ* tels que :
a0 ( f )≝1T∫α
α+Tf (t )dt (valeur moyenne sur une période)
∀ k∈ℕ*, a k ( f )≝2T∫α
α+Tf (t )×cos ( k ωt )dt
∀ k∈ℕ*, bk ( f )≝2T∫α
α+Tf (t )×sin (k ω t )d t
Exemples : Soit f une fonction constante (donc T-périodique pour tout réel T) alors :...
Soit f la fonction T périodique telle que ∀ x∈[0; T [ , f (x )=x alors...
Remarques : avec ces notations, pour f ∈CT (ℝ ) , on a: ∀ x∈ℝ , pn ( f )( x )=a0+∑k=1
n
(ak cos (k ω x )+bk sin (k ω x ))
Des résultats utiles : ∀ n∈ℕ*, ∫α
α+Tcos (nω t )dt=0 et ∀ n∈ℕ , ∫α
α+Tsin (nω t )dt=0
(−1 )n+1={2 si n est pair
0 si n est impair
∀ n∈ℕ ,
cos (nπ)=(−1)n et cos((2n+1) π2 )=0
sin (n π )=0 et sin((2n+1) π2 )=(−1)n
Séries de Fourier 8/17 pycreach.free.fr - TSI2
Exemple de code Python permettant d'obtenir une expression formelle des premiers coefficients de Fourier de la fonction 3_périodique f telle que : ∀ x∈[−1; 2 [ , f ( x )=2 x+4 : 123456789 101112131415
from sympy import *x,t=symbols('x t')
def an(n,f,a,b): if n==0 : return 1/(b-a)*integrate(f(t)*cos(n*(2*pi/(b-a))*t),(t,a,b)) else : return 2/(b-a)*integrate(f(t)*cos(n*(2*pi/(b-a))*t),(t,a,b))
def bn(n,f,a,b): return 2/(b-a)*integrate(f(t)*sin(n*(2*pi/(b-a))*t),(t,a,b))
f=lambda x: 2*x+4 pprint([an(k,f,-1,2) for k in range(5)])pprint([bn(k,f,-1,2) for k in range(1,5)])
Exemple de code Python permettant d'obtenir une expression formelle de tous les coefficients de Fourier de la fonction 3_périodique f telle que : ∀ x∈[−1; 2 [ , f ( x )=2 x+4 : 1234567891011121314
from sympy import *t,x = symbols('t x')n = symbols('n', integer=True, positive=True)
a=-1b=2f=lambda x:2*x+3
a0=simplify(1/(b-a)*integrate(f(t),(t,a,b)))an=simplify(2/(b-a)*integrate(f(t)*cos(n*(2*pi/(b-a))*t),(t,a,b)))bn=simplify(2/(b-a)*integrate(f(t)*sin(n*(2*pi/(b-a))*t),(t,a,b)))pprint(a0)pprint(an)pprint(bn)
Étude de la parité des fonctions T-périodiques
Soit f une fonction T-périodique définie de ℝ dans ℝ .
La fonction f est paire si et seulement si ∀ t∈[0;T2 ] , f (−t )= f (t ) .
La fonction f est impaire si et seulement si ∀ t∈]0;T2 [ , f (−t )=− f (t ) et {
f (0)=0
f ( T2 )=0
.
Rappel : si f est T_périodique et impaire alors …Remarque pour obtenir une fonction paire ou impaire : soient f une fonction définie sur [0 ;+∞ [ , g et h deux fonctions définies sur ℝ .Si g est paire et ∀ x∈[0;+∞ [ , g (x )= f ( x ) alors ∀ x∈ℝ , g (x )= f (∣x∣)
Si h est impaire et ∀ x∈]0 ;+∞ [ , h (x )= f (x ) alors ∀ x∈ℝ* , h (x )=∣x∣xf (∣x∣) et h (0 )=0
Dans le module sympy, la fonction Piecewise() permet de définir une fonction par morceaux ainsi, si f est une expression dépendant du symbole x: g=Piecewise((f,x>=0),(f.subs(x,-x),x<0)) # définit une fonction paire
h=Piecewise((f,x>0),(-f.subs(x,-x),x<0),(0,x==0)) # définit une fonction impaire
Séries de Fourier 9/17 pycreach.free.fr - TSI2
Propriété des coefficients de Fourier d'une fonction selon sa parité
Soit f une fonction T-périodique continue par morceaux sur ℝ et à valeurs dans ℝ admettant pour coefficients de Fourier les réels (ak)k∈ℕ et (bk )k∈ℕ* .
Si la fonction f est paire alors :
∀ k∈ℕ *, ak=4T∫0
T2 f (t )cos (k ω t )d t
∀ k∈ℕ *, bk=0
Si la fonction f est impaire alors :∀ k∈ℕ , ak=0
∀ k∈ℕ *, bk=4T∫0
T2 f (t ) sin (k ω t )dt
Démonstration : Si f est paire et T-périodique alors : a0 ( f )=1T ∫−
T2
T2 f (t )dt=…
∀ k∈ℕ *, ak ( f )=2T∫−
T2
T2 f (t )×cos ( kω t )dt=…
∀ k∈ℕ *, bk ( f )=2T ∫−
T2
T2 f (t )×sin (kω t )dt=…
Exemples de code Python permettant le calcul formel des coefficients de Fourier dans le cas d'une fonction paire ou d'une fonction impaire :123456789101112131415
from sympy import *t,x = symbols('t x')n = symbols('n', integer=True, positive=True)
a=-1b=1g=x+1f=Piecewise((g,x>=0),(g.subs(x,-x),x<0))
a0=simplify(1/(b-a)*integrate(f.subs(x,t),(t,a,b)))an=simplify(2/(b-a)*integrate(f.subs(x,t)*cos(n*(2*pi/(b-a))*t),(t,a,b)))bn=simplify(2/(b-a)*integrate(f.subs(x,t)*sin(n*(2*pi/(b-a))*t),(t,a,b)))pprint(a0)pprint(an)pprint(bn)
123456789101112131415
from sympy import *t,x = symbols('t x')n = symbols('n', integer=True, positive=True)
a=-1b=1g=x+1f=Piecewise((g,x>0),(-g.subs(x,-x),x<0),(0,x==0))
a0=simplify(1/(b-a)*integrate(f.subs(x,t),(t,a,b)))an=simplify(2/(b-a)*integrate(f.subs(x,t)*cos(n*(2*pi/(b-a))*t),(t,a,b)))bn=simplify(2/(b-a)*integrate(f.subs(x,t)*sin(n*(2*pi/(b-a))*t),(t,a,b)))pprint(a0)pprint(an)pprint(bn)
Cas de la symétrie demi-onde.
Soit f une fonction définie sur ℝ et T>0 .
Hypothèse 1 : ∀ x∈ℝ , f ( x+ T2 )=− f ( x )
Hypothèses 2 : f est T_périodique et il existe α∈ℝ tel que ∀ x∈[α ;α+T
2 [ , f ( x+ T2 )=− f ( x )
Si f vérifie l'hypothèse 1 alors f est T_périodique.Si f vérifie l'hypothèse 1 ou l'hypothèse 2 alors on dit que f possède une symétrie demi-onde et si de plus il existe
α∈ℝ tel que f soit continue par morceaux sur [α ;α+T2 ] alors f est continue par morceaux sur ℝ et
{∀ k∈ℕ, a2k ( f )=0∀ k∈ℕ*, b2k ( f )=0
i.e. les harmoniques de rang pair sont nulles.
Remarque : les hypothèses 1 et 2 sont vérifiées si seulement si la courbe représentative de f dans un repère orthonormal
est invariante par la symétrie glissée de vecteur T2i⃗
Séries de Fourier 10/17 pycreach.free.fr - TSI2
Démonstration : ∀ x∈ℝ , f ( x+T )= f (x+ T2+
T2 )=− f ( x+
T2 )=−(− f ( x ))= f ( x ) donc f est T périodique.
Si f est continue par morceaux sur [α ;α+T2 ] alors il existe une subdivision finie α=a0<a1<…<an−1<an=α+
T2
telle que f soit continue sur ]ai ;a i +1[ et prolongeable par continuité sur [ai ;ai+1 ] pour i∈⟦0;n−1⟧ .
La relation f ( x+ T2 )=− f ( x ) assure que f est continue sur ]ai+ T
2;ai +1+
T2 [ et prolongeable par continuité sur
[ai+ T2
;ai+1+T2 ] pour i∈⟦0 ;n−1⟧ .
On obtient ainsi une subdivision de l'intervalle [α ;α+T ] donc f est continue par morceaux sur [α ;α+T ] .Enfin, par T_périodicité, f est continue par morceaux sur ℝ .Soit n∈N ,
∫α
α+Tf (t )cos (nω t )dt=∫α
α+T2 f (t )cos (nω t )dt+∫
α+T2
α+Tf (t ) cos (nω t )dt en posant t=u+
T2
on a :
∫α
α+Tf (t )cos (nω t )dt=∫α
α+T2 f (t )cos (nω t )dt+…
Or ∀θ∈ℝ , cos (θ+n π)=(−1)n cos (θ ) donc...
Soit n∈ℕ *,
∫α
α+Tf (t )sin (nω t )dt=∫α
α+T2 f ( t )sin (nω t )dt+∫
α+T2
α+Tf (t ) sin (nω t )dt en posant t=u+
T2
on a :
∫α
α+Tf (t )sin (nω t )dt=∫α
α+T2 f ( t )sin (nω t )dt+…
Or ∀θ∈ℝ , sin (θ+n π )=(−1)nsin (θ ) donc...□
Exemple : soit T=4 , et f définie par ∀ x∈[0; 2 [ , f (x )=2 x+4 et ∀ x∈ℝ , f ( x+ 42 )=− f ( x ) .
12345678910111213
def f(x): if 0<=x<2: return 2*x+4 if x>=2 : return -f(x-2) if x<0: return -f(x+2)
X=[-10+k/100 for k in range(0,2000)]Y=[f(x) for x in X]import matplotlib.pyplot as pltplt.plot(X,Y)plt.show()
12345678910
def f(x): return 2*x+4
X=[k/100 for k in range(200)]Y=[f(x) for x in X]import matplotlib.pyplot as pltimport numpy as npfor k in range(-5,5): plt.plot(X+2*k*np.ones(len(X)),((-1)**k)*np.array(Y))plt.show()
Séries de Fourier 11/17 pycreach.free.fr - TSI2
Définition des fonctions sommes partielles de Fourier
Soit f une fonction T-périodique définie de ℝ dans ℝ et continue par morceaux, ω=2πT
et les coefficients de
Fourier de f , (ak ( f ))k ∈ℕ et (bk ( f ))k∈ℕ* . La somme partielle d'ordre n∈ℕ de Fourier de f est la fonction Sn ( f ) définie sur ℝ par :
∀ x∈ℝ ,Sn ( f ) (x )≝a0 ( f )+∑k=1
n
(ak ( f )×cos ( kω x )+bk ( f )×sin (k ω x ))
Remarques : on retrouve ici l'expression du projeté orthogonal sur le sous espace vectoriel En mais cette définition s'applique non seulement au fonctions CT (ℝ ) mais aussi aux fonctions continues par morceaux et T-périodiques.
Pour k∈ℕ *, chaque fonction x→ak ( f ) cos (k ω x )+bk ( f )sin (k ω x ) est Tk
-périodique et est appelée harmonique de
rang k .
Rappel : En utilisant les exponentielles complexes : si ak+i bk≠0 alors soit ρk>0 et θk∈ℝ tels que ak+i bk=ρk eiθk
et ak cos ( kω x )+bk sin (k ω x )=Re ((ak−i bk )ei k ωx)=Re(ρk e−i θk ei kω x)=ρk cos (k ω x−θk )
Le réel ρk est l'amplitude de l'harmonique de rang k et le réel θk est son déphasage.
Exemple de code Python permettant d'obtenir S5 ( f ) pour la fonction 3_périodique f telle que : ∀ x∈[−1; 2 [ , f ( x )=2 x+4
123456789 10111213141516171819202122
from sympy import *x,t=symbols('x t')
def an(n,f,a,b): if n==0 : return 1/(b-a)*integrate(f(t)*cos(n*(2*pi/(b-a))*t),(t,a,b)) else : return 2/(b-a)*integrate(f(t)*cos(n*(2*pi/(b-a))*t),(t,a,b))
def bn(n,f,a,b): return 2/(b-a)*integrate(f(t)*sin(n*(2*pi/(b-a))*t),(t,a,b))
def Sn(n,T,An,Bn,x): return An[0]+sum(An[k]*cos(k*(2*pi/T)*x) for k in range(1,n+1))+sum(Bn[k]*sin(k*(2*pi/T)*x) for k in range(1,n+1))
f=lambda x: 2*x+4 a=-1b=2n=5An=[an(k,f,a,b) for k in range(n+1)]Bn=[0]+[bn(k,f,a,b) for k in range(1,n+1)]plot(Sn(n,b-a,An,Bn,x),(x,-10,10))
Séries de Fourier 12/17 pycreach.free.fr - TSI2
Les représentations graphiques des sommes partielles de la série de Fourier de f semblent s'approcher, quand n tend vers +∞ , de la courbe représentative de la fonction f . On distingue deux convergences possibles : convergence en moyenne quadratique ou convergence ponctuelle.
Séries de Fourier 13/17 pycreach.free.fr - TSI2
3. Théorèmes de convergence.
Dans l'espace préhilbertien CT (ℝ ) muni du produit scalaire ⟨ f∣g ⟩=1T∫α
α+Tf (t )×g (t )dt , on admet que la série de
Fourier de f converge en moyenne quadratique vers la fonction f : limn→+∞
∥ f −Sn ( f )∥2=0
Or l'inégalité triangulaire donne : ∣∥ f ∥2−∥Sn ( f )∥2∣⩽∥ f −Sn ( f )∥2
Donc limn→+∞
∥Sn ( f )∥2=∥ f ∥2 .
∀ x∈ℝ , Sn ( f )( x )=a0+∑k=1
n
(a k cos ( kω x )+bk sin (k ω x ))
Alors, le théorème de Pythagore donne : (∥Sn( f )∥2)2=(a0)
2×1+∑
k=1
n
(ak )2 1
2+(bk)
2 12
Car la famille (( x→1) ;(x→cos (nω x ))n∈ℕ* ;( x→ sin (nω x ))n∈ℕ*) est orthogonale et : (∥1∥2 )2=…
et pour k≠0 , 1T∫0
Tcos2 (kω t )dt=…
1T∫0
Tsin2 (kω t )dt=…
Cette égalité envisagée dans l'espace préhibertien CT (ℝ ) s'étend aux fonctions continues par morceaux grâce au théorème suivant.
Théorème de Parseval : expression de la valeur moyenne quadratique à l'aide des coefficients de Fourier
Soient f une fonction T_périodique de ℝ dans ℝ , α∈ℝ et ses coefficients de Fourier, (ak)k∈ℕ et (bk )k∈ℕ .
Si f est continue par morceaux alors les séries numériques ∑n⩾1
(an )2 et ∑
n⩾1(bn)
2 sont convergentes et,
1T∫α
α+T( f (t ))2 dt=(a0)
2+
12∑n=1
+∞
(an)2+(bn)
2
Théorème admis.
Séries de Fourier 14/17 pycreach.free.fr - TSI2
Définition de la demi-somme des limites à gauche et à droite
Soit f une fonction continue par morceaux sur ℝ . Pour tout réel x , la demi-somme des limites de f à gauche et à droite du réel x est le nombre noté f ( x+0)+ f ( x−0 )
2 défini par :
f (x+0)+ f ( x−0 )
2≝lim
h→0h>0
f (x+h )+ f (x−h )2
Remarque : si la fonction f est continue en un réel x alors f (x+0)+ f ( x−0 )
2= f (x )
Exemple : soit f la fonction 3_périodique telle que : ∀ x∈[−1; 2 [ , f ( x )=2 x+4 . Alors f (2+0 )+ f (2−0 )
2=…
Définition de la régularisée d'une fonction continue par morceaux sur ℝ
Soit f une fonction continue par morceaux sur ℝ .
La fonction définie sur ℝ par x→f ( x+0)+ f ( x−0)
2 est appelée régularisée de f .
Exemple : soit f la fonction 3_périodique telle que : ∀ x∈[−1; 2 [ , f ( x )=2 x+4 .
La régularisée de f notée f̃ est définie par : {si ∃ k∈ℤ tel que x=2+3k alors f̃ ( x )=5sinon f̃ ( x )= f (x )
Exemple de code Python définissant une fonction b−a _ périodique f̃ égale à sa propre régularisée et telle que
∀ x∈]a ;b [ , f̃ ( x )=g ( x ) où g est prolongeable par continuité sur [a ;b ] : f̃ (a )=f̃ (a+0 )+ f̃ (a−0 )
2=g (a )+g (b )
2123456789101112131415
def periodique_et_regularisee(g,a,b,x): if a<x<b: return g(x) if x==a: return (g(a)+g(b))/2 if x>=b: return periodique_et_regularisee(g,a,b,x-(b-a)) return periodique_et_regularisee(g,a,b,x+(b-a))
import numpy as npX=np.linspace(-2,2,1001)Y=[periodique_et_regularisee(lambda t:t**2,0,1,x) for x in X]import matplotlib.pyplot as pltplt.plot(X,Y,linestyle='',marker='+')plt.show()
Séries de Fourier 15/17 pycreach.free.fr - TSI2
Théorème de Dirichlet : convergence ponctuelle de la somme de la série de Fourier vers la régularisée
Soit f une fonction T-périodique définie sur ℝ et Sn ( f ) sa somme partielle de Fourier au rang n .
Si f est de classe C1 par morceaux alors pour tout réel x , (Sn( f ) (x ))n∈ℕ converge vers la demi-somme des limites de f à gauche et à droite du réel x :
∀ x∈ℝ , a0 ( f )+∑n=1
+∞
an ( f )×cos (nω x )+bn ( f )×sin (nω x )=f ( x+0)+ f (x−0)
2
On peut retenir : Si f est de classe C1 par morceaux alors sa série de Fourier converge en tout point vers sa régularisée.
La somme d'une série de fonctions continues sur ℝ peut être définie sur ℝ sans être continue sur ℝ .
Remarque : si une fonction est égale à sa régularisée i.e. ∀ x∈ℝ , f ( x )=f ( x+0)+ f ( x−0 )
2 alors elle est dite
« développable en série de Fourier ».
Corollaire du théorème de Dirichlet pour les fonctions continues
Soit f une fonction T-périodique définie sur ℝ .Si f est continue sur ℝ et de classe C1 par morceaux, alors :
les séries numériques ∑ an ( f ) et ∑ bn ( f ) sont absolument convergentes.
et pour tout réel x , la série numérique S( f ) (x ) converge vers f (x ) .
∀ x∈ℝ , a0 ( f )+∑n=1
+∞
an ( f )×cos (nω x )+bn ( f )×sin (nω x )= f (x )
Dans ce particulier cas la fonction f est dite « développable en série de Fourier ».
Démonstration : si f est continue sur ℝ alors ∀ x∈ℝ , f ( x )=f ( x+0)+ f ( x−0 )
2 donc f est égale à sa régularisée.
Séries de Fourier 16/17 pycreach.free.fr - TSI2
Contre-exemple : soit f la fonction paire 2_périodique définie par : ∀ x∈[0; 1] , f (x )=√ x .f est continue sur ℝ mais pas de classe C1 sur ℝ : le théorème de Dirichlet précédent ne peut pas s'appliquer.
Exemple de code Python utilisant numpy : 12345678910 111213141516171819202122232425262728
import numpy as np
def an(n,f,a,b): x=np.arange(a,b,0.01) y=[f(t)*np.cos(n*(2*np.pi/(b-a))*t) for t in x] if n==0 : return 1/(b-a)*np.trapz(y,x) else : return 2/(b-a)*np.trapz(y,x)
def bn(n,f,a,b): x=np.arange(a,b,0.01) y=[f(t)*np.sin(n*(2*np.pi/(b-a))*t) for t in x] return 2/(b-a)*np.trapz(y,x)
def Sn(n,T,An,Bn,x): return An[0]+sum(An[k]*np.cos(k*(2*np.pi/(b-a))*x) for k in range(1,n+1))+sum(Bn[k]*np.sin(k*(2*np.pi/(b-a))*x) for k in range(1,n+1))
f=lambda x: np.sqrt(abs(x))a=-1b=1n=40An=[an(k,f,a,b) for k in range(n+1)]Bn=[0]+[bn(k,f,a,b) for k in range(1,n+1)] X=np.arange(-5,5,0.01)Y=[Sn(n,b-a,An,Bn,x) for x in X]import matplotlib.pyplot as pltplt.plot(X,Y)
Séries de Fourier 17/17 pycreach.free.fr - TSI2