% solucion de la ecuacion de ondas unidimensional
% la cuerda vibrante
clear all
caso = 2;

switch (caso)
    case 0,
        N = 1;
        a = [1 ];
        b = [0 ];
    case 1,
        N = 2;
        a = [1 0.4];
        b = [0 0];
    case 2,
        N = 5;
        a = [1 0 -0.1 0 0.02];
        b = [0 0 0 0 0];
    case 3,
        N = 2;
        a = [0 0];
        b = [0.5 0];
        
    case 4,
        N = 5;
        a = [1 0.2 0 0 0.1];
        b = [0 0 0 0 0];
end

n = [1:N];
x = [0:.01:1];

npix = pi*n' * x;

senox = sin(npix);

figure(1)
for t=0:.01:4
  u = (a.*cos(n*pi*t) + b.*sin(n*pi*t)) * senox;
  plot(x,u);
  axis([0 1 -2 2])
  if (t==0)
    pause
  else
    pause(0.02)
  end
end

pause
if (caso==1)
    for t=0:.01:4
        u1 = (a(1).*cos(1*pi*t)) * senox(1,:);
        u2 = (a(2).*cos(2*pi*t)) * senox(2,:);
        u  = u1 + u2;
        plot(x,u,x,u1,x,u2);
        
        axis([0 1 -2 2])
        if (t==0)
            pause
        else
            pause(0.05)
        end
    end
end

if (caso==2)
    for t=0:.01:4
        u1 = (a(1).*cos(1*pi*t)) * senox(1,:);
        u3 = (a(3).*cos(2*pi*t)) * senox(3,:);
        u5 = (a(5).*cos(5*pi*t)) * senox(5,:);
        u  = u1 + u3 + u5;
        plot(x,u,x,u1,x,u3,x,u5);
        
        axis([0 1 -2 2])
        if (t==0)
            pause
        else
            pause(0.05)
        end
    end
end