function  [u] = reflection(x,t)

  c=2;

for j = 1:length(x)     
    p = x(j) - c*t; 
    n = x(j) + c*t;
if (n < 2*pi)
  u(j) = 0;
elseif (n >= 2*pi) && (n < 4*pi)
if  (p >=-4*pi) && (p < -2*pi)
  u(j) = 1/2*(sin(x(j) + c*t) + sin(x(j) - c*(t)));
elseif (p >=-2*pi) && (p < 2*pi)
  u(j) = 1/2*(sin(x(j) + c*t));
elseif (p >= 2*pi)
  u(j) = 1/2*(sin(x(j) + c*t) + sin(x(j) - c*t));
end
elseif (n >= 4*pi)
  if (p < -4*pi)
  u(j) = 0;
elseif (p >= -4*pi) && (p < -2*pi)
  u(j) = 1/2*(sin(x(j)-c*t));
elseif (p >=-2*pi) && (p < c*pi)
u(j) = 0;
elseif (p >= 2*pi) && (p < 4*pi)
  u(j) = 1/2*sin(x(j)-c*t);
elseif p >=4*pi
  u(j) = 0;
end
end
end
