Contents
P2.1 Series RLC circuit
clear variables
syms I V Vs R L C w real
syms s
eq1=(L*s+R)*I+V-Vs;
eq2=C*s*V-I;
[A,B]=equationsToMatrix([eq1,eq2],[I,V]);
A1=subs(A,[R,L,C],[2,1,.1]);
B1=subs(B,Vs,1);
disp('Transfer functions:')
H=linsolve(A1,B1)
disp('Impulse response:')
ilaplace(H(2));
rewrite(ans,'exp'); expand(ans); collect(ans); simplify(ans);
vpa(ans,2)
disp('Step response:')
ilaplace(H(2)/s);
rewrite(ans,'exp'); expand(ans); collect(ans); simplify(ans);
vpa(ans,2)
disp('Frequency response:')
subs(H,s,j*w)
Transfer functions:
H =
s/(s^2 + 2*s + 10)
10/(s^2 + 2*s + 10)
Impulse response:
ans =
- exp(t*(- 1.0 + 3.0i))*1.7i + exp(t*(- 1.0 - 3.0i))*1.7i
Step response:
ans =
1.0 - exp(t*(- 1.0 - 3.0i))*(0.5 + 0.17i) - exp(t*(- 1.0 + 3.0i))*(0.5 - 0.17i)
Frequency response:
ans =
(w*1i)/(- w^2 + w*2i + 10)
10/(- w^2 + w*2i + 10)
P2.2 Parallel RLC circuit
clear variables
syms I V Is R L C w real
syms s
eq1=(C*s+1/R)*V+I-Is;
eq2=L*s*I-V;
[A,B]=equationsToMatrix([eq1,eq2],[I,V]);
A1=subs(A,[R,L,C],[2,1,.1]);
B1=subs(B,Is,1);
disp('Transfer functions:')
H=linsolve(A1,B1)
disp('Impulse response:')
ilaplace(H(2));
rewrite(ans,'exp'); expand(ans); collect(ans); simplify(ans);
vpa(ans,2)
disp('Step response:')
ilaplace(H(2)/s);
rewrite(ans,'exp'); expand(ans); collect(ans); simplify(ans);
vpa(ans,2)
disp('Frequency response:')
subs(H,s,j*w)
Transfer functions:
H =
10/(s^2 + 5*s + 10)
(10*s)/(s^2 + 5*s + 10)
Impulse response:
ans =
exp(t*(- 2.5 + 1.9i))*(5.0 + 6.5i) + exp(t*(- 2.5 - 1.9i))*(5.0 - 6.5i)
Step response:
ans =
- exp(t*(- 2.5 + 1.9i))*2.6i + exp(t*(- 2.5 - 1.9i))*2.6i
Frequency response:
ans =
10/(- w^2 + w*5i + 10)
(w*10i)/(- w^2 + w*5i + 10)
P2.3 DC motor
clear variables
syms V ia th om R L J b kt kb w real
syms s
eq1=(L*s+R)*ia+kb*om-V;
eq2=(J*s+b)*om-kt*ia;
[A,B]=equationsToMatrix([eq1,eq2],[ia,om]);
A1=subs(A,[L,R,J,b,kt,kb],[.01,1,.01,.1,.02,.02]);
B1=subs(B,V,1);
disp('Transfer functions:')
H=linsolve(A1,B1)
disp('Impulse response:')
ilaplace(H(2));
rewrite(ans,'exp'); expand(ans); collect(ans); simplify(ans);
vpa(ans,2)
disp('Step response:')
ilaplace(H(2)/s);
rewrite(ans,'exp'); expand(ans); collect(ans); simplify(ans);
vpa(ans,2)
disp('Frequency response:')
subs(H,s,j*w)
Transfer functions:
H =
(100*(s + 10))/(s^2 + 110*s + 1004)
200/(s^2 + 110*s + 1004)
Impulse response:
ans =
-2.2*exp(-111.0*t)*(1.0*exp(10.0*t) - exp(100.0*t))
Step response:
ans =
0.022*exp(-100.0*t) - 0.22*exp(-10.0*t) + 0.2
Frequency response:
ans =
(100*(10 + w*1i))/(- w^2 + w*110i + 1004)
200/(- w^2 + w*110i + 1004)
P2.4 DC Motor - simplified
disp('Transfer functions:')
A1=subs(A,[L,R,J,b,kt,kb],[0,1,.01,.1,.02,.02]);
H=linsolve(A1,B1)
disp('Impulse response:')
ilaplace(H(2));
vpa(ans,2)
disp('Step response:')
ilaplace(H(2)/s);
vpa(ans,2)
disp('Frequency response:')
subs(H,s,j*w)
Transfer functions:
H =
(25*(s + 10))/(25*s + 251)
50/(25*s + 251)
Impulse response:
ans =
2.0*exp(-10.0*t)
Step response:
ans =
0.2 - 0.2*exp(-10.0*t)
Frequency response:
ans =
(25*(10 + w*1i))/(251 + w*25i)
50/(251 + w*25i)
P2.5 Spring-Mass-Damper
clear variables
syms x dx m b k f w real
syms s
eq1=(m*s^2+b*s+k)*x-f;
eq2=s*x-dx;
[A,B]=equationsToMatrix([eq1,eq2],[x,dx]);
A1=subs(A,[m,b,k],[1,2,2]);
B1=subs(B,f,1);
disp('Transfer functions:')
H=linsolve(A1,B1)
disp('Impulse response:')
ilaplace(H(1));
vpa(ans,2)
disp('Step response:')
ilaplace(H(1)/s);
vpa(ans,2)
disp('Frequency response:')
subs(H,s,j*w)
Transfer functions:
H =
1/(s^2 + 2*s + 2)
s/(s^2 + 2*s + 2)
Impulse response:
ans =
exp(-1.0*t)*sin(t)
Step response:
ans =
0.5 - 0.5*exp(-1.0*t)*(cos(t) + sin(t))
Frequency response:
ans =
1/(- w^2 + w*2i + 2)
(w*1i)/(- w^2 + w*2i + 2)