Serie de Fourier con Matlab
Series de Fourier, Señal digital:
n=input('Número de términos: ');
hold on
x=[-1 -0.5 -0.5 0.5 0.5 1];
y=[0 0 1 1 0 0];
plot(x,y,'b')
x=linspace(-1,1,100);
y=zeros(length(x),1);
for i=1:length(x)
y(i)=1/2;
for k=1:2:n
y(i)=y(i)+(-1)^((k-1)/2)*2*cos(k*pi*x(i))/(k*pi);
end
end
plot(x,y, 'r');
title(sprintf('Aproximación de Fourier: %i términos',n))
xlabel('t'); ylabel('f(t)')
hold off
hold on
for i=0.01:i<100
y=(i)-sin(i*t)/(i*pi)-sin((i+1)*t)/((i+1)*pi);
end
plot(t,y,'b')
hold on
x=[-1 -0.5 -0.5 0.5 0.5 1];
y=[0 0 1 1 0 0];
plot(x,y,'b')
x=linspace(-1,1,100);
y=zeros(length(x),1);
for i=1:length(x)
y(i)=1/2;
for k=1:2:n
y(i)=y(i)+(-1)^((k-1)/2)*2*cos(k*pi*x(i))/(k*pi);
end
end
plot(x,y, 'r');
title(sprintf('Aproximación de Fourier: %i términos',n))
xlabel('t'); ylabel('f(t)')
hold off
Serie de Fourier: Dientes de Sierra
t=-1:0.1:10;hold on
for i=0.01:i<100
y=(i)-sin(i*t)/(i*pi)-sin((i+1)*t)/((i+1)*pi);
end
plot(t,y,'b')
0 comentarios: