% programita para la serie de senos y cosenos de f(x) = x % -L \le x \le L close all L = 1; letra=18; prefix='abs'; efe = inline('abs(x)'); a0 = L/2; margen = 0.1; for N = [1 3 5 ] n=[1:N]; a = 2/(pi^2)./n.^2 .* ((-1).^(n) - 1) ; b = zeros(size(n)); x = [-L:0.01:L]; npix = pi*(n'*x)/L; fap = a0 + a * cos(npix) + b * sin(npix); f = efe(x); M = max([f fap]); m = min([f fap]); plot(x,f,'r','LineWidth',2) hold on plot(x,fap,'m','LineWidth',2) plot([-L L],[0 0],'b',[0 0],[m M],'b') %title(sprintf('N = %d error = %.8f',N,max(abs(f-fap)))) axis([-L-margen L+margen m-margen M+margen]) set(gca,'FontSize', letra) filename=sprintf('fourier-%s-N=%02d',prefix,N); print('-dpng',filename) print('-depsc2',filename) hold off pause end pause plot(x,f,'r',x,f,'m','LineWidth',2) hold on %plot([-L L], [0 0], 'mo', 'MarkerEdgeColor','m','MarkerFaceColor','m', ... % 'MarkerSize', 10) plot([-L L],[0 0],'b', [0 0],[m M],'b'); axis([-L-margen L+margen m-margen M+margen]) set(gca,'FontSize', letra) filename=sprintf('fourier-%s-N=inf',prefix); print('-dpng',filename) print('-depsc2',filename) hold off pause ff = f; xx = x; for N = [10] n=[1:N]; a = 2/(pi^2)./n.^2 .* ((-1).^(n) - 1); b = zeros(size(n)); x = [-3*L:0.01:3*L]; npix = pi*(n'*x)/L; fap = a0 + a * cos(npix) + b * sin(npix); f = efe(x); M = max([f fap]); m = min([f fap]); plot(x,f,'r','LineWidth',2) hold on plot(x,fap,'m','LineWidth',2) plot([-3*L 3*L],[0 0],'b',[0 0],[m M],'b') % ejes axis([-3*L-margen 3*L+margen m-margen M+margen]) set(gca,'FontSize', letra) filename=sprintf('fourier-%s-N=%02d-3L',prefix,N); print('-dpng',filename) print('-depsc2',filename) hold off pause end pause plot(xx-2*L,ff,'m','LineWidth',2) hold on plot(xx,ff,'m','LineWidth',2) plot(xx+2*L,ff,'m','LineWidth',2) %plot([-3*L:2*L:3*L], [0 0 0 0], 'mo', 'MarkerEdgeColor','m','MarkerFaceColor','m', ... % 'MarkerSize', 10) plot([-3*L 3*L],[0 0],'b',[0 0],[m M],'b') % ejes axis([-3*L-margen 3*L+margen m-margen M+margen]) set(gca,'FontSize', letra) filename=sprintf('fourier-%s-N=inf-3L',prefix); print('-dpng',filename) print('-depsc2',filename)