lunes, 9 de abril de 2012

SUMATORIA DE FOURIER


Mediante el siguiente ejercicio plantearemos una función x(t) como una Sumatoria de Fourier y de esta manera afianzaremos mas los conceptos acerca de este tema.

Función:

x(t) = t  Desde -1 a 1

T=2 (Periodo)



Procedemos a realizar un código en matlab que resuelva la integral de la función x(k) y haga la sumatoria para un determinado número de k y que finalmente gráfique x(t) de tal manera que sea muy similar a la función x(t) original.

Código en Matlab:

clear all
clc
syms k
syms t

fxt=t; %Funcion x(t)=t
Ti=2; %Periodo de la función
w=(2*pi)/Ti;

fxki=fxt*exp(-1i*w*k*t);
fxk=(1/Ti)*int(fxki,-1,1);
disp(fxk); %Resultado de la funcion fxk

N=30; %Numero de sumatorias establecidas para la serie de Fourier
xt=0;

for kN=-N:1:N %Valor de K para cada evaluacion en N
  
    if kN==0
        xik=0; %Este valor se obtiene por L'Hopital ya que cuando k=0 se da una indeterminacion
    else
      xi=fxk*exp(1i*w*k*t);
      xik=subs(xi,k,kN);
    end
   
   disp(kN)
   disp(xik)
   xt=xt+xik; %Sumatoria de Fourier
end

disp(xt)%Resultado de x(t)

for ti=-2:0.005:2 %Intervalo de tiempo de la funcion
      xti=subs(xt,t,ti);
      plot(ti,xti)
      grid on
      hold on
      xlabel('Tiempo t')
      ylabel('Aproximación de x(t)')
      title('Sumatoria de Fourier para x(t)')     
end

Como resultado obtenemos la siguiente Sumatoria de Fourier que representa gráficamente la aproximación de la función x(t):


Este proceso toma un poco de tiempo por cuenta del programa, en mi caso alrededor de 5 minutos ya que se tiene que calcular la integral y luego evaluarla en cada uno de los valores que tomara la sumatoria de fourier asi que no nos queda mas remedio que esperar un poco.

No hay comentarios:

Publicar un comentario