% 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)