Séries de Fourier 1. Compléments sur les fonctions définies par morceaux......................................................p.1 Dé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.7 Définition des coefficients de Fourier trigonométriques d'une fonction T_périodique continue par morceaux sur . T Cas des fonctions paires ou impaires. Cas des fonctions f telles que ∀ x ∈ℝ , f x+ =− f ( x ) . 2 Sommes partielles de Fourier d'une fonction T_périodique continue par morceaux sur ℝ . 3. Théorèmes de convergence...........................................................................................................p.14 Consé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. Complé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 ( a k ) k ∈ ⟦0 ;n ⟧ tels que 1) a=a 0< a 1< …< a n−1< a n=b (subdivision finie de l’intervalle [ a ; b ] ) 2) pour tout entier k ∈ ⟦ 1; n ⟧ la fonction f est continue sur l'intervalle ouvert ] a k −1 ; a k [ 3) pour tout entier k ∈⟦ 1; n ⟧ la restriction de la fonction f à l'intervalle ouvert ] a k −1 ; a k [ , notée f ]a ;a [ , est prolongeable par continuité à l'intervalle fermé [ a k −1 ; a k ] k −1 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 ⌋ ×⌊−t ⌋ est continue par morceaux sur [−1 ; 2 ] Séries de Fourier k t ⌋ ∈ℤ {⌊t−1 <⌊ t ⌋ ⩽t 1 t → t t sit≠0 n'est pas continue par morceaux sur 1 si t =0 [−1 ; 2 ] car... {⌊ ⌋ 1/17 pycreach.free.fr - TSI2 t→ 1 n'est pas continue par morceaux sur [ −1 ; 2 ] ⌊ t ⌋ −t +1 car... t → sin 1 ( ⌊ t ⌋−t+1 ) n'est pas continue par morceaux sur [−1 ; 2 ] car... On note C m ( 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 ; ℝ )⊂C m ( 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. Remarque : les deux premières propriétés assurent que : C m ( I , ℝ ) est un ℝ espace vectoriel Le quotient ou la fonction composée de deux fonctions continues par morceaux n'est pas nécessairement continue par morceaux. Exemple : la fonction f : t → ⌊ t ⌋−t +1 est continue par morceaux sur ℝ et à valeurs dans ] 0 ;1 ] 1 la fonction g : x → est continue par morceaux sur l'intervalle ] 0 ;1 ] x 1 la fonction g ∘ f : t → n'est pas continue par morceaux sur ℝ . ⌊ t ⌋ −t +1 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 ( a k )k ∈ ⟦0 ;n ⟧ tels que : 1) a=a 0 < a 1 <…< a n−1 < a n =b (subdivision finie de l’intervalle [ a ; b ] ) 2) pour tout entier k ∈ ⟦ 1; n ⟧ la fonction f est continue sur l'intervalle ouvert ] a k −1 ; a k [ 3) pour tout entier k ∈⟦ 1; n ⟧ la restriction de la fonction f à l'intervalle ouvert ] a k −1 ; a k [ , notée f ]a ;a [ , est prolongeable par continuité à l'intervalle fermé [ a k −1 ; a k ] k −1 b ∫a an 0 n−1 n−1 a k +1 f ( t ) d t=∑ ∫a k=0 f ( t ) dt k b ∫a ∣ f ( t )∣dt =0 alors ∀ t ∈[ a ; b ] , f ( t )=0 b f ∈C m ([ a ; b ] ; ℂ ) et ∫a ∣ f ( t )∣dt =0 n'implique pas que Si f ∈C 0 ([ a; b ] , ℂ ) et En revanche a1 f ( t ) dt =∫a f ( t ) d t+ …+∫a k 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 Séries de Fourier { f ( x ) =1 si x⩾0 . Alors pour x ∈[−1; 1 ] , f ( x ) =−1 si x<0 2/17 { x ∫0 f ( t ) dt =x si x⩾0 x ∫0 f ( t ) dt =−x si x <0 pycreach.free.fr - TSI2 Donc ∀ x ∈[−1; 1 ] , x ∫0 f ( t ) dt =∣x∣ et x →∣x∣ n'est pas dérivable en 0. Propriétés des intégrales de fonctions continues par morceaux Soient f ∈Cm ([ a ;b ] ; ℝ ) et g ∈C m ([ a ; b ] ;ℝ ) : Additivité : b ∫a b b f ( t )+ g ( t ) dt =∫a f ( t ) dt + ∫a g ( t ) dt b b ∫a λ f ( t ) dt=λ∫a Homogénéité : ∀λ ∈ℂ , f ( t ) dt b b Croissance de l'intégrale : si ∀ t∈ [ a ; b ] , f ( t )⩾g ( t ) alors ∫ f ( t ) dt⩾∫ g ( t ) d t a a b ∣∫ Inégalité triangulaire, a b ∣ f ( t ) dt ⩽∫a ∣ f ( t )∣d t Remarques : les deux premières propriétés assurent la linéarité de l'application Cm ([ a ;b ] ; ℂ ) f → → ℝ b ∫a f ( t )d t Conséquences de l'inégalité triangulaire Soient f ∈Cm ([ a ;b ] ; ℝ ) et g ∈C m ([ a ; b ] ;ℝ ) : b ∣∫ a b ∣∫ a ∣ f ( t ) dt ⩽( b−a ) sup ∣ f ( t )∣ t ∈[ a; b ] b ∣ f ( t )×g ( t ) dt ⩽ sup ∣ f ( t )∣×∫a ∣g ( t )∣d t Démonstration : en vertu de l'inégalité de la moyenne, Or ∀ t ∈ [ a ; b ] , ∣ f ( t )∣⩽ sup ∣ f ( t )∣ donc... t∈ [ a ;b ] b ∣∫ a ∣ f ( t )×g ( t ) dt ⩽… t∈ [ a ;b ] 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 ( a k ) k ∈ ⟦0 ;n ⟧ tels que 1) a=a 0< a 1< …< a n−1< a n=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 ] a k −1 ; a k [ 3) pour tout entier k ∈⟦ 1; n ⟧ la restriction de la fonction f à l'intervalle ouvert ] a k −1 ; a k [ , notée f ]a ;a [ , est prolongeable en une fonction de classe C1 sur l'intervalle fermé [ a k −1 ; a k ] k −1 k Remarque : Toue 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 ] Séries de Fourier Contre-exemple : la fonction t → √∣t∣ n'est pas de classe C1 par morceaux sur l'intervalle [−1; 1 ] : 3/17 pycreach.free.fr - TSI2 1 t → t sin t si t≠0 n'est pas de classe C1 par 0 si t=0 1 1 morceaux sur − ; . 2 2 { ( ) [ ] 1 1 1 t → t t − t − 2 si t≠0 n'est pas de classe C1 par 0 si t=0 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 f ' ( x ) en général. Cependant, si lim f ' ( x ) existe (finie, +∞ , ou −∞ ) alors f ' d ( a )=lim f ' ( x ) . x →a x>a x→a x>a x →a x>a 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 [ a i ; a i +1 ] . □ 1 Remarque : les deux premières propriétés assurent que l'ensemble de fonctions de classe C 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 ) . 1 Exemple : x → est une fonction 1_périodique car... ⌊ x ⌋−x +1 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 +k T ; 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−a ∀ x ∈ℝ , f ( x ) =g x−( b−a ) b−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 : 1 def f(x): Pour une représentation graphique sans les segments 2 if -1<=x<2: verticaux : ( 3 4 5 6 7 8 9 10 11 12 13 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 plt plt.plot(X,Y) plt.show() 1 2 3 4 5 6 7 8 9 10 ⌊ ⌋) 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 plt import numpy as np for 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 à T l'intervalle du type 0 ; . 2 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 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 def f(x): if 0<x<2: return if x==0 or return if x>2: return if x<0: return 2*x+4 x==2 : 0 f(x-4) -f(-x) X=[-10+k/100 for k in range(0,2000)] Y=[f(x) for x in X] import matplotlib.pyplot as plt plt.plot(X,Y) plt.show() 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 def f(x): return 2*x+4 import matplotlib.pyplot as plt import 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() ( T2 )=0 . Remarque : si f est T_périodique et impaire alors ∀ k ∈ℤ , f k 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 . T T T T T Par ailleurs, si f est impaire f − =− f Or, si f est T_périodique f − = f − +T = f 2 2 2 2 2 T T T T T =− f =0 ainsi f =0 . Enfin, par T_périodicité, ∀ k ∈ℤ , f +k ×T =0 Donc f donc 2 f 2 2 2 2 2 ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) 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 lim f ( t )= f ( a ) il existe un réel a tel que f soit continue sur l'intervalle ] a ; a +T [ et tt →>aa lim f ( t ) = f ( a ) { t → a+T t <a+T 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 ℝ . ∀ α∈ℝ , Démonstration : en notant k = α T ⌊ ⌋ α+T ∫α ( k +1 ) T f ( t ) dt=∫α α+T α+T ∫α T f ( t ) dt=∫0 f ( t ) dt on a : k T⩽α< ( k +1 ) T⩽α+ T ( k +1 )T f ( t ) dt +∫( k +1 ) T f ( t ) dt =∫α α +T f ( t−k T ) dt +∫( k +1 )T f ( t−( k +1 ) T ) d t =... □ Remarque : pour des questions d'éventuelle parité de la fonction f on utilise souvent Pour α∈ℝ , 1 α+T ∫ f ( t ) dt est appelée valeur moyenne de f sur une période. T α T 2 ∫− T f ( t ) dt . 2 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 ( ℝ )×C T (ℝ )→ ℝ 〈 f |g 〉→ 1 α+T ∫ f ( t )×g ( t ) dt T α Alors ( C T (ℝ ) ; 〈 …;… 〉 ) est un espace préhilbertien réel. Démonstration : CT ( ℝ ) est un sous-espace vectoriel de C0 ( ℝ ) car... 1 α+T L'application 〈 f | g 〉 → ∫α f ( t )×g ( t ) dt est un produit scalaire sur CT ( ℝ ) car... T □ α+T 1 Remarque : la norme associée à ce produit scalaire est ∥ f ∥2 ≝ ∫ ( f ( t )) 2 dt on parle alors de moyenne √T α quadratique sur une période. 1 α+T L'application 〈 f | g 〉 → ∫α f ( t )×g ( t ) dt n'est pas un produit scalaire sur le sous-espace vectoriel des fonctions TT 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 ( C T (ℝ ) ; 〈 …;… 〉 ) 2π , la famille (( x → 1 ) ; ( x → √ 2×cos ( n ω x ) )n∈ℕ* ; ( x → √ 2×sin ( n ω x ) ) n∈ℕ * ) est orthonormale dans l'espace T préhilbertien réel ( C T (ℝ ) ; 〈 …;… 〉 ) . Soit ω= Démonstration : soit deux entiers naturels n et m : 1 T ∫ cos ( n ω t )×cos ( m ωt ) dt =… T 0 1 T ∫ cos ( n ω t )×sin ( mω t ) dt =… T 0 1 T ∫ sin ( n ω t )×sin ( m ω t ) dt=… T 0 Séries de Fourier 7/17 pycreach.free.fr - TSI2 T -périodique. n Pour n ∈ℕ , soit E n =vect (( x→ cos ( k ω x ) ) k ∈⟦ 0; n⟧ ; ( x →sin ( k ω x ) ) k ∈⟦ 1; n⟧ ) . La projection orthogonale p n sur le sous espace vectoriel E n est définie par : ∀ f ∈C T (ℝ ) , Remarques : chaque fonction x →cos ( n ω x ) et x →sin ( n ω x ) est n n p n ( f )( x )= 〈 f ∣1 〉 1+∑ 〈 f ∣√ 2 cos ( k ω⋅) 〉 √ 2 cos ( k ω x ) + ∑ 〈 f ∣√ 2 sin ( k ω⋅) 〉 √ 2 sin ( k ω x ) k =1 n k =1 n 1 T 1 T 1 T p n ( f )( x )= ∫0 f ( t ) d t + ∑ f ( t ) ×√ 2 cos ( k ωt ) dt √ 2 cos ( k ω x ) +∑ ∫ ∫0 f ( t )×√ 2 sin ( k ω t ) dt 0 T k =1 T k =1 T n 1 T 2 T 2 T p n ( f )( x )= ∫0 f ( t ) d t + ∑ f ( t )×cos ( k ω t ) dt cos ( k ω x ) + ∫ ∫ f ( t ) ×sin ( k ω t ) dt sin ( k ω x ) 0 T T T 0 k =1 ( (( ) ) ( ( )√ 2 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 ( a k ( f ) )k ∈ℕ et ( b k ( f ) ) k ∈ℕ * tels que : 1 α+ T a 0 ( f )≝ ∫α f ( t ) dt (valeur moyenne sur une période) T 2 α+T ∀ k ∈ℕ*, a k ( f )≝ ∫α f ( t )×cos ( k ωt ) dt T 2 α +T ∀ k ∈ℕ*, b k ( f )≝ ∫α f ( t ) ×sin ( k ω t ) d t 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... n Remarques : avec ces notations, pour f ∈C T (ℝ ) , on a: ∀ x ∈ℝ , p n ( f )( x )=a 0 + ∑ ( a k cos ( k ω x ) +b k sin ( k ω x ) ) k =1 α+T Des résultats utiles : ∀ n∈ℕ *, ∫α cos ( n ω t ) dt=0 ∀ n∈ℕ , cos ( n π ) =(−1 ) sin ( n π ) =0 α+ T et ∀ n∈ℕ , ∫α n et et sin ( n ω t ) dt =0 cos ( 2 n+1 ) π =0 2 ( ) n sin ( 2 n+1 ) π =(−1 ) 2 ( ) n (−1 ) + 1= 2 si n est pair 0 si n est impair { 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 : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 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)]) Séries de Fourier 8/17 pycreach.free.fr - TSI2 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 : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 from sympy import * t,x = symbols('t x') n = symbols('n', integer=True, positive=True) a=-1 b=2 f=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 ℝ . [ T2 ] , f (−t )= f (t ) . f ( 0 ) =0 T est impaire si et seulement si ∀ t ∈]0 ; [ , f (−t )=− f ( t ) et 2 {f ( T2 )=0 . La fonction f est paire si et seulement si ∀ t ∈ 0 ; La fonction f 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∣) ∣x∣ f (∣x∣) et h ( 0 )=0 Si h est impaire et ∀ x ∈ ]0 ;+∞ [ , h ( x ) = f ( x ) alors ∀ x ∈ℝ* , h ( x ) = x 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 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 ( a k ) k ∈ℕ et ( b k ) k ∈ℕ* . Si la fonction f est paire alors : T 4 2 ∀ k ∈ℕ *, a k = ∫0 f ( t ) cos ( k ω t ) d t T ∀ k ∈ℕ *, b k =0 Si la fonction f est impaire alors : ∀ k ∈ℕ , a k =0 T ∀ k ∈ℕ *, b k = 4 2 ∫ f ( t ) sin ( k ω t ) dt T 0 T Démonstration : Si f est paire et T-périodique alors : a 0 ( f )= 1 2 ∫ f ( t ) dt=… T − T2 T ∀ k ∈ℕ *, a k ( f ) = 2 2 ∫ f ( t ) ×cos ( k ω t ) dt=… T − T2 ∀ k ∈ℕ *, b k ( f )= 2 2 ∫ f ( t )×sin ( k ω t ) dt =… T − T2 T Séries de Fourier 9/17 pycreach.free.fr - TSI2 Exemples de code Python permettant le calcul formel des coefficients de Fourier dans le cas d'une fonction paire ou d'une fonction impaire : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 from sympy import * t,x = symbols('t x') n = symbols('n', integer=True, positive=True) 1 2 3 4 5 a=-1 b=1 6 g=x+1 7 8 f=Piecewise((g,x>=0),(g.subs(x,-x),x<0)) 9 10 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))) 11 bn=simplify(2/(b-a)*integrate(f.subs(x,t)*sin(n*(2*pi/(b-a))*t),(t,a,b))) 12 13 pprint(a0) 14 pprint(an) 15 pprint(bn) from sympy import * t,x = symbols('t x') n = symbols('n', integer=True, positive=True) a=-1 b=1 g=x+1 f=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) T⃗ i 2 Cas d'une fonction dont la courbe représentative est invariante par une symétrie glissée de vecteur Soit f une fonction définie sur ℝ et T> 0 . T =− f ( x ) Hypothèse 1 : ∀ x ∈ℝ , f x+ 2 ( ) [ Hypothèses 2 : f est T_périodique et il existe α∈ℝ tel que ∀ x ∈ α ; α+ T T =− f ( x ) , f x+ 2 2 [ ( ) 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 et s'il existe α∈ℝ tel que f soit continue par morceaux sur α ; α+ alors f est continue par morceaux sur ℝ et ∀ k ∈ℕ, a 2k ( f ) =0 i.e. les harmoniques de rang pair sont nulles. ∀ k ∈ℕ*, b 2k ( f ) =0 T 2 ] { T T T + =− f x + =−( − f ( x ) )= f ( x ) donc f est T périodique. 2 2 2 T T Si f est continue par morceaux sur α ; α+ alors il existe une subdivision finie α=a 0 <a 1 <…<a n −1< a n =α+ 2 2 telle que f soit continue sur ] a i ; a i +1 [ et prolongeable par continuité sur [ a i ; a i +1 ] pour i∈ ⟦ 0 ; n−1 ⟧ . T T T =− f ( x ) assure que f est continue sur a i + ;a i +1 + La relation f x+ et prolongeable par continuité sur 2 2 2 T T a i + ; a i+1 + pour i∈ ⟦ 0 ; n−1 ⟧ . 2 2 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 , T α+ α+T α+ T T ( ) ( ) f t cos n ω t dt = ∫α ∫α 2 f ( t ) cos ( n ω t ) dt +∫α+ T f ( t ) cos ( n ω t ) dt en posant t=u+ 2 on a : 2 ( ) ( Démonstration : ∀ x ∈ℝ , f ( x +T )= f x+ [ ] ] ( ) ] [ α+T ∫α ) α+ f ( t ) cos ( n ω t ) dt =∫α T 2 [ f ( t ) cos ( n ω t ) dt +… n Or ∀ θ∈ℝ , cos ( θ+n π )=(−1 ) cos ( θ ) donc... Soit n∈ℕ *, α+T ∫α α+ f ( t ) sin ( n ω t ) dt=∫α α+T α+ T 2 α+T f ( t ) sin ( n ω t ) dt +∫ α+ T T 2 f ( t ) sin ( n ω t ) dt en posant t=u+ T on a : 2 ∫α f ( t ) sin ( n ω t ) dt=∫α 2 f ( t ) sin ( n ω t ) dt +… n Or ∀ θ∈ℝ , sin ( θ+ n π )=(−1 ) sin ( θ ) donc... Séries de Fourier 10/17 pycreach.free.fr - TSI2 □ 4 Exemple : soit T=4 , et f définie par ∀ x ∈[ 0 ; 2 [ , f ( x ) =2 x +4 et ∀ x ∈ℝ , f x+ =− f ( x ) . 2 ( ) 1 2 3 4 5 6 7 8 9 10 11 12 13 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 plt plt.plot(X,Y) plt.show() 1 2 3 4 5 6 7 8 9 10 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 plt import numpy as np for k in range(-5,5): plt.plot(X+2*k*np.ones(len(X)),((-1)**k)*np.array(Y)) plt.show() Définition des fonctions sommes partielles de Fourier 2π et les coefficients de T et ( b k ( f ) ) k ∈ℕ * . La somme partielle d'ordre n ∈ℕ de Fourier de f est la fonction Sn ( f ) Soit f une fonction T-périodique définie de ℝ dans ℝ et continue par morceaux, ω= Fourier de f , ( a k ( f ) )k ∈ℕ définie sur ℝ par : n ∀ x ∈ℝ ,S n ( f ) ( x ) ≝a 0 ( f ) + ∑ ( a k ( f ) ×cos ( k ω x ) +b k ( f ) ×sin ( k ω x ) ) k =1 Remarques : on retrouve ici l'expression du projeté orthogonal sur le sous espace vectoriel E n mais cette définition s'applique non seulement au fonctions CT ( ℝ ) mais aussi aux fonctions continues par morceaux et T-périodiques. T Pour k ∈ℕ *, chaque fonction x → a k ( f ) cos ( k ω x ) +b k ( f ) sin ( k ω x ) est -périodique et est appelée harmonique de k rang k . Rappel : En utilisant les exponentielles complexes : si a k +i b k≠0 alors soit ρk >0 et θk ∈ℝ tels que a k +i b k =ρ k e iθ i k ωx et a k cos ( k ω x ) +b k sin ( k ω x )=Re ( ( a k −i b k ) e )=Re ( ρk e−i θ 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. k k Séries de Fourier 11/17 pycreach.free.fr - TSI2 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 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 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=-1 b=2 n=5 An=[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. 1 α+T ∫ f ( t )×g ( t ) dt , on admet que la série de T α Fourier de f converge en moyenne quadratique vers la fonction f : lim ∥ f −S n ( f )∥2=0 Dans l'espace préhilbertien CT ( ℝ ) muni du produit scalaire 〈 f ∣g 〉 = n→+∞ Or l'inégalité triangulaire donne : ∣∥ f ∥2−∥S n ( f )∥2∣⩽∥ f −S n ( f )∥2 Donc lim ∥S n ( f )∥2=∥ f ∥2 . n→+∞ n ∀ x ∈ℝ , Sn ( f )( x )=a 0 +∑ ( a k cos ( k ω x ) +b k sin ( k ω x ) ) k =1 n 1 2 1 +( b k ) 2 2 k =1 2 ( ) ( ) ( ) ∥ ∥ Car la famille ( x → 1 ; x → cos ( n ω x ) n∈ℕ * ; x→ sin ( n ω x ) n∈ℕ* ) est orthogonale et : ( 1 2 ) =… 1 T cos2 ( k ω t ) dt =… et pour k ≠0 , ∫ 0 T 2 2 Alors, le théorème de Pythagore donne : (∥S n ( f )∥2 ) =( a 0 ) ×1 + ∑ ( a k ) 2 1 T 2 ∫ sin ( k ω t ) dt=… T 0 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, ( a k ) k ∈ℕ et ( b k ) k ∈ℕ . Si f est continue par morceaux alors les séries numériques ∑ ( a n )2 et n⩾1 ∑ ( b n )2 sont convergentes et, n⩾1 1 α+T 1 +∞ 2 2 2 2 ( f ( t ) ) dt= a + ( ) ( a n ) +( b n ) ∫ ∑ 0 α T 2 n=1 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 à f ( x +0 ) + f ( x−0 ) droite du réel x est le nombre noté défini par : 2 f ( x +0 ) + f ( x−0 ) f ( x+h ) + f ( x −h ) ≝lim 2 h→0 2 h>0 Remarque : si la fonction f est continue en un réel x alors f ( x +0 ) + f ( x−0 ) = f (x ) 2 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 ) est appelée régularisée de f . 2 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 +3 k alors f ( x ) =5 ̃ sinon 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 ̃f ( a +0 ) + ̃f ( a−0 ) g ( a ) + g ( b ) = ∀ x ∈ ]a ;b [ , ̃f ( x ) =g ( x ) où g est prolongeable par continuité sur [ a ; b ] : ̃f ( a ) = 2 2 { 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 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 np X=np.linspace(-2,2,1001) Y=[periodique_et_regularisee(lambda t:t**2,0,1,x) for x in X] import matplotlib.pyplot as plt plt.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 , ( S n ( f ) ( x ) ) n∈ℕ converge vers la demi-somme des limites de f à gauche et à droite du réel x : +∞ f ( x +0 ) + f ( x−0 ) ∀ x ∈ℝ , a 0 ( f ) +∑ a n ( f )×cos ( n ω x ) +b n ( f )×sin ( n ω x )= 2 n=1 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 ℝ . f ( x+ 0 ) + f ( x−0 ) Remarque : si une fonction est égale à sa régularisée i.e. ∀ x ∈ℝ , f ( x ) = alors elle est dite 2 « 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 ∈ℝ , a 0 ( f ) +∑ a n ( f )×cos ( n ω x ) +b n ( f )×sin ( n ω x )= f ( x ) n=1 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 ) = Séries de Fourier 16/17 f ( x+ 0 ) + f ( x−0 ) donc f est égale à sa régularisée. 2 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 : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 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=-1 b=1 n=40 An=[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 plt plt.plot(X,Y) Séries de Fourier 17/17 pycreach.free.fr - TSI2