%% serie de fourier compleja 01 % { 1 para -1 <= t < 0 % f(t) = { % { 1 - t para 0 <= t <= 1 clearvars; close all; clc; %% definiciones Tmin = -4; Tmax = 4; dt = 0.005; %%tiempo t = Tmin:dt:Tmax; Nt = length(t); %%función f2t = zeros(1,Nt); %% serie de fourier figure(1) plot(t,f2t); title('serie de fourier'); xlabel('t (s)'); ylabel('f_1(t) (Pa)'); grid on; box on; %sumatoria N = 201; for n = 1:N nn(n) = -round(N/2) + n; %coeficiente %el valor de c(0) ha sido incorporado del programa anterior %ProgEcDif01_2022_01_Fourier01.m que corresponde a c0 = a0/2 if n == round(N/2); %valor cn(0) cn(n) = 3/4; else %valor c(n) cn(n) = (exp(j*nn(n)*pi) - 1)/(2*j*nn(n)*pi) - (-j*nn(n)*pi - exp(-j*nn(n)*pi) + 1)/(2*(j*nn(n)*pi)^2 ); end; %funcion f2t = f2t + cn(n)*exp(j*nn(n)*pi*t); figure(1) plot(t,f2t); title('serie de fourier'); xlabel('t (s)'); ylabel('f_2(t) (Pa)'); legend(['f_2(t) n = ',num2str(nn(n))]); axis([Tmin,Tmax,-0.5,1.5]); grid on; box on; pause(0.05); end; %% figura final figure(2) plot(t,f2t); title('serie de fourier'); xlabel('t (s)'); ylabel('f_2(t) (Pa)'); legend(['f_2(t) n = ',num2str(nn(n))]); axis([Tmin,Tmax,-0.5,1.5]); grid on; box on; %% figura final parte real e imaginaria figure(3) subplot(2,1,1) plot(t,real(f2t)); title('parte real f_2(t)'); xlabel('t'); ylabel('real(f_2(t))'); legend('real(f_2(t))'); grid on; box on; subplot(2,1,2) plot(t,imag(f2t)); title('parte imaginaria f_2(t)'); xlabel('n'); ylabel('imag(f_2(t))'); legend('imag(f_2(t))'); grid on; box on; %% figura coeficientes figure(4) subplot(2,1,1) stem(nn,real(cn)); title('coeficientes parte realc_n'); xlabel('n'); ylabel('real(c_n)'); legend('real(c_n)'); grid on; box on; subplot(2,1,2) stem(nn,imag(cn)); title('coeficientes parte imaginaria c_n'); xlabel('n'); ylabel('imag(c_n)'); legend('imag(c_n)'); grid on; box on; figure(5) subplot(2,1,1) stem(nn,abs(cn)); title('amplitud c_n'); xlabel('n'); ylabel('abs(c_n)'); legend('abs(c_n)'); grid on; box on; subplot(2,1,2) stem(nn,angle(cn)); title('fase c_n'); xlabel('n'); ylabel('fase(c_n)'); legend('fase(c_n)'); grid on; box on; %hay un problema no queda bien cn(0) porque hay que calcular el limite %lim n->0 de (exp(j*n*pi) - 1)/(2*j*n*pi) - (-j*n*pi - exp(j*n*pi) + 1)/(2*(j*n*pi)^2 ) %recomienda usar regla l'hopital para calcular cn(0)