MATLAB による ステップ応答

MATLABでシミュレーションしました。

伝達関数G(s)=770/(12500s+1)を状態表示に以下のように変換して、
初期値=100を与えた時のステップ応答を行いました。
-------------------------------------------------------------
num1 = 770;
den1 = [12500 1];
[APlant BPlant CPlant DPlant] = tf2ss(num1, den1);
x0Plant = 100
-------------------------------------------------------------

結果、グラフはt=0の時、初期値の100から出て始まると予想していたのですが、結果として6.5から始まりました。

この原因が不明です。
もし、よろしければご意見をお願いします。

投稿日時 - 2008-01-08 01:39:40

QNo.3659972

すぐに回答ほしいです

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

プラントの出力をy,状態変数x,入力をuとすると、
出力方程式は
y(t)=C*x(t)+D*u(t)
になります。
t=0でu(0)=0とすると、
y(0)=C*x(0)ですから、y(0)を実現するのに必要なxの初期値x(0)は
x(0)=C^(-1)*y(0)
であたえてやる必要があります。

投稿日時 - 2008-01-08 15:02:46

お礼

本当に、親切な御回答ありがとうございます。
よく理解できました。

本当にありがとうございました!!

投稿日時 - 2008-01-08 15:10:35

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

[  前へ  |  次へ ]

ベストアンサー以外の回答(1件中 1~1件目)

ANo.1

初期値100というのは、出力(y)の初期値ですよね?
y=100に相当する状態変数xの値(=Cplant^(-1)*y0)を算定して、それをxの初期値として使う必要があるのではないでしょうか。

投稿日時 - 2008-01-08 05:24:07

お礼

☆初期値100というのは、出力(y)の初期値ですよね?

★その通りです。
おっしゃる通りに、シミュレーションした結果、成功しました。
本当にありがとうございます!!

ただ、どうして(=Cplant^(-1)*y0)を算定しなければならないのか、しっかりと理解していません。よろしければ、教授を願います。

投稿日時 - 2008-01-08 12:49:48

あなたにおすすめの質問

[PR] お役立ち情報