clear all
clc
syms n aSym(n) bSym(n) x(t) t A(t)
To=2*pi;
f=1/To;
wo=2*pi*f;
A(t)=1;
x(t)=A(t)*t*heaviside(t)-(t*heaviside(t-(2*pi)));

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)')
