- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:整定時間)
MATLABを用いて1/s^2+s+1のシステムの整定時間を求める方法
このQ&Aのポイント
- MATLABを使って1/s^2+s+1のシステムの整定時間を求める方法をご教示いただけますか?
- MATLABを用いて1/s^2+s+1のシステムの整定時間を求める際、最初の立ち上がりの時間を除外したいのですが、後ろから探索する方法はありますか?
- MATLABを用いて1/s^2+s+1のシステムの整定時間を求める際、立ち上がりの時間を除外する方法について教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
結論から書きますと, そのプログラムで求まった整定時間Ts=5.28[s]は正しいと思います. ステップ応答において, 目標値の5%に収束する時間を, (時間のデータの)後ろ側から探索したいという要望ですが, 以下の方法はどうでしょうか. plot(t, y), grid の行のあとに実行します. ------ L=length(t); % ベクトルtの要素数がLに入ります while y(L)>0.95 & y(L)<1.05 L=L-1; end Ts=t(L); ------ whileループでは, 目標値(=1)の5%以内に入っているとき, つねにLの値を1ずつ減らしていきます. yの値が5%を超えるとき---このときの時刻がt=Ts 整定時間となっています---, ループから抜け出ます. この時点でのLの値が, 整定時間に相当する要素数に等しくなっていますので, Ts=t(L)として算出します. これを実行すると, Ts=5.28 となりました. つまりsamurai999さんの結果と同じです. samuraui999さんのプログラムの一部をもう少しスマートに書き直すとすれば, Ts = t(L(end)) とするくらいでしょうか. でも結果は同じです.
その他の回答 (1)
- rabbit_cat
- ベストアンサー率40% (829/2062)
回答No.1
スクリプトを見た感じだと、 このままで、すでに、最後の±5%になる時刻が求まるようになっていると思いますが。 試してみました?
質問者
お礼
回答ありがとうございます。 ちゃんと試したのですが、整定時間の求め方に誤りがあるといわれてレポートを返されてしまったんです。 このプログラム以外に整定時間を求める方法はないのでしょうか?
お礼
とても助かりました。 ありがとうございます。