x=-3:.01:3;

for jj=1:length(x);
    if mod(floor(x(jj)),2)==1
       y(jj)=mod(x(jj),1)-1;
    else
       y(jj)=-mod(x(jj),1);
    end
end

plot(x,y,'LineWidth',2);
axis([-3,3,-1.2,.2]);
hold on;
xlabel('x','FontName','Times','FontSize',14);
ylabel('f','FontName','Times','FontSize',14);
set(gca,'FontName','Times','FontSize',18);
pause;

f = -ones(size(x))/2;
figure(1);
plot(x,f,'LineWidth',2);
pause;
for n=1:10
    figure(1);
    f = f + 4/(2*n-1)^2/pi^2*cos((2*n-1)*pi*x);
    plot(x,f,'LineWidth',2);
    pause;
end


       
        
%% NOW WITH ERROR
x=-3:.01:3;

for jj=1:length(x);
    if mod(floor(x(jj)),2)==1
       y(jj)=mod(x(jj),1)-1;
    else
       y(jj)=-mod(x(jj),1);
    end
end

plot(x,y,'LineWidth',2);
axis([-3,3,-1.2,.2]);
hold on;
xlabel('x','FontName','Times','FontSize',14);
ylabel('f','FontName','Times','FontSize',14);
set(gca,'FontName','Times','FontSize',18);
pause;

f = -ones(size(x))/2;
figure(1);
plot(x,f,'LineWidth',2);
figure(2);
plot(x,abs(y-f),'g','LineWidth',2);
xlim([-1 1]);
xlabel('x','FontName','Times','FontSize',14);
ylabel('|error|','FontName','Times','FontSize',14);
set(gca,'FontName','Times','FontSize',18);

for n=1:10
    figure(1);
    f = f + 4/(2*n-1)^2/pi^2*cos((2*n-1)*pi*x);
    plot(x,f,'LineWidth',2);
    figure(2);
    plot(x,abs(y-f),'g','LineWidth',2);
    xlim([-1 1]);
    xlabel('x','FontName','Times','FontSize',14);
    ylabel('|error|','FontName','Times','FontSize',14);
    set(gca,'FontName','Times','FontSize',18);
    pause;
end


%% SQUARE WAVE WITH ERROR
x=-3:.0001:3;

for jj=1:length(x);
    if mod(floor(x(jj)),2)==1
       y(jj)=0;
    else
       y(jj)=1;
    end
end

plot(x,y,'.');
axis([-3,3,-.2,1.2]);
xlabel('x','FontName','Times','FontSize',14);
ylabel('f','FontName','Times','FontSize',14);
set(gca,'FontName','Times','FontSize',18);
pause;

f = ones(size(x))/2;
figure(1);
plot(x,y,'b.',x,f,'r.','LineWidth',2);
axis([-3,3,-.2,1.2]);
xlabel('x','FontName','Times','FontSize',14);
ylabel('f','FontName','Times','FontSize',14);
set(gca,'FontName','Times','FontSize',18);
figure(2);
plot(x,abs(y-f),'g.');
xlabel('x','FontName','Times','FontSize',14);
ylabel('|error|','FontName','Times','FontSize',14);
set(gca,'FontName','Times','FontSize',18);
xlim([0,1]);
pause;
for n=1:10
    figure(1);
    f = f + 2/(2*n-1)/pi*sin((2*n-1)*pi*x);
    plot(x,y,'b.',x,f,'g.','LineWidth',2);
    axis([-3,3,-.2,1.2]);
    xlabel('x','FontName','Times','FontSize',14);
    ylabel('f','FontName','Times','FontSize',14);
    set(gca,'FontName','Times','FontSize',18);
    figure(2);
    plot(x,abs(y-f),'.');
    xlabel('x','FontName','Times','FontSize',14);
    ylabel('|error|','FontName','Times','FontSize',14);
    set(gca,'FontName','Times','FontSize',18);
    xlim([0,1]);
    pause;
end


