lunes, 14 de mayo de 2012

Sumatoria de Fourier

Programa de Matlab que grafique la aproximacion de esta funcion, dependiendo del numero N que se desee para limitar la sumatoria


Esta función se puede definir como x(t) = t , desde -1 a 1, con un periodo To=2

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.

Matlab Codigo:


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




No hay comentarios:

Publicar un comentario