Implementacao da serie de fourier no matlab
SÉRIE DE FOURIER - MATLAB
Vinícius Arruda
Belo Horizonte Fev./2012
%******************** Vinicius Arruda ******************************* T = 8; A_0 = 120; W_0 = 2 * pi / T; %Periodo da função dada %A0 previamente calculado %Frequencia
%******************* SÉRIE COM 3 TERMOS **************************** %Inicialição de f_x F_x = zeros(1,2401); for n = 1:1:3 % variação de n para a quantidade de termos desejados i = 0; for t = -12:0.01:12 % tempo de amostragem i = i + 1; An = (10*T/(n*pi)) * (3*(sin(n*pi)-sin(3*n*pi/4)) + 2*(sin(3*n*pi/4)-sin(n*pi/2)) + (sin(n*pi/2)-sin(n*pi/4))); Cos_n = cos(n * W_0 * t); F_x(i) = F_x(i) + An * Cos_n; %calculo da série de Fourier end end F_x = F_x * (2 / T); F_x = F_x + (A_0 / T); t = -12:0.01:12; %Intervalo de tempo amostrado %Plotagem: figure(1),plot(t,F_x),grid,xlabel('t'),ylabel('Y'),... title('Fourier com n=3'),axis([-15 15 -10 40]); %******************************************************************* %******************* SÉRIE COM 5 TERMOS **************************** %Inicialição de f_x F_x = zeros(1,2401); for n = 1:1:5 % variação de n para a quantidade de termos desejados i = 0; for t = -12:0.01:12 % tempo de amostragem i = i + 1; An = (10*T/(n*pi)) * (3*(sin(n*pi)-sin(3*n*pi/4)) + 2*(sin(3*n*pi/4)-sin(n*pi/2)) + (sin(n*pi/2)-sin(n*pi/4))); Cos_n = cos(n * W_0 * t); F_x(i) = F_x(i) + An * Cos_n; %calculo da série de Fourier end end F_x = F_x * (2 / T); F_x = F_x + (A_0 / T); t = -12:0.01:12; %Intervalo de tempo amostrado %Plotagem: figure(2),plot(t,F_x),grid,xlabel('t'),ylabel('Y'),... title('Fourier com n=5'),axis([-15 15 -10 40]); %******************************************************************* %******************* SÉRIE COM 10 TERMOS **************************** F_x = zeros(1,2401); %Inicialição de f_x for n = 1:1:10 % variação de n para a