Práctica 2 Series de Fourier
Práctica 2 Series de Fourier
Práctica 2 Series de Fourier
Práctica 2:
Series de Fourier
1
1. Introducción
Escribiendo
In[]:= Integrate[Sin[n*x],{x,-Pi,Pi}]
obtenemos que dicho valor es 0. Sin embargo cuando escribimos
In[]:= Integrate[Cos[n*x],{x,-Pi,Pi}]
obtenemos
2 Sin[n ]
Out[] =
n
que también vale 0. Se puede comprobar para algunos valores de n escri-
biendo
In[]:= Table[2Sin[n*Pi],{n,-10,10}]
Si de…nimos ahora
In[]:= psin[n_,m_]=Integrate[Sin[n*x]*Sin[m*x],{x,-Pi,Pi}]
In[]:= pcos[n_,m_]=Integrate[Cos[n*x]*Cos[m*x],{x,-Pi,Pi}]
In[]:= pcosin[n_,m_]=Integrate[Cos[n*x]*Sin[m*x],{x,-Pi,Pi}]
se obtiene
2 n Cos[n ] Sin[m ] 2 m Cos[m ] Sin[n ]
Out[] =
m2 n2
2 m Cos[n ] Sin[m ] 2 n Cos[m ] Sin[n ]
Out[] =
m2 n2
Out[] = 0
2
Se puede observar como el último valor es 0, aunque las dos primeras expre-
siones también lo son. Para ello hay que recordar que sen(n ) = 0; 8n 2 Z.
Así, sólo nos faltaría estudiar el caso m = n. Escribiendo
In[]:= Integrate[Sin[n*x]*Sin[n*x],{x,-Pi,Pi}]
In[]:= Integrate[Cos[n*x]*Cos[n*x],{x,-Pi,Pi}]
obtenemos
Sin[2 n ]
Out[] =
2n
Sin[2 n ]
Out[] = +
2n
cuyo valor es .
Ya que habíamos utilizado una función para guardar los valores de las
integrales de los senos y de los cosenos, se podría pensar en escribir
In[]:= psin[n,n]
In[]:= pcos[n,n]
sin embargo se produce un error (Indeterminate) al ejecutar dichas or-
denes ya que la función asignada tenía como denominador la expresión m2 n2
que vale cero cuando m = n.
Resumiendo, los valores de los diferentes productos escalares son:
3
integrable y dichos coe…cientes se calculan mediante las siguientes expresiones
denominadas fórmulas de Euler:
Z
1
an = f (t) cos(n t) dt n = 0; 1; 2; : : :
Z
1
bn = f (t) sen(n t) dt n = 1; 2; : : :
Ejemplo 1 Obtén los 10 primeros coe…cientes coseno y los 5 seno para las
siguientes funciones:
a) f (t) = t b) f (t) = t c) f (t) = t2
2 n Cos[n ] + 2 Sin[n ]
Out[]=
n2
y como sen(n ) = 0 podemos simpi‡icar, o mejor reescribir (ya que en
este caso no funciona el comando Simplify) la última expresión como
In[]= b1[n_]=-2Cos[n*Pi]/n;
y generar una tabla que nos permita obtener los 5 primeros coe…cientes
seno de la función.
In[]:= Table[b1[k],{k,1,5}]
2 1 2
Out[] = f2; 1; ; ; g
3 2 5
4
3. Polinomios de Fourier. Representación grá-
…ca
Ahora nos proponemos encontrar la grá…ca de un número …nito de ele-
mentos (polinomio) de la serie de Fourier. Para ello, vamos a construir una
función que obtenga dicha expresión y posteriormente haremos su repre-
sentación grá…ca.
In[]:= Clear[a,b,b1]
In[]:= a[n_]=1/Pi*Integrate[t*Cos[n*t],{t,-Pi,Pi}];
In[]:= b[n_]=1/Pi*Integrate[t*Sin[n*t],{t,-Pi,Pi}];
In[]:= PFourier[n_]:=
a[0]/2+Sum[a[k]*Cos[t*k]+b[k]*Sin[t*k],{k,1,n}];
In[]:= id2=PFourier[2];
In[]:= Plot[{t,id2},{t,-Pi,Pi}]
5
obteniendo la grá…ca
Para n = 3 escribimos
In[]:= id3=PFourier[3];
In[]:= Plot[{t,id3},{t,-Pi,Pi}]
y obtenemos
Puede observarse como a medida que tomáramos más términos del polinomio
así construido, éste se ajustaría mejor a la función. Y si quisieramos conocer
explícitamente los polinomios de Fourier que hemos calculado podríamos
hacerlo de la siguiente forma:
In[]:= PFourier[2]//ComplexExpand
6
que expresa el polinomio (en variable t) de forma trigonométrica
2Sin[t] Sin[2t]
In[]:= PFourier[3]//ComplexExpand
2
2Sin[t] Sin[2t] + Sin[3t]
3
In[]:= PFourier[t_,n_]:=
a[0]/2+Sum[a[k]*Cos[t*k]+b[k]*Sin[t*k],{k,1,n}];
In[]:= s2[t_]=PFourier[t,2];s3[t_]=PFourier[t,3];
Y entonces, con las funciones s2[t] y s3[t] así de…nidas (que coinciden
con las funciones id2 e id3) podemos obtener cualquier valor numérico sin
más que sustituir la variable t. Por ejemplo:
In[]:= {s3[0],s3[0.25],s3[0.5],s3[0.75],s3[1.]}//Chop
Out[]= {0,0.469808,0.782377,0.884498,0.867725}
In[]:= id3/.{t->{0,0.25,0.5,0.75,1.}}//Chop
7
4. Desarrollo de Fourier de una función 2 -
periódica
Nuestro objetivo ahora es a partir de una función real cualquiera consi-
derada en un intervalo de longitud 2 , extender dicha función en todo R, es
decir, hacerla periódica de periodo 2 y después de ello obtener su desarrollo
de Fourier. Veamos lo comentado para la función f (x) = x2 en un sencillo
ejemplo.
Ejemplo 3 Obtén el desarrollo de Fourier de la función 2 -periódica
f (x) = x2 , x 2 [0; 2 ]:
Solución: Primero vamos de…nir una nueva función extendiendo la fun-
ción dada a un intervalo más amplio y observaremos su grá…ca con…rmando
su periodicidad. Para hacer esta extensión tendremos en cuenta que deseamos
la misma grá…ca en los intervalos [ 2 ; 0] y [2 ; 4 ] que la que existe en el
intervalo [0; 2 ]. Así, en [ 2 ; 0] deberemos sumar 2 a la variable indepen-
diente x , mientras que en [2 ; 4 ] le restaremos 2 . Es decir, tenemos que
de…nir y trabajar con la función de…nida a trozos
8
>
> (x + 2 )2 2 x<0
<
f (x) = x2 0 x<2
>
>
: (x 2 )2 2 x 4
Así escribimos
In[]:= f[x_]=Piecewise[{{(x+2Pi)^2,-2Pi<=x<0},{x^2,0<=x<2Pi},
{(x-2Pi)^2,2Pi<=x<=4Pi}}]
que es una primera y bastante aconsejable forma de expresar dicha función
ya que el Out[ ] que devuelve se asemeja a la forma en que escribimos las
funciones de…nidas a trozos. Otras formas de expresar f (x) con Mathematica
pueden ser, con Which[ ] o utilizando /; que equivale a un “si condicional”.
In[]:= g[x_] =Which[-2Pi<=x<0,(x+2Pi)^2,0<=x<2Pi,x^2,
2Pi<=x<=4Pi,(x-2Pi)^2];
In[]:= h[x_]:=(x+2Pi)^2/;-2Pi<=x<0
h[x_]:=x^2/;0<=x<2Pi
h[x_]:=(x-2Pi)^2/;2Pi<=x<=4 Pi
8
Podemos representar grá…camente cualquiera de ellas para observar, que
son iguales y que se corresponden con “un trozo de parábola"” repetido 3
veces.
In[]:= Plot[f[x],{x,-2Pi,4Pi}]
In[]:= a0=1/Pi*Integrate[x^2,{x,0,2Pi}]
8 2
Out[] =
3
obteniendo
4 n Cos[2 n ] + ( 2 + 4 n2 ( )2 ) Sin[2 n ]
Out[] =
n3
y escribiendo
In[]:= b[n_]=1/Pi*Integrate[x^2*Sin[n*x],{x,0,2Pi}]
9
se obtiene
2 + (2 4 n2 2
) Cos[2 n ] + 4 n Sin[2 n ]
Out[] =
n3
Ahora se construye el polinomio escribiendo
In[]:= s[n_]:=a0/2+Sum[a[k]*Cos[k*x]+b[k]*Sin[k*x],{k,1,n}]
In[]:= pol={s[1],s[2],s[5],s[10],s[20]};
In[]:= Plot[{f[x],pol},{x,-2Pi,4Pi}]
10
los coe…cientes de Fourier. La relación que liga x con t se obtiene planteando
una sencilla regla de tres. Así, haciendo el cambio de variable
tT
x=
2
y tomando
tT
'(t) = f
2
se tiene que '(t) es una función 2 -periódica.
In[]:= Clear[f,a0,a,b,s,pol]
In[]:= f[x_]=Piecewise[{{Pi(1-x-2),-3<=x<-1},{Pi(1-x),-1<=x<1},
{Pi(1-x+2),1<=x<=3}}]
In[]:= Plot[f[x],{x,-3,3}]
In[]:= h[t_]=f[t/Pi];
11
y su grá…ca es de la forma
Se observa que las grá…cas de f (x) y h(t) son sustancialmente iguales, porque
lo que hemos realizado no es más que un cambio de escala de la variable
independiente. Calculemos ahora los coe…cientes de Fourier. El primero es
In[]:= a[n_]=1/Pi*Integrate[h[t]*Cos[n*t],{t,-Pi,Pi}]
obteniendo
2 Sin[n ]
Out[] =
n
y escribiendo
In[]:= b[n_]=1/Pi*Integrate[h[t]*Sin[n*t],{t,-Pi,Pi}]
se obtiene
2(n Cos[n ] Sin[n ])
Out[] =
n2
Construimos ahora el polinomio escribiendo (nótese que an = 0; n 1)
In[]:= s[n_]:=a0/2+Sum[b[k]*Sin[k*t],{k,1,n}]
12
obteniendo así la suma parcial de los n primeros términos de la serie de
Fourier. Como en la sección anterior, dibujamos la grá…ca de h(t) junto con
algunas de estas sumas parciales.
In[]:= pol={s[1],s[2],s[5],s[10],s[20]};
In[]:= Plot[{h[t],pol},{t,-3Pi,3Pi}]
13
In[]:= FS5=FourierSeries[t^2,t,5]
In[]:= ComplexExpand[FS5]
obteniendo
2
4 1 4
Out[] = 4 Cos[t] + Cos[2 t] Cos[3 t] + Cos[4 t] Cos[5 t]
3 9 4 25
y para comparar las funciones grá…camente
In[]:= Plot[{t^2,FS5},{t,-Pi,Pi},PlotStyle->{Blue,Red}]
14