Can I calculate the settling time in MATLAB?
97 ビュー (過去 30 日間)
古いコメントを表示
I have many closed loop transfer functions that are in similar form to this one:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1512139/image.png)
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!