lunes, 23 de abril de 2012

Transformada de Fourier

Para la siguiente función, realizaremos un codigo en matlab que nos permita hallar la transformada de Fourier, tal como se observó en clase, y modificando el tiempo veremos como varia la función mediante una grafica. Utilizaremos los valores de tiempo 1, 5, 10 y 50 segundos para observar la manera en que se modifica la grafica de la función.


El codigo elaborado en Matlab para graficar la función es el siguiente:

clc
clear all
format long
T=1; 
O=[-10:.005:10];
Y=A.*T.*(sin((O*T/2))./(O.*T/2));
plot (O,Y,'-b')
grid on
title('Función para T=1seg');
ylabel('F(Omega)');

clc
clear all
format long
T=5;
O=[-10:.005:10];
Y=A.*T.*(sin((O*T/2))./(O.*T/2));
plot (O,Y,'-b')
grid on
title('Función para T=5seg');
ylabel('F(Omega)');

clc
clear all
format long
T=10;
O=[-10:.005:10];
Y=A.*T.*(sin((O*T/2))./(O.*T/2));
plot (O,Y,'-b')
grid on
title('Función para T=10seg');
ylabel('F(Omega)');

clc
clear all
format long
T=50;
O=[-10:.005:10];
Y=A.*T.*(sin((O*T/2))./(O.*T/2));
plot (O,Y,'-b')
grid on
title('Función para T=50seg');
ylabel('F(Omega)');

Las graficas obtenidas son las siguientes:


miércoles, 11 de abril de 2012

Serie de Fourier

En este post resolveremos el ejercicio planteado durante la clase mediante la aplicación de la serie de Fourier.
El ejercicio se basa en la siguiente función, la cual modificaremos bajo el concepto de la sumatoria de fourier para los valores de N=5, N=20 y N=50.


El codigo que se uso en Matlab para graficar las funciones fue el siguiente:
clc
clear all
syms t
syms h
fx=t;
xt=0;
xh=int((fx*exp(-j*pi*h*t)),-1,1)/2;
disp('la función para los coeficientes de fourier es:')
disp(xh);
N=5;

for co=-N:1:N
 if co==0
 v=0
else
xi=xh*exp(j*pi*h*t);
 v=subs(xi,h,co);
 end
 disp('componente numero:')
 disp(co)
disp(v)
xt=xt+v;
end

for ti=-2:0.01:2
xti=subs(xt,t,ti);
 plot(ti,xti,'--g.')
 grid on
hold on
 xlabel('Tiempo')
 ylabel('X(t) Aproximada')
 title('Serie de Fourier F(X)')
end