When I use damp(sys) it spits out poles, damping, frequency and time constant. When looking up the help damp I only see ways to store the frequency, damping and poles. Is there a way to store the time constant too?

 채택된 답변

Star Strider
Star Strider 2021년 4월 29일

0 개 추천

The τ is relatively easy to calculate —
s = tf('s');
H = (s^2 - 2*s - 5) / (s^3 + 5*s^2 - 7*s - 20);
damp(H) % Output
Pole Damping Frequency Time Constant (rad/seconds) (seconds) -1.61e+00 1.00e+00 1.61e+00 6.23e-01 2.22e+00 -1.00e+00 2.22e+00 -4.51e-01 -5.61e+00 1.00e+00 5.61e+00 1.78e-01
[wn,zeta,p] = damp(H)
wn = 3×1
1.6063 2.2186 5.6123
zeta = 3×1
1 -1 1
p = 3×1
-1.6063 2.2186 -5.6123
tau = 1./(wn.*zeta) % Calculated
tau = 3×1
0.6226 -0.4507 0.1782
.

댓글 수: 1

That is the time constant calculation in damp(), but it's only an approximation, and not the actual time constant for a pair of second order poles. In this example damp() is off by more than 0.1 seconds.
>> h = tf(1,[1 1.3 1]);
>> damp(h)
Pole Damping Frequency Time Constant
(rad/seconds) (seconds)
-6.50e-01 + 7.60e-01i 6.50e-01 1.00e+00 1.54e+00
-6.50e-01 - 7.60e-01i 6.50e-01 1.00e+00 1.54e+00
>> s=stepinfo(h,'RiseTimeThreshold',[0 0.63]);
>> s.RiseTime
ans =
1.6848

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

제품

릴리스

R2021a

질문:

2021년 4월 29일

댓글:

2021년 4월 29일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by