Description Código para generar las series de Fourier de funciones definidas a trozos , genera los coeficientes A0, An, Bn y la función de aproximación, genera la gráfica de las funciones originales y de la función de aproximación, es necesario revisar el intervalo de graficación de las funciones originales para que se adecuen a tus necesidades MATLAB release MA!AB "#$% &'(0$(a) MATLAB Search Path /
transformada_de_fourier_grupo_ transformada_de_fourier_grup o_ de_funciones.m clear , clf, clc, close all syms x n %f=input('ingrese las funciones entre corchetes [] separadas por espacios'); %p=input('ingrese los puntos en que estan ealuadas las funciones entre corchetes [] separadas por espacios'); f=[x!" x!#];%funciones p=[$pi pi];%interalos f=sym(f); a=; for i=&length(f)
a=aint(f(i),'x',p(i),p(i&));
end disp('coeficiente ') a=simple(a/pi); pretty(a) an=; for i=&length(f)
an=anint(f(i)*cos(n*x),'x',p(i),p(i&));
end disp('coeficiente n') an an=simple(an/pi) an=su+s(an,cos(pi*n),sin(pi*n)-,($&)!n,-) pretty(an) +n=; for i=&length(f)
+n=+nint(f(i)*sin(n*x),'x',p(i),p(i&));
end disp('coeficiente .n') +n=simple(+n/pi); +n=su+s(+n,cos(pi*n),sin(pi*n)-,($&)!n,-); pretty(+n) d=input('ingrese el alor de los armonicos n') 0=d; d=sym(d); 1a=a/2; %ciclo para generar la sumatoria tic for 3=&d 1=;
1=an*cos(n*x)+n*sin(n*x);
1=su+s(1,n,3);
1a=1a1;
end % graficacion de la funcion de aproximacion fprintf('funcion de aproximacion para %d terminos es n',0) 1=simple(1a); pretty(1) 4=toc p&=e5plot(1a,[$6,6]); set(p&,'color','g') title('aprox7 de funciones por series de 1ourier') xla+el('x') yla+el('y') grid on hold on % graficacion de las funciones originales x=min(p)7&max(p); fx=; for 8=&length(f)
f8=su+s(f(8),x); if 8==length(f)
fx=fx(((x9=p(8)):(x=p(8&)))7*f8);
else
fx=fx(((x9=p(8)):(xp(8&)))7*f8); end
end plot(x,fx) legend('funcion aprox7','funcion original') hold off %% clear , clf, clc, close all syms x n %f=input('ingrese las funciones entre corchetes [] separadas por espacios'); %p=input('ingrese los puntos en que estan ealuadas las funciones entre corchetes [] separadas por espacios'); f=[x!" x!#];%funciones p=[$pi pi];%interalos f=sym(f); a=; for i=&length(f)
a=aint(f(i),'x',p(i),p(i&));
end disp('coeficiente ') a=simple(a/pi); pretty(a) an=; for i=&length(f)
an=anint(f(i)*cos(n*x),'x',p(i),p(i&));
end disp('coeficiente n') an an=simple(an/pi) an=su+s(an,cos(pi*n),sin(pi*n)-,($&)!n,-) pretty(an)
+n=; for i=&length(f)
+n=+nint(f(i)*sin(n*x),'x',p(i),p(i&));
end disp('coeficiente .n') +n=simple(+n/pi); +n=su+s(+n,cos(pi*n),sin(pi*n)-,($&)!n,-); pretty(+n) d=input('ingrese el alor de los armonicos n') 0=d; d=sym(d); 1a=a/2; %sumatoria de terminos tic 1a=1asymsum(an*cos(n*x) +n*sin(n*x),n,&,d); % graficacion de la funcion de aproximacion fprintf('funcion de aproximacion para %d terminos es n',0) 1=simple(1a); pretty(1) 4=toc p&=e5plot(1a,[$6,6]); set(p&,'color','g') title('aprox7 de funciones por series de 1ourier') xla+el('x') yla+el('y') grid on hold on % graficacion de las funciones originales x=min(p)7&max(p); fx=; for 8=&length(f)
f8=su+s(f(8),x); if 8==length(f)
fx=fx(((x9=p(8)):(x=p(8&)))7*f8);
else
fx=fx(((x9=p(8)):(xp(8&)))7*f8); end
end plot(x,fx) legend('funcion aprox7','funcion original') hold off
Programa en Matlab para Series de Fourier Este es un programa en Matlab que permite hacer una aproximación a una señal cuadrada (con límites en “y max! "# min! $"% por medio de las series de Fourier& 'os alores de los coe)icientes son*+, ! ,# debido al alor medio de la )unción&-(n% ! ./n0pi# obtenido analíticamente&+(n% ! ,# debido a la )orma de la señal& *rograma en Matla+ *a+lo Ale-andro Arreola .alván /%( Fe+rero, (0$1 2ste programa grafica una función escalón y so+re ella
una aproximación 3ec3a con la serie de Fourier %Introducción al programa y limpia de pantalla clc clear all disp&45555555555555555555555555555554) disp&46erie de Fourier4) % Aquí declaramos varias cosas, en primer lugar una variable N la cual es el número de armónicos que % incluirá nuestra aproximación, mientras mayor sea el número, más fiel será la gráfica obtenida a la % original % !ambi"n se declara el intervalo #x$ de nuestra función, que va de pi &asta pi % 'or último iniciali(amos la variable )*+ a cero 78 input&479mero de muestras deseadas &7):4); x8
+&n) 5 sin&n5x); end % 'ara tener el resultado aproximado de la se5al, se suma a6 7., este t"rmino fue obtenido a partir de % el valor promedio del área ba8o la curva de 9pi a pi, como es una función sim"trica, el valor es 6, % esto podría omitirse, pero para se incluye para ver más claramente la fórmula de la serie sum 8 sum > 0; % sta es una manera de generar la función escalón #f$, diciendo que toda #x$ inferior a 6 valdrá9 -, y % toda #x$ mayor a 6 valdrá - sto sólo es válido para el intervalo de pi a pi, donde se ve una se5al % cuadrada, si se amplían los límites se verá la gráfica de valores constantes f8&x?0)#5&<$)>&x@80)#5$; % n esta sección se encuentran los comandos para graficar y fin del programa plot&x,f); 3old on plot&x,sum) grid title&6erie de Fourier4) xla+el('4iempo') yla+el('
disp&4*rograma e-ecutado exitosamente4) disp&45555555555555555555555555555554)
+lgunos resultados son* +proximación con 1!2
+proximación con 1!2,