複数の入力を持つシス​テムをlinmodで​線形化しても1つ目の​入力に対する伝達関数​しか得られません。任​意の入力に対する伝達​関数を得るにはどうす​れば良いですか?

5 visualizaciones (últimos 30 días)
MathWorks Support Team
MathWorks Support Team el 25 de Oct. de 2013
Respondida: MathWorks Support Team el 25 de Oct. de 2013
下図のSimulinkモデルを出力引数を2つにしてlinmod関数で線形化した場合(下記コマンド参照)に、1つ目の入力に対する伝達関数が得られます。
ページ下部の関連ドキュメントより、サンプルモデルのダウンロードが可能です:linsamp.mdl
(注意)ファイルのダウンロードはダウンロード対象のリンクを右クリックし「対象をファイルに保存」を選択してダウンロードを行ってください。
>> [num,den]=linmod('linsamp')
num =
0 1 1 0
0 0 0 0
den =
1 1 0 0
2つ目の入力に対する伝達関数を得るにはどうすれば良いですか?

Respuesta aceptada

MathWorks Support Team
MathWorks Support Team el 25 de Oct. de 2013
下記の2つの場合について紹介します。
  1. Simulink Control Designの機能を使用する場合
  2. linmod関数を使用する場合
1. Simulink Control Designの機能を使用する場合
Simulink Control Design の GUI ベースの操作による線形化、入出力ポイントを明示的に指定して、線形化できます。
入出力の設定について、下記関連ソリューションの 1.1 に記載されています。
線形化で得られたシステムを、ワークスペースへエクスポートすることで伝達関数を得ることができます。
2. linmod関数を使用する場合
出力引数を[num,den]とした場合にはlinmod コマンド実行時に入力ポイント・出力ポイントを指定して線形化することはできませんが、出力引数を[a,b,c,d]として全入出力についてシステムを線形化した後に、ss2tf関数を用いて入力ポイントを指定して切り出すことができます。
サンプルモデルの場合、2つの Outport がありますので、各々の Outport に対して、線形化した結果を得たい場合は、以下のコマンド実行で結果を得ることが可能です。
[a,b,c,d] = linmod('linsamp'); % システム全体の線形化
[num1,den1] = ss2tf(a,b,c,d,1) % 入力1 の伝達関数の係数を取得
[num2,den2] = ss2tf(a,b,c,d,2) % 入力2 の伝達関数の係数を取得
入出力と対応する伝達関数の係数
 入出力       分子係数   分母係数
--------------------------------------------
 入力1・出力1   num1(1:)    den1
 入力1・出力2   num1(2:)    den1
 入力2・出力1   num2(1:)    den2
 入力2・出力2   num2(2:)    den2

Más respuestas (0)

Categorías

Más información sobre Additional Math and Discrete en Help Center y File Exchange.

Etiquetas

Aún no se han introducido etiquetas.

Productos


Versión

R14SP1

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!