• ベストアンサー
※ 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のシステムの整定時間を求める際、立ち上がりの時間を除外する方法について教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • zoe76
  • ベストアンサー率100% (1/1)
回答No.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)) とするくらいでしょうか. でも結果は同じです.

samurai999
質問者

お礼

とても助かりました。 ありがとうございます。

その他の回答 (1)

  • rabbit_cat
  • ベストアンサー率40% (829/2062)
回答No.1

スクリプトを見た感じだと、 このままで、すでに、最後の±5%になる時刻が求まるようになっていると思いますが。 試してみました?

samurai999
質問者

お礼

回答ありがとうございます。 ちゃんと試したのですが、整定時間の求め方に誤りがあるといわれてレポートを返されてしまったんです。 このプログラム以外に整定時間を求める方法はないのでしょうか?

関連するQ&A