SM6 - Solved MATLAB Exercises On Time Response
SM6 - Solved MATLAB Exercises On Time Response
Zeros:
Poles
• The system has a real root at -5.4917 and another at -0.3173 (exponential dampening)
• The system has two complex roots at -0.0955 + 1.0671i and -0.0955 - 1.0671i (sinusoidal
components)
• All roots are in the left-half plane (LHP), therefore the system is stable.
Q2) For the following second order transfer function, find ζ, ωn, Ts, Tp, Tr, and the percentage overshoot
omegaN = sqrt(1.05*10^7)
omegaN = 3.2404e+03
Remember in MATLAB e+03 means x 10^3, so the frequency is 3240.4. If we want to see more digits and
an accurate result, we can reformat MATLAB output to long
format long
sysOmegaN = sqrt(1.05*10^7)
sysOmegaN =
3.240370349203930e+03
Page 1 of 5
Therefore, ζ = | σ | / ωn = 800/ 3240.370349 = 0.2468. In MATLAB:
sysSigma = -1600 / 2
sysSigma = -800
sysZeta = abs(sysSigma/sysOmegaN)
sysZeta = 0.246885359939347
sysTs = 4 / (sysZeta*sysOmegaN)
sysTs = 0.005000000000000 seconds
zetaVec = 0.1:0.1:0.9;
NormRiseVec = [1.104, 1.203, 1.321, 1.463, 1.638, 1.854, 2.216, 2.467, 2.883];
result = spline (zetaVec, NormRiseVec, sysZeta)
result =
1.255992393111594
sysTr = result/sysOmegaN
sysTr =
3.876076675680474e-04
Q3) Given the following system specifications of %OS = 12% and Ts = 0.6 seconds, find the location of the
second order-system poles and write down the system’s transfer function.
We can solve this either by hand/calculator or using MATLAB. Since we have access to MATLAB, we shall
use it. We shall rely on these equations to solve the problem (slide 30)
sysPercOvershoot = 12;
sysTs = 0.6;
sysZeta = -log(sysPercOvershoot/100) / sqrt(pi^2 + (log sysPercOvershoot/100))^2)
sysZeta =
0.559416391109633
sysOmegaN = 4 / (sysZeta * sysTs)
sysOmegaN =
11.917181499531988
Page 2 of 5
142.0192
So, G(s) = 2
𝑠 +13.3333𝑠+142.0192
Q4) Find the percent overshoot, settling time, rise time, and peak time for the following transfer function
using what you learnt in class.
14.145
(𝑠 2 + 0.842𝑠 + 2.829)(𝑠 + 1.5)
Initially, this is a 3rd order system and we need to find where the dominant poles are located. Using MATLAB
So, the dominant pole is at -0.421. The 3rd term pole is at 1.5. The 3rd pole is not at least five-time constants
away from the dominant poles, so we cannot use the equations we know to approximate the system
specifications and other tools and methods must be used.
Q5) Given the following unit step system response graph, find the equation of the transfer function:
Page 3 of 5
From visually analyzing the graph, we can deduce that the steady-state goes to 1. We can approximate that
the settling time Ts is at around 22.5 seconds. The maximum overshoot is at 1.4, so 40% more than the
steady state. Now that we have visually approximated the system specifications, we can solve the system
exactly as in Q3. We have %OS and Ts, so we proceed the same way.
where ω0(s) is the Laplace transform of the robot’s output swivel velocity and Vi(s) is the voltage applied to
the controller.
1. Evaluate percent overshoot, settling time, peak time, and rise time of the response of the open-loop
swivel velocity to a step-voltage input. Justify all second-order assumptions. Solve by hand or
MATLAB.
The dominant poles are at –2 ± j2.449, the third pole is at -10, or 5 times further so we can use the
equation we learnt to approximate the system.
• ωn = 3.16
• ζ = 0.632
• %OS = 7.69%
• Ts = 2 seconds
• Tp = 1.28 seconds
• Tr = 0.611 seconds
2. Use MATLAB to plot the system response and compare the values you obtained with the figure
num=100;
den=conv([1 10],[1 4 10]);
G=tf(num,den)
Page 4 of 5
G =
100
-------------------------
s^3 + 14 s^2 + 50 s + 100
stepplot(G)
let a = 30 and b = 30.1, 31, 35, and 40. Which values of b will have minimal effect upon the pure second-
order transient response?
Hint: Substitute the values of a and b each time, then use MATLAB to find the partial fractions expansion,
check if (s + a) and (s + b) can cancel each other.
Page 5 of 5