Main Content

getxu

操作点からの状態と入力

構文

x = getxu(op)
[x,u] = getxu(op)
[x,u,xstruct] = getxu(op)

説明

getxu は、操作点から状態値と入力値を抽出します。この関数は、fmincon を使用して最適化問題で操作を使用する場合など、状態値と入力値をベクトルの形式で指定する必要がある場合に使用します。

メモ

[コンフィギュレーション パラメーター] ダイアログ ボックスの [データのインポート/エクスポート] ペインを使用して状態と入力の初期値を設定する場合、getxu は使用しないでください。代わりに getstatestructgetinputstruct を使用してください。

x = getxu(op) は、操作点 op から状態値のベクトル x を抽出します。

[x,u] = getxu(op) は、操作点から入力値のベクトル u も抽出します。u の入力の順序は、Simulink® のルートレベルの入力端子の番号に対応しています。

[x,u,xstruct] = getxu(op) は、操作点から状態値の構造体 xstruct も抽出します。状態値の構造体 xstruct は、Simulink シミュレーションから返された構造体と同じ形式をもちます。

すべて折りたたむ

magball モデルの操作点を作成します。

op = operpoint('magball');

操作点の状態を表示します。

op.States
ans = 
   x   
_______
       
(1.) magball/Controller/PID Controller/Filter/Cont. Filter/Filter
   0   
(2.) magball/Controller/PID Controller/Integrator/Continuous/Integrator
14.0071
(3.) magball/Magnetic Ball Plant/Current
7.0036 
(4.) magball/Magnetic Ball Plant/dhdt
   0   
(5.) magball/Magnetic Ball Plant/height
 0.05  

状態と入力値のベクトルと状態の構造体を操作点から抽出します。

[x,u,xstruct] = getxu(op)
x = 5×1

         0
   14.0071
    7.0036
         0
    0.0500

u =

     []
xstruct = struct with fields:
       time: 0
    signals: [1x5 struct]

状態の構造体内の状態を表示します。

xstruct.signals
ans=1×5 struct array with fields:
    values
    dimensions
    label
    blockName
    stateName
    inReferencedModel
    sampleTime

values フィールドには操作点の状態値が表示されます。blockName フィールドには、各状態を含むブロックの名前が表示されます。

バージョン履歴

R2006a より前に導入