RLC Circuits

Contents

Overdamping (original normalization)

close all
xiv = [1.5 2 3];
color = ['r' 'b' 'k'];
t = linspace(0,10,501);
for k=1:3
    xi=xiv(k);
    vf = 1;
    s = roots([1 -2*xi 1]);
    A = [1 1; s'];
    b = [-vf; 0];
    K = A\b;
    y = vf + K(1)*exp(-s(1)*t) + K(2)*exp(-s(2)*t);
    plot(t,y,color(k),'LineWidth',2);
    hold on;
end
hold off;
xlabel('\omega_0 t');
ylabel('response');
fprintf('xi %g\n',xi);
fprintf('s %g %g\n',s);
fprintf('K %g %g\n',K);
xi 3
s 5.82843 0.171573
K 0.0303301 -1.03033

Overdamped solution (renormalized)

close all
xiv = [ 1.5 1.1 10];
color = ['r' 'b' 'k'];
t = linspace(0,10,501);
y = 1-exp(-t/2);
plot(t,y,'y','LineWidth',4);
hold on;
for k = 1:3;
xi = xiv(k);
vf = 1;
s = roots([1 -2*xi 1]);
A = [ 1 1; s(1) s(2) ];
b = [-vf; 0];
K = A\b;
y = vf + K(1)*exp(-s(1)*t*xi) + K(2)*exp(-s(2)*t*xi);
if (k==1)
    fprintf('xi %g\n',xi);
    fprintf('s %g %g\n',s);
    fprintf('K %g %g\n',K);
end

plot(t,y,color(k),'LineWidth',2);
end
hold off;
xlabel('(\omega_0 t)/\xi');
ylabel('response');
xi 1.5
s 2.61803 0.381966
K 0.17082 -1.17082

Critically damped solution

close all
clear s;
xi = 1;
vf = 1;
t = linspace(0,10,501);
s = 1;
A = [ 1 0; -s 1 ];
b = [-vf; 0];
K = A\b;
y = vf + (K(1) + K(2)*t).*exp(-s*t);
fprintf('xi %g\n',xi);
fprintf('s %g\n',s);
fprintf('K %g %g\n',K);
plot(t,y,'LineWidth',2);
xlabel('\omega_0 t');
ylabel('response');
xi 1
s 1
K -1 -1

Underdamped solution

close all
xiv = [ 0.5 0.9 0.1];
color = ['k' 'b' 'y'];
for k = 1:3;
xi = xiv(k);
vf = 1;
t = linspace(0,10,501);
s = roots([1 -2*xi 1]);
wn  = sqrt(1-xi^2);
A = [ 1 0; -xi wn ];
b = [-vf; 0];
K = A\b;
y = vf + (K(1)*cos(wn*t) + K(2)*sin(wn*t)).*exp(-xi*t);
if (k==1)
    fprintf('xi %g\n',xi);
    fprintf('wn %g\n',wn);
    fprintf('K %g %g\n',K);
end

plot(t,y,color(k),'LineWidth',2);
hold on;
end
hold off;
xlabel('\omega_0 t');
ylabel('response');
xi 0.5
wn 0.866025
K -1 -0.57735

LC-R Circuit (underdamped)

close all;
xi = 0.2;
vf = 1;
t = linspace(0,30,501);
s = roots([1 -2*xi 1]);
wn  = sqrt(1-xi^2);
K = vf*xi/wn;
y =  K*sin(wn*t).*exp(-xi*t);
fprintf('xi %g\n',xi);
fprintf('wn %g\n',wn);
fprintf('K %g\n',K);
plot(t,y,'LineWidth',2);
xlabel('\omega_0 t');
ylabel('response');
xi 0.2
wn 0.979796
K 0.204124