clear; close all; pack; clc;
micro=10^(-6); %1e-6;
mili=10^(-3);  %1e-3;
in=0; fim=8*micro;
T=(fim-in)/10000;
t=in:T:fim;
tam=length(t);
iS = (1/mili)*(t.*(heaviside(t)-heaviside(t-micro))...
   + micro*heaviside(t-micro)-micro*heaviside(t-3*micro)...
   + (micro-(t-3*micro)).*(heaviside(t-3*micro)-heaviside(t-5*micro))...
   - micro*(heaviside(t-5*micro)-heaviside(t-7*micro))...
   + (-micro+(t-7*micro)).*(heaviside(t-7*micro)-heaviside(t-8*micro)));
R=2000;
vR=R*iS;
L=4*10^(-3);
vL=L*diff(iS)/T;
%-------------
subplot(4,1,1)
plot(t/micro,iS/mili,'k','LineWidth',3)
grid
xlabel('t, em \mu s')
ylabel('i_S, em mA')
%-------------
subplot(4,1,2)
plot(t/micro,vR,'k','LineWidth',3)
grid
xlabel('t, em \mu s')
ylabel('v_R(t), em Volts')
%-------------
subplot(4,1,3)
plot(t(1:tam-1)/micro,vL,'k','LineWidth',3)
grid
xlabel('t, em \mu s')
ylabel('v_L(t), em Volts')
%-------------
subplot(4,1,4)
plot(t(1:tam-1)/micro,vL+vR(1:tam-1),'k','LineWidth',3)
grid
xlabel('t, em \mu s')
ylabel('v(t), em Volts')

pause

% UMA OUTRA SOLUÇÃO (MAIS ELEGANTE) USANDO VARIÁVEIS SIMBÓLICAS
% Atenção ... com variáveis simbólicas a integração fica fácil, fácil :-)
% Captaram?
clear; pack; clc;
in=0; fim=4;
micro=10^(-6); %1e-6;
mili=10^(-3);  %1e-3;
in=0; fim=8*micro;
T=(fim-in)/10000;
tt=in:T:fim;
tam=length(tt);
syms t;
iS = (...
     (t*(heaviside(t)-heaviside(t-micro))...
   + micro*heaviside(t-micro)-micro*heaviside(t-3*micro)...
   + (micro-(t-3*micro))*(heaviside(t-3*micro)-heaviside(t-5*micro))...
   - micro*(heaviside(t-5*micro)-heaviside(t-7*micro))...
   + (-micro+(t-7*micro))*(heaviside(t-7*micro)-heaviside(t-8*micro)))...
     )/mili;
R=sym(2000);
vR=R*iS;
L=sym(4*10^(-3));
vL=L*diff(iS);
%-------------
subplot(4,1,1); hold;
iiS=subs(iS,{t},{tt});
plot(tt/micro,iiS/mili,'--y','LineWidth',2)
%-------------
subplot(4,1,2); hold;
vvR=subs(vR,{t},{tt});
plot(tt/micro,vvR,'--y','LineWidth',2)
%-------------
subplot(4,1,3); hold;
vvL=subs(vL,{t},{tt});
plot(tt/micro,vvL,'--y','LineWidth',2)
%-------------
subplot(4,1,4); hold;
vv=subs(vL,{t},{tt})+subs(vR,{t},{tt});
plot(tt/micro,vv,'--y','LineWidth',2)
%-------------
