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!