### 6.25.1 Les coefficients de Fourier : `fourier_an` et `fourier_bn` ou `fourier_cn`

Si la fonction f est continue par morceaux sur ℝ, et est périodique de période T, alors aux points de continuité de f on a :

f(x)=a0+ |
+∞
∑
n=1
| an cos( |
2π nx
T
| )+bn sin( |
2π nx
T
| )

ou

f(x)= |
+∞
∑
n=−∞
| cn e |
2iπ nx
T

où les coefficients an, bn, n∈ N, (ou cn, n ∈ Z) sont les coefficients de Fourier de f et se calculent avec les fonctions :
`fourier_an` et `fourier_bn` ou `fourier_cn`.

#### `fourier_an`

`fourier_an` a quatre ou cinq paramètres : une expression Xpr dependant d’une variable, le nom de la variable (par exemple x), la période T, un entier n et a (a vaut 0 par défaut).
`fourier_an(Xpr,x,T,n,a)` renvoie le coefficient de Fourier an d’une fonction de variable x définie sur [a,a+T[ par f(x)=Xpr et périodique de période T.
Si f est continue par morceaux `fourier_an(Xpr,x,T,n,a)` renvoie an=2/T∫aa+Tf(x)cos(2π nx /T)dx
Si l’on veut que les calculs soient simplifiés il faut dire que n est un entier en tapant `assume(n,integer)`.
Exemples

- Soit la fonction f, de période T=2π, définie sur [−π;π[ par f(x)=1+cos(x)+sin(x).
  On tape, pour avoir son coefficient a0 :
  `fourier_an(1+cos(x)+sin(x),x,2*pi,0,-pi)`
  On obtient :
  `1`
  On tape, pour avoir son coefficient a1 :
  `fourier_an(1+cos(x)+sin(x),x,2*pi,1,-pi)`
  On obtient :
  `1`
  On tape, pour avoir son coefficient an (n≠ 0 et n≠ 1) :
  `assume(n,integer)`
  `fourier_bn(1+cos(x)+sin(x),x,2*pi,n,-pi)`
  On obtient :
  `0`
- Soit la fonction f, de période T=2, définie sur [−1;1[ par f(x)=x2.
  On tape, pour avoir son coefficient a0 :
  `fourier_an(x```^```2,x,2,0,-1)`
  On obtient :
  `1/3`
  On tape, pour avoir son coefficient an (n≠ 0) :
  `assume(n,integer)`
  `fourier_an(x```^```2,x,2,n,-1)`
  On obtient :
  `4*(-1)```^```n/(pi```^```2*n```^```2)`

#### `fourier_bn`

`fourier_bn` a quatre ou cinq paramètres : une expression Xpr dependant d’une variable, le nom de la variable (par exemple x), la période T, un entier n et a (a vaut 0 par défaut).
`fourier_bn(Xpr,x,T,n,a)` renvoie le coefficient de Fourier bn d’une fonction de variable x définie sur [a,a+T[ par f(x)=Xpr et périodique de période T.
Si f est continue par morceaux `fourier_bn(Xpr,x,T,n,a)` renvoie :
bn=2/T∫aa+Tf(x)sin(2π nx/T)dx
Si l’on veut que les calculs soient simplifiés il faut dire que n est un entier en tapant `assume(n,integer)`.
Exemples

- Soit la fonction f, de période T=2π, définie sur [−π;π[ par f(x)=1+cos(x)+sin(x).
  On tape, pour avoir son coefficient b1 :
  `fourier_bn(1+cos(x)+sin(x),x,2*pi,1,-pi)`
  On obtient :
  `1`
  On tape, pour avoir son coefficient bn (n≠ 1) :
  `assume(n,integer)`
  `fourier_bn(1+cos(x)+sin(x),x,2*pi,n,-pi)`
  On obtient :
  `0`
- Soit la fonction f, de période T=2, définie sur [−1;1[ par f(x)=x2.
  On tape, pour avoir son coefficient bn (n≠ 0) :
  `assume(n,integer)`
  `fourier_bn(x```^```2,x,2,n,-1)`
  On obtient :
  `0`
- Soit la fonction f, de période T=2, définie sur [−1;1[ par f(x)=x3.
  On tape, pour avoir son coefficient b1 :
  `fourier_bn(x```^```3,x,2,1,-1)`
  On obtient :
  `(2*pi```^```2-12)/pi```^```3`
  On tape, pour avoir son coefficient bn :
  `assume(n,integer)`
  `fourier_bn(x```^```3,x,2,n,-1)`
  On obtient :
  `(-2*n```^```2*pi```^```2*(-1)```^```n+12*(-1)```^```n)/(n```^```3*pi```^```3)`

#### `fourier_cn`

`fourier_cn` a quatre ou cinq paramètres : une expression Xpr, le nom de la variable (par exemple x), la période T, un entier n et a (a vaut 0 par défaut).
`fourier_cn(Xpr,x,T,n,a)` renvoie le coefficient de Fourier cn d’une fonction de variable x définie sur [a,a+T[ par f(x)=Xpr et périodique de période T.
Si f(x)=Xpr est continue par morceaux sur ℝ, `fourier_cn(Xpr,x,T,n,a)` renvoie cn=1/T∫aa+Tf(x)e−2iπ nx/Tdx
Exemples

- Soit la fonction f, de période T=2π, définie sur [−π;π[ par f(x)=1+cos(x)+sin(x).
  On tape, pour avoir son coefficient c0 :
  `fourier_cn(1+cos(x)+sin(x),x,2*pi,0,-pi)`
  On obtient :
  `1`
  On tape, pour avoir son coefficient c1 :
  `fourier_cn(1+cos(x)+sin(x),x,2*pi,1,-pi)`
  On obtient :
  `(1-i)/2`
  On tape, pour avoir son coefficient c−1 :
  `fourier_cn(1+cos(x)+sin(x),x,2*pi,-1,-pi)`
  On obtient :
  `(1+i)/2`
  On tape, pour avoir son coefficient cn (n≠ 0 et n≠ ± 1) :
  `assume(n,integer)`
  `fourier_cn(1+cos(x)+sin(x),x,2*pi,n,-pi)`
  On obtient :
  `0`
- Déterminer les coefficients cn de Fourier de la fonction f périodique de période 2 et définie sur [−1;1[ par f(x)=x2.
  On tape, pour avoir c0 :
  `fourier_cn(x```^```2,x,2,0,-1)`
  On obtient:
  `1/3`
  On tape, pour avoir cn :
  `assume(n,integer)`
  `fourier_cn(x```^```2,x,2,n,-1)`
  On obtient:
  `2*(-1)```^```n/(pi```^```2*n```^```2)`
- Déterminer les coefficients cn de Fourier de la fonction f périodique de période 2 et définie sur [0;2[ par f(x)=x2.
  On tape, pour avoir c0 :
  `fourier_cn(x```^```2,x,2,0)`
  On obtient:
  `4/3`
  On tape, pour avoir cn :
  `assume(n,integer)`
  `fourier_cn(x```^```2,x,2,n)`
  On obtient:
  `((2*i)*pi*n+2)/(pi```^```2*n```^```2)`
- Déterminer les coefficients cn de Fourier de la fonction f périodique de période 2π, et définie sur [0;2π[ par f(x)=x2.
  On tape :
  `assume(n,integer)`
  `fourier_cn(x```^```2,x,2*pi,n)`
  On obtient :
  `((2*i)*pi*n+2)/n```^```2`
  Si on ne met pas `assume(n,integer)` on obtient une expression non simplifiée :
  `((2*i)*pi```^```2*n```^```2*exp((-i)*n*2*pi)+2*pi*n*exp((-i)*n*2*pi)+`
  `(-i)*exp((-i)*n*2*pi)+i)/(pi*n```^```3)`
  que l’on peut simplifier en remplacant `exp((-i)*n*2*pi)` par `1` :
  `subst(ans(),exp((-i)*n*2*pi)=1)`
  On obtient :
  `((2*i)*pi```^```2*n```^```2+2*pi*n+-i+i)/pi/n```^```3`
  expression que l’on peut simplifier avec `normal` et on trouve finalement :
  `((2*i)*pi*n+2)/n```^```2`
  Il est donc préférable d’écrire `assume(n,integer)`.
  Donc si n ≠ 0 on a :

  cn= |
  2*i*n*π+2
  n2

  Puis on tape :
  `fourier_cn(x```^```2,x,2*pi,0)`
  On obtient :
  `4*pi```^```2/3`
  Donc si n= 0 on a :

  c0= |
  4.π2
  3

Remarque :
Lorsque l’on ne veut plus considérer n comme un entier on doit taper :
`purge(n)`.
Pour connaître les hypothéses faites sur une variable, par exemple n, on tape :
`about(n)`