%task 01
clear all
clc
syms n aSym(n) bSym(n) x(t) t A(t)
To=4;
f=1/To;
wo=2*pi*f;
A(t)=1;
x(t)=A(t)*(1+2*heaviside(t+1)-2*heaviside(t+3)-2*heaviside(t-1)+2*heaviside(t-3)+2*heaviside(t+5)-2*heaviside(t-5)-2*heaviside(t+7)+2*heaviside(t-7));

a0=(int(x(t),0,To)/(To))/(2*pi)
aSym(n)=simplify(int(x(t)*cos(n.*wo.*t),t,0,To)/(To/2))
bSym(n)=simplify(int(x(t)*sin(n.*wo.*t),t,0,To)/(To/2))

nMax = 20;
n = 1:nMax;
an = eval(aSym(n));
bn=  eval(bSym(n));

subplot(411)
stem(a0)
ylabel('a0')

subplot(412)
stem(an)
ylabel('an')

subplot(413)
stem(bn)
ylabel('bn')

xApprox = a0;
for m = 1:nMax
    xApprox = xApprox + an(m)*cos(m*wo*t) + bn(m)*sin(m*wo*t);
end
t = -20*pi:0.1:20*pi;

xCalc = eval(xApprox);
subplot(4,1,4);
plot(t,xCalc)
grid on
ylabel('x(t)')
