2016-03-23 8 views
1

私は状態空間モデルをmatlab RS2016aの伝達関数に変換しようとしています。私は関数がss2tf(A,B,C,D)を使用していますが、これはドキュメントによると私が必要とするものです。ss2tfはmatlab RS2016aで予期しない値を返します

>> ss2tf(0,0,0,2) 
ans = 
    2 0 

が*編集: [2,0]は、Sドメインにおける伝達関数2/0を表し、例として、私は2

回答MATLABリターンの静的ゲインを使用しています。分母を0とする伝達関数はあまり意味がなく、この特定のケースでは間違っています。正解は[2,1]で、2/0ではなく2/1の伝達関数を表します。

*元: [2,0]は、sドメインの伝達関数2/0を表します。私の意見では、答えは[2,1]でなければならないので、伝達関数は2/0の代わりに2/1でなければなりません。

予想の答え:

>> ss2tf(0,0,0,2) 
ans = 
    2 1 

は、この動作のための説明がありますか?

+6

「私の意見では、あなたの意見ではどういう意味ですか?これは数学的な問題であり、主観的な問題ではありません。私の意見では、 'ss2tf'はディナーのために素敵なピザを作るべきですが、残念ながらそれは状態空間を伝達関数に表しています。それは私の意見ではすべきことをしませんが、それは頑張ります。 –

+0

私の意見では、私が言っていたことを言うには理想的ではありません。関数がディナーのためにピザを作ることができるなら、それは素晴らしいだろう;-) –

答えて

4

ss2tfは、2つの出力引数でそれを呼び出し、2つの出力引数を持つ関数である:

[b,a]=ss2tf(0,0,0,2) 

あなたが唯一の推薦を読んでいると、分母aは、関数を呼び出している道を失っています。

+0

関数を正しく使うと、出力は: '>> [NUM、DEN] = ss2tf(0,0,0,2) NUM = 2 0 DEN = 1 0 これはtf 2 * s/sを表し、これは2/1と等価であり、従って正しい。私はなぜmatlabがtfを単独で簡素化しないのだろうと思っています... –

+0

予測可能なサイズの結果を返す関数を持ついくつかの利点があります。 – Daniel

関連する問題