MATLABを用いて1/s^2+s+1のシステムの整定時間を下記のように求めたのですが、このプログラムでは、最初の立ち上がりの時に±5%に入る部分もカウントされてしまうらしいので、このグラフを後ろから探索する方法で求めたいのですが、どのようにすれば求まるか教えてください。
》 num = [1];
》 den = [1 1 1];
》 t = 0:0.01:15;
》 [y,x,t] = step(num,den,t);
》 plot(t,y),grid
》 L = find(abs(y-1)>=0.05);
》 Ts = t(L(length(L)))
Ts =
5.2800
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))
とするくらいでしょうか. でも結果は同じです.
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語プログラム変更 2 2022/12/21 15:03
- その他(プログラミング・Web制作) このプログラミングをどう組みますか? Googlecolabでやってるんですが、出来る方お願いします 1 2022/07/13 10:52
- C言語・C++・C# C言語階乗の総和を求める 2 2023/03/04 23:31
- 工学 アクチュエータ、制御について質問です 1 2023/07/10 17:28
- C言語・C++・C# 質問です 下記のコードを分かりやすく解説お願いします 初心者です #include ‹stdio.h 3 2022/05/26 22:03
- Excel(エクセル) エクセルのCOUNTIF関数の使い方 1 2022/04/25 15:50
- Excel(エクセル) VBA フォルダ見える化のコードについて 2 2023/06/19 15:04
- C言語・C++・C# C言語 3 2022/10/04 15:07
- 数学 数A 整数の性質 x.yを整数とする。 2x-3y=7-①をみたす(x,y)に対して、x^2-y^2 2 2023/06/01 15:39
- 数学 どうか教えてください。 4 2022/07/02 20:18
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プログラムで関数は使わない方...
-
UWSCにてある一定の動作を無限...
-
PHPの否定文
-
if文の中にfor文なのか、for文...
-
超初心者です。HowTo本"独習C"...
-
break文でループを一気に抜ける...
-
整定時間
-
プログラミングで質問です。言...
-
制御に関するプログラム
-
C言語 a * b / c の計算
-
どうしてもわからないC言語の問題
-
プログラムの解説をお願いします。
-
c言語のリダイレクトによる円...
-
吸湿性のあるものを天秤で秤量...
-
2÷3などの余りについて
-
プログラミング初心者です。 Py...
-
printf で二進表示を行いたい。
-
マイナスからプラスへ転じた時...
-
【C言語教えてください】sin波...
-
O(n log n)について2
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
break文でループを一気に抜ける...
-
入力した文字列から母音だけを...
-
ループを途中で抜けたいのですが。
-
do-while文が禁止される理由
-
入力した数値を倍々するプログラム
-
C言語forループが完結した場合...
-
if文の中にfor文なのか、for文...
-
プログラミングC言語についての...
-
エクセルVBAで Do While (1)って?
-
For文の終了値を関数にしても問...
-
エクセルでC言語のfor文と同じ...
-
Delphiで・・・
-
ループの特定入力終了
-
UWSCにてある一定の動作を無限...
-
C言語、自己参照構造体のプログ...
-
C言語 数字を削除する関数
-
Excel VBAで年度をまたぐ期間の...
-
プログラムで関数は使わない方...
-
Cプログラムが終了しない
-
VBScriptでSQLに接続し、CSV出...
おすすめ情報