%% prog 03 SerieFourier03 % % f(t) = exp(t) -pi <= t <= pi % clearvars; close all; clc; %% datos iniciales %intervalo de analisis Tini = -5*pi; Tfin = 5*pi; dt = pi/250; FTini = -0.5*pi; FTfin = 1.5*pi; %tiempo t = Tini:dt:Tfin; %tiempo (arreglo 1D) Nt = length(t); %longitud del arreglo tiempo %% procesamiento principal N = 100 ; %numero de elementos de la serie de fourier ft = zeros(1,Nt); %inicializacion con ceros %inicializacion de los coeficientes de la serie a_0 = 2*sinh(1); a_0 = a_0/2; ft(1:Nt) = a_0; %insertamos el elemento a0 de la serie a_n = zeros(1,N); %inicializacion de an b_n = zeros(1,N); %inicializacion de bn e = exp(1); %figura del termino a0 figure(1) plot(t,ft) title('mi primera serie de fourier a0'); xlabel('tiempo t(s)'); ylabel('presion sonora p(Pa)'); legend(['f_n(t) n = ' int2str(0)]); axis([Tini Tfin FTini FTfin]); grid on; box on; pause(0.5) for n = 1:N %trabajaremos usando el concepto de variable acumulativa a_n(n) = ((-1 + e^2)*cos(n*pi) + (1 + e^2)*n*pi*sin(n*pi))/(e + e*n^2*pi^2); b_n(n) = (-(-1 + e^2)*n*pi*cos(n*pi) + (1 + e^2)*sin(n*pi))/(e + e*n^2*pi^2); ft = ft + a_n(n)*cos(n*t) + b_n(n)*sin(n*t); %figura de como se van agregando los terminos an y bn figure(1) plot(t,ft) title('mi primera serie de fourier a_n y b_n'); xlabel('tiempo t(s)'); ylabel('presion sonora p(Pa)'); legend(['f_n(t) n = ' int2str(n)]); axis([Tini Tfin FTini FTfin]); grid on; box on; %pausa cada 1 segundo pause(0.01) end; figure(2) plot(t,ft) title('mi primera serie de fourier final'); xlabel('tiempo t(s)'); ylabel('presion sonora p(Pa)'); legend('f(t)'); axis([Tini Tfin FTini FTfin]); grid on; box on; %% areglos de an y bn final a_n = [a_0 a_n]; b_n = [0 b_n]; n = 0:N; figure(3) subplot(2,1,1) stem(n,a_n) title('coeficientes de fourier a_n'); xlabel('n'); ylabel('an'); legend('an'); axis([0 N -1.5*a_0 1.5*a_0]); grid on; box on; subplot(2,1,2) stem(n,b_n) title('coeficientes de fourier b_n'); xlabel('n'); ylabel('bn'); legend('bn'); axis([0 N -1.5*a_0 1.5*a_0]); grid on; box on;