Can I calculate the settling time in MATLAB?
조회 수: 138 (최근 30일)
이전 댓글 표시
I have many closed loop transfer functions that are in similar form to this one:
I want to calculate the settling time up until 2% of the final value. I have many of those transfer functions so hopefully whatever method you guys suggest I can use it to automate this process for all.
댓글 수: 0
답변 (1개)
Star Strider
2023년 10월 16일
Perhaps this —
s = tf('s');
G = (7507.852*s^3 - 37030.228*s^2 - 70479.368*s + 100001.744) / (s^5 + 50*s^4 + 1000*s^3 + 10000.585*s^2 + 9997.664*s + 10001.744);
figure
stepplot(G)
grid
s = stepinfo(G)
Settling_Time = s.SettlingTime
From the documentation:
By default, SettlingTime measures the time it takes for the error to stay below 2% of |yfinal – yinit|.
That would appear to meet your requirement for it.
.
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Entering Commands에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!