主要内容

线性化

万博1manbetxモデルまたはサブシステムの線形近似

説明

linsys=线性化(mdlioは,ioで指定された解析ポaapl . exeントを万博1manbetx使用して,非線形Simulink®モデルmdlのモデル操作点での線形近似を返します。ioを省略した場合,线性化はモデルのルトレベルの入力端子と出力端子を解析ポントとして使用します。

linsys=线性化(mdlio人事处は操作点人事处でモデルを線形化します。

linsys=线性化(mdlio参数は,参数で指定されたパラメ,タ,値の変化を使用してモデルを線形化します。モデルワ,クスペ,ス,matlab®ワークスペースあるいはデータディクショナリ内で変数によって値が与えられる,任意のモデルパラメーターを変化させることができます。

linsys=线性化(mdlioblocksubは,blocksubで指定された代替のブロックまたはサブシステムの線形化を使用してモデルを線形化します。

linsys=线性化(mdlio选项は,追加の線形化オプションを使用してモデルを線形化します。

linsys=线性化(mdlio人事处参数blocksub选项は,人事处参数blocksubおよび选项の任意の組み合わせを任意の順序で使用してモデルを線形化します。

linsys=线性化(mdlblockpathは,blockpathで指定されるモデルmdl内のブロックまたはサブシステムのモデルの操作点での線形近似を返します。ソフトウェアは線形化を行う前に、ブロックをモデルの残りの部分から分離します。

linsys=线性化(mdlblockpath人事处は,操作点人事处でのブロックまたはサブシステムを線形化します。

linsys=线性化(mdlblockpath参数は,参数に指定されたパラメ,タ,値の変化を使用してブロックまたはサブシステムを線形化します。モデルワ,クスペ,ス,matlabワークスペースあるいはデータディクショナリ内で変数によって値が与えられる,任意のモデルパラメーターを変化させることができます。

linsys=线性化(mdlblockpathblocksubは,blocksubに指定された代替のブロックまたはサブシステムの線形化を使用して,ブロックまたはサブシステムを線形化します。

linsys=线性化(mdlblockpath选项は,追加の線形化オプションを使用してブロックまたはサブシステムを線形化します。

linsys=线性化(mdlblockpath人事处参数blocksub选项は,人事处参数blocksubおよび选项の任意の組み合わせを任意の順序で使用してブロックまたはサブシステムを線形化します。

linsys=线性化(___“StateOrder”,stateorderは,前述の任意の構文で線形化されたモデルにおける状態の順序を指定します。

linsyslinop=线性化(___は,モデルが線形化された操作点を返します。この構文は,シミュレーションのスナップショットで線形化を行う場合や,線形化中にパラメーターを変化させる場合に使用します。

linsyslinop信息=线性化(___は追加の線形化情報を返します。信息で返される線形化情報を選択するには,选项で対応するオプションを有効にします。

すべて折りたたむ

万博1manbetxSimulinkモデルを開きます。

mdl =“watertank”;open_system (mdl)

PID控制器ブロックの出力で,線形化入力を指定します。これは水箱系统ブロックの入力信号です。

Io (1) = linio(“watertank / PID控制器”, 1“输入”);

水箱系统ブロックの出力ポaapl . exeントで,線形化出力ポaapl . exeントを指定します。出力ポイントを開ループとして指定することで,モデルの操作点を変更せずに,線形化に対するフィードバック信号の影響が取り除かれます。

Io (2) = linio(“watertank /水箱系统”, 1“openoutput”);

指定されたI/Oセットを使用してモデルを線形化します。

Linsys =线性化(mdl,io);

linsysは,モデルの操作点でのプラントの線形近似です。

万博1manbetxSimulinkモデルを開きます。

mdl =“magball”;open_system (mdl)

ボ,ルの高さが0.05である定常状態の操作点を見けます。既定の操作点の仕様を作成し,高さの状態を既知の値に設定します。

Opspec = operspec(mdl);opspec.States(5)。已知= 1;opspec.States(5)。X = 0.05;

モデルを平衡化して操作点を見けます。

选项= findopOptions(“DisplayReport”“关闭”);Op = findop(mdl,opspec,options);

線形化の入力および出力信号を指定して,閉ル,プ伝達関数を計算します。

Io (1) = linio(“magball /期望的高度”, 1“输入”);Io (2) = linio(“磁球/磁球工厂”, 1“输出”);

指定されたI/Oセットを使用して,指定された操作点でモデルを線形化します。

Linsys =线性化(mdl,io,op);

万博1manbetxSimulinkモデルを開きます。

mdl =“watertank”;open_system (mdl)

閉ル,プ伝達関数を計算するため,まず線形化の入力信号と出力信号を指定します。

Io (1) = linio(“watertank / PID控制器”, 1“输入”);Io (2) = linio(“watertank /水箱系统”, 1“输出”);

sys10秒間シミュレ,トして,モデルを線形化します。

Linsys =线性化(mdl,io,10);

万博1manbetxSimulinkモデルを開きます。

mdl =“scdcascade”;open_system (mdl)

外側のルプのコントロラゲンKp1およびKi1にパラメ,タ,の変化を指定します。ゲン値ごとにパラメタグリッドを作成します。

Kp1_range = linspace(Kp1*0.8,Kp1*1.2,6);Ki1_range = linspace(Ki1*0.8,Ki1*1.2,4);[Kp1_grid,Ki1_grid] = ndgrid(Kp1_range,Ki1_range);

的名字价值のフィルドをもパラメタ値構造体を作成します。

参数(1)。Name =“Kp1”;参数(1)。价值= Kp1_grid; params(2).Name =“Ki1”;参数(2)。价值= Ki1_grid;

参数个数は,6行4列のパラメ,タ,値グリッドです。各グリッド点は,Kp1およびKi1の値の一意の組み合わせに対応します。

システムの閉ルプ応答を計算するため,線形化の入力ポントと出力ポントを定義します。

Io (1) = linio(“scdcascade /选点”, 1“输入”);Io (2) = linio(“scdcascade /总和”, 1“输出”);

指定されたパラメ,タ,値を使用してモデルの操作点でモデルを線形化します。

Linsys =线性化(mdl,io,params);

万博1manbetxSimulinkモデルを開きます。

mdl =“scdpwm”;open_system (mdl)

モデルから線形化の入力と出力を抽出します。

IO = getlinio(mdl);

モデルの操作点でモデルを線形化します。

Linsys =线性化(mdl,io)
linsys = D = Step Plant Model 0静态增益。

电压到PWMブロックの不連続性のため,モデルがゼロに線形化されます。線形化中にこのブロックが単位ゲインとして扱われるよう、このブロックに代替の線形化を指定します。

blocksub。Name ='scdpwm/电压到PWM';blocksub。价值= 1;

指定されたブロック置換を使用してモデルを線形化します。

Linsys =线性化(mdl,blocksub,io)
linsys = A =状态空间(状态空间(0.9999 -0.0001状态空间(0.0001 1 B =阶跃状态空间(0.0001状态空间(5e-09 C =状态空间(状态空间(Plant Model 01 D = Step Plant Model 0采样时间:0.0001秒离散时间状态空间模型。

万博1manbetxSimulinkモデルを開きます。

mdl =“watertank”;open_system (mdl)

水箱系统ブロックを線形化するため,線形化の入力と出力を指定します。

Io (1) = linio(“watertank / PID控制器”, 1“输入”);Io (2) = linio(“watertank /水箱系统”, 1“openoutput”);

線形化のオプションセットを作成し,線形化されるモデルのサンプル時間を指定します。

选项=线性化选项(“SampleTime”, 0.1);

指定されたオプションを使用してプラントを線形化します。

Linsys =线性化(mdl,io,options)
linsys = A = H H 0.995 B = PID control H 0.02494 C = H水箱s1 D = PID control水箱S 0采样时间:0.1秒离散时间状态空间模型。

線形化されたプラントは,サンプル時間0.1の離散時間状態空間モデルです。

万博1manbetxSimulinkモデルを開きます。

mdl =“watertank”;open_system (mdl)

線形化するブロックの絶対ブロックパスを指定します。

blockpath =“watertank /水箱系统”

モデルの操作点で指定されたブロックを線形化します。

Linsys =线性化(mdl,blockpath);

万博1manbetxSimulinkモデルを開きます。

mdl =“magball”;open_system (mdl)

ボ,ルの高さが0.05である定常状態の操作点を見けます。既定の操作点の仕様を作成し,高さの状態を既知の値に設定します。

Opspec = operspec(mdl);opspec.States(5)。已知= 1;opspec.States(5)。X = 0.05;
选项= findopOptions(“DisplayReport”“关闭”);Op = findop(mdl,opspec,options);

線形化するブロックのブロックパスを指定します。

blockpath =“磁球/磁球工厂”

指定された操作点で,指定されたブロックを線形化します。

Linsys =线性化(mdl,blockpath,op);

万博1manbetxSimulinkモデルを開きます。

mdl =“magball”;open_system (mdl)

モデルの操作点でプラントを線形化します。

blockpath =“磁球/磁球工厂”;Linsys =线性化(mdl,blockpath);

線形化したプラントの既定の状態順序を表示します。

linsys。StateName
ans = 3x1单元格数组{'height'} {'Current'} {'dhdt'}

プラントを線形化し,線形化したモデルで状態の順序を並べ替えます。高さの変化率を2番目の状態に設定します。

Stateorder = {磁球/磁球植物/高度...magball/Magnetic Ball Plant/dhdt...磁球/磁球装置/电流};Linsys =线性化(mdl,blockpath,“StateOrder”, stateorder);

新しい状態の順序を表示します。

linsys。StateName
ans = 3x1单元格数组{'height'} {'dhdt'} {'Current'}

万博1manbetxSimulinkモデルを開きます。

mdl =“watertank”;open_system (mdl)

閉ル,プ伝達関数を計算するため,まず線形化の入力信号と出力信号を指定します。

Io (1) = linio(“watertank / PID控制器”, 1“输入”);Io (2) = linio(“watertank /水箱系统”, 1“输出”);

sysをシミュレ,トして0秒と10秒でモデルを線形化します。これらのスナップショット時間に対応する操作点を返します。これはモデルが線形化された操作点です。

[linsys,linop] =线性化(mdl,io,[0,10]);

万博1manbetxSimulinkモデルを開きます。

mdl =“watertank”;open_system (mdl)

パラメタ一个およびbを,そのノミナル値の10%以内で変化させます。

[A_grid,b_grid] = ndgrid(linspace(0.9*A,1.1*A,3),...linspace (0.9 * b, b 1.1 * 4));

パラメ,タ,の構造体配列を作成し,各パラメ,タ,に名前とグリッド点を指定します。

参数(1)。Name =“一个”;参数(1)。价值= A_grid; params(2).Name =“b”;参数(2)。价值= b_grid;

モデルの既定の操作点の仕様を作成します。

Opspec = operspec(mdl);

指定された操作点の仕様とパラメ,タ,グリッドを使用して,モデルを平衡化します。操作点探索レポ,トを非表示にします。

opt = findopOptions(“DisplayReport”“关闭”);[op,opreport] = findop(mdl,opspec,params,opt);

人事处は、指定されたパラメ、タ、グリッド点に対応する操作点オブジェクトの3行4列の配列です。

プラントモデルのブロックパスを指定します。

blockpath =“水箱/理想水位”

線形化時にオフセットを保存するには,線形化のオプションセットを作成してStoreOffsets真正的に設定します。

选项=线性化选项(“StoreOffsets”,真正的);

指定されたI / Oポイントとパラメーターの変化を使用して,平衡化した操作点でプラントをバッチ線形化します。

[linsys,linop,info] =线性化(mdl,blockpath,op,params,options);

LPV系统ブロックの構成時に信息。偏移量のオフセットを使用できます。

信息。偏移量
ans = 3x4结构数组,字段:x dx u y StateName InputName OutputName Ts

入力引数

すべて折りたたむ

万博1manbetxSimulinkモデル名。文字ベクトルまたは字符串として指定します。モデルは現在の作業フォルダー内または MATLAB パス上になければなりません。

入力,出力および開始点を含む解析ポ。線形化I/Oオブジェクトまたは線形化I/O オブジェクトのベクトルとして指定します。ioを作成するには次を行います。

  • linioを使用して入力,出力および開始点を定義します。

  • 入力,出力および開始点がS万博1manbetximulinkモデルで指定されている場合,getlinioを使用してモデルからこれらの点を抽出します。

io内の各線形化I/Oオブジェクトは,Si万博1manbetxmulinkモデルmdlまたはモデルの階層構造におけるノ,マルモ,ドのモデル参照に対応していなければなりません。

ioを省略した場合,线性化はモデルのルトレベルの入力端子と出力端子を解析ポントとして使用します。

線形化の入力,出力,開始点の指定の詳細にモデルの一部を線形化するよう指定を参照してください。

線形化の操作点。次のいずれかとして指定します。

  • OperatingPointオブジェクト。次を使用して作成します。

    • operpoint

    • findop。単一の操作点の仕様または単一のスナップショット時間を使用します。

  • OperatingPointオブジェクトの配列。複数の操作点を指定するものです。OperatingPointオブジェクトの配列を作成するには,次の方法があります。

  • 1。ソフトウェアはsysをシミュレ,トして,指定されたスナップショット時間でモデルを線形化します。

    参数を使用してパラメーターの変化も指定する場合,ソフトウェアはスナップショット時間とパラメーターグリッド点の各組み合わせに対してモデルをシミュレートします。この操作では,計算量が増大する場合があります。

参数を使用してパラメ,タ,の変化を指定する場合,次のようにします。

  • パラメ,タ,がモデルの操作点に影響する場合,人事处を,パラメタ値のグリッドと同じ次元をも操作点の配列として指定します。パラメ,タ,値の組み合わせに対応する操作点を取得するには,線形化の前に参数を使用してモデルをバッチ平衡化します。詳細にいては,パラメ,タ,の変化から派生した複数の操作点でのモデルのバッチ線形化を参照してください。

  • パラメ,タ,がモデルの操作点に影響しない場合,人事处を単一の操作点として指定します。

線形化するブロックまたはサブシステム。絶対ブロックパスを含む文字ベクトルまたは字符串として指定します。

ソフトウェアは,指定されたブロックの入力端子と出力端子を開ループの入力と出力として扱うため,そのブロックは線形化の前にモデルの残りの部分から分離されます。

ブロックおよびサブシステムの代替の線形化。構造体またはn行 1 列の構造体配列として指定します。n は、線形化を指定するブロックの数です。blocksubを使用して,ブロックまたはサブシステムのカスタム線形化を指定します。たとえば,不連続性や触发子系统のあるブロックのように解析的な線形化をもたないブロックに線形化を指定できます。

ブロックの線形化を変化させることで生じるモデルのダイナミクスへの影響を調べるには,ブロックに複数の代替の線形化を指定してモデルをバッチ線形化することができます。

線形化を元のブロックまたはサブシステムと異なるサンプル時間に置き換える場合は,全体の線形化サンプル時間(选项.SampleTime)を既定以外の値に設定することをお勧めします。

代替線形化の各構造体には次のフィ,ルドがあります。

線形化を指定するブロックのブロックパス。文字ベクトルまたは字符串として指定します。

ブロックの代替の線形化。次のいずれかとして指定します。

  • 双SISOブロックの線形化をゲeconpンとして指定します。

  • doubleの配列- MIMOブロックの線形化をu行ny列のゲ@ @ン値の配列として指定します。ここでnuは入力の数,nyは出力の数です。

  • LTIモデル,不確かさをもつ状態空間モデル,または不確かさをもつ実数のオブジェクト——指定されたモデルのI / O構成が,的名字で指定されるブロックの構成に一致しなければなりません。不確かさをもつモデルの使用には鲁棒控制工具箱™ソフトウェアが必要です。

  • LTIモデルの配列,不確かさをもつ状態空間モデルの配列,または不確かさをもつ実数のオブジェクトの配列——複数のブロック置換を使用してモデルをバッチ線形化します。配列にある各モデルのI / O構成は,カスタム線形化を指定しているブロックの構成に一致しなければなりません。次のように指定します。

    • 参数でモデルパラメ,タ,を変化させ,价值をモデル配列として指定する場合,价值の次元はパラメタグリッドのサズに一致しなければなりません。

    • 人事处を操作点の配列として指定し,价值をモデル配列として指定する場合,价值の次元は人事处のサ@ @ズに一致しなければなりません。

    • 複数ブロックのブロック置換を定義して,これらのブロックのう1以上で价值をltiモデルの配列として指定する場合,これらの配列の次元が一致しなければなりません。

  • 次のフィルドをも構造体。

    フィ,ルド 説明
    规范

    ブロックの線形化。次のいずれかを含む文字ベクトルとして指定します。

    指定された式または関数が次のいずれかを返さなければなりません。

    • D行列形式の線形モデル

    • 控制系统工具箱™LTIモデルオブジェクト

    • 不確かさをもつ状態空間モデル,または不確かさをもつ実数のオブジェクト(鲁棒控制工具箱ソフトウェアが必要)

    返されるモデルのI/O構成は,的名字で指定されたブロックの構成に一致しなければなりません。

    类型

    仕様のタ@ @プ。次のいずれかとして指定します。

    • “表情”

    • “函数”

    ParameterNames

    線形化関数のパラメ,タ,名。文字ベクトルのcell 配列として指定します。ParameterNamesは,Type = 'Function'およびブロックの線形化関数が入力パラメ,タ,を必要とする場合にのみ指定します。これらのパラメ,タ,は,指定されたブロックの線形化にのみ影響を与えます。

    対応するblocksub.Value.ParameterValuesフィ,ルドも指定しなければなりません。

    ParameterValues

    線形化関数のパラメ,タ,値。双倍のベクトルとして指定します。パラメ,タ,値の順序は,blocksub.Value.ParameterNamesのパラメ,タ,名の順序に一致していなければなりません。ParameterValuesは,Type = 'Function'であり,かブロックの線形化関数が入力パラメタを必要とする場合にのみ指定します。

線形化のパラメ,タ,サンプル。次のいずれかとして指定します。

  • 構造体-参数を次のフィルドをも構造体として指定して,単一パラメタの値を変化させます。

    • 的名字—パラメタ名。文字ベクトルまたは字符串として指定します。モデル ワークスペース、MATLAB ワークスペース、またはデータ ディクショナリ内の変数である任意のモデル パラメーターを指定できます。モデルによって使用される変数がスカラー値でない場合は、スカラー数値に関連付けられた表現としてパラメーター名を指定します。たとえば、ベクトルVの最初の要素をパラメ,タ,として使用するには,次のようにします。

      参数。Name =“V(1)”
    • 价值—パラメタサンプル値。双倍の配列として指定します。

    たとえば,パラメ,タ,一个の値を10%の範囲内で変化させます。

    参数。Name =“一个”;参数。价值= linspace(0.9*A,1.1*A,3);
  • 構造体配列-複数のパラメタの値を変化させます。たとえば,パラメ,タ,一个およびbの値を10%の範囲内で変化させます。

    [A_grid,b_grid] = ndgrid(linspace(0.9*A,1.1*A,3),...linspace (0.9 * b, b 1.1 * 3));参数(1)。Name =“一个”;参数(1)。价值= A_grid; params(2).Name =“b”;参数(2)。价值= b_grid;

詳細にいては,バッチ線形化用のパラメ,タ,サンプルの指定を参照してください。

参数に調整可能なパラメーターのみを指定する場合,ソフトウェアはモデルコンパイルを1回のみ実行してモデルをバッチ線形化します。

LPV系统ブロックに必要なオフセットを計算するには,参数を指定し,选项。StoreOffsets真正的に設定します。その後,追加の線形化情報を信息に返し,getOffsetsForLPVを使用してオフセットを抽出できます。

線形化の結果の状態の順序。ブロックパスまたは状態名の cell 配列として指定します。stateorderでのブロックパスおよび状態の順序は,linsysにおける状態の順序を示します。

mdl内で状態をも任意のブロック,あるいはmdl内の名前付きのすべての状態に対してブロックパスを指定できます。

stateordermdlからのすべてのブロックと状態を指定する必要はありません。指定した状態はlinsysで最初に出現し,残りの状態はその後に既定の順序で続きます。

線形化アルゴリズムのオプション。linearizeOptionsオプションセットとして指定します。

出力引数

すべて折りたたむ

線形化の結果。状態空間モデル,または状態空間モデルの配列として返されます。

ほとんどのモデルでは,linsys党卫军オブジェクトまたは党卫军オブジェクトの配列として返されます。ただし,mdlioで定義された線形化パスに次のいずれかのブロックが含まれている場合,linsysは指定されたタ@ @プの状態空間モデルを返します。

ブロック linsysのタereplicationプ
一族オブジェクトまたは調整可能なモデルオブジェクトとして指定された置換をもブロック 一族
号航空母舰などの不確かさをもブロック 号航空母舰(鲁棒控制工具箱)
稀疏二阶ブロック mechss
スパ,スモデルに線形化するように構成された描述符状态ブロック 桅杆

linsysの次元は,指定されたパラメーターの変化とブロックの置換,およびモデルを線形化する操作点に依存します。

メモ

人事处参数またはblocksub。价值のうの複数を配列として指定する場合,それらの次元は一致していなければなりません。

パラメ,タ,の変化 ブロックの置換 線形化のタ@ @ミング 結果のlinsysの次元
パラメ,タ,変化なし ブロック置換なし モデルの操作点 単一の状態空間モデル
単一の操作点。人事处を使用するOperatingPointオブジェクトまたはスナップショット時間として指定します。
人事处で指定される1x...x NOperatingPointオブジェクトの配列 N1x...x N
N年代スナップショット。人事处を使用するスナップショット時間のベクトルとして指定します。 長さn年代の列ベクトル
blocksub。价值n .で指定される少なくとも1のブロックの1x...x Nのモデル配列 モデルの操作点 N1x...x N
単一の操作点。人事处を使用するOperatingPointオブジェクトまたはスナップショット時間として指定します。
N1x...x Nの操作点の配列。人事处を使用するOperatingPointオブジェクトの配列として指定します。
N年代スナップショット。人事处を使用するスナップショット時間のベクトルとして指定します。 N年代x N1x...x N
参数で指定される1x...x Nのパラメ,タ,グリッド ブロック置換なし,あるいはblocksub。价值n .で指定される少なくとも1のブロックの1x...x Nのモデル配列 モデルの操作点 N1x...x N
単一の操作点。人事处を使用するOperatingPointオブジェクトまたはスナップショット時間として指定します。
人事处で指定される1x...x NOperatingPointオブジェクトの配列
N年代スナップショット。人事处を使用するスナップショット時間のベクトルとして指定します。 N年代x N1x...x N

たとえば,以下を仮定します。

  • 人事处が4行3列のOperatingPointオブジェクトの配列で,パラメ,タ,の変化またはブロックの置換を指定しないとします。この場合,linsysは4行3列のモデル配列になります。

  • 人事处が単一のOperatingPointオブジェクトで,参数に3 × 4 × 2のパラメタグリッドを指定するとします。この場合,linsysは3 × 4 × 2のモデル配列になります。

  • 人事处が2の要素をも正のスカラの行ベクトルで,参数を指定しないとします。この場合,linsysは2の要素をも列ベクトルになります。

  • 人事处が3の要素をも正のスカラの列ベクトルで,参数に5行6列のパラメタグリッドを指定するとします。この場合,linsysは3 × 5 × 6のモデル配列になります。

  • 人事处が単一の操作点オブジェクトで,パラメ,タ,の変化を指定せず,blocksub。价值がモデル内の1のブロックの2行3列のモデル配列であるとします。この場合,linsysは2行3列のモデル配列になります。

  • 人事处が4blocksub。价值がモデル内の1のブロックの1行2列のモデル配列であるとします。この場合,linsysは4 × 1 × 2のモデル配列になります。

モデル配列の詳細にいては,モデル配列を参照してください。

モデルが線形化された操作点。OperatingPointオブジェクト,またはlinsysと同じ次元をもOperatingPointオブジェクトの配列として返されます。linopの各要素は,その対応するlinsysモデルが取得された操作点です。

人事处を単一の操作点のOperatingPointオブジェクトまたはOperatingPointオブジェクトの配列として指定する場合,linop人事处のコピ,になります。人事处を単一の操作点オブジェクトとして指定し,参数を使用してパラメ,タ,の変化も指定する場合,linopは,パラメタグリッドと同じ次元をも配列です。この場合,linopの要素は人事处のスカラ,拡張されたコピ,です。

モデルが妥当な操作点で線形化されたかどうかを判断するには,linopにある状態と入力を確認します。

線形化の情報。次のフィ,ルドを含む構造体として返されます。

モデルが線形化された操作点に対応する線形化のオフセット。选项。StoreOffsetsの場合[]として返されます。それ以外の場合,偏移量は次のいずれかとして返されます。

  • linsysが単一の状態空間モデルの場合,偏移量は構造体になります。

  • linsysが状態空間モデルの配列の場合,偏移量linsysと同じ次元をも構造体配列になります。

オフセットの各構造体には次のフィ,ルドがあります。

フィ,ルド 説明
x 線形化に使用された状態のオフセット。長さnxの列ベクトルとして返されます。nxlinsysにある状態の数です。
y 線形化に使用された出力のオフセット。長さnyの列ベクトルとして返されます。nylinsysにある出力の数です。
u 線形化に使用された入力のオフセット。長さnuの列ベクトルとして返されます。nulinsysにある入力の数です。
dx 連続時間システムの微分オフセット,または離散時間システムの更新された状態値。長さnxの列ベクトルとして返されます。
StateName 状態名。linsys。StateNameの名前に一致するx個の要素をもcell配列として返されます。
InputName 入力名。linsys。InputNameの名前に一致するu個の要素をもcell配列として返されます。
OutputName 出力名。linsys。OutputNameの名前に一致するy個の要素をもcell配列として返されます。
Ts 線形化されたシステムのサンプル時間。linsys。Tsのサンプル時間に一致するスカラ,として返されます。連続時間システムの場合,Ts0です。

偏移量が構造体配列の場合,オフセットを使用してLPV系统ブロックを構成できます。これを行うには,まずgetOffsetsForLPVを使用してオフセットを必要な形式に変換します。例にいては,Ltiシステムの配列を使用した非線形動作の近似を参照してください。

線形化の診断情報。选项。StoreAdvisorの場合は[]として返されます。それ以外の場合,顾问は次のいずれかとして返されます。

  • linsysが単一の状態空間モデルの場合,顾问LinearizationAdvisorオブジェクトになります。

  • linsysが状態空間モデルの配列の場合,顾问linsysと同じ次元をもLinearizationAdvisorオブジェクトの配列になります。

LinearizationAdvisorオブジェクトは個々の線形化ブロックにいての線形化の診断情報を格納します。LinearizationAdvisorオブジェクトを使用して線形化の結果をトラブルシュ,ティングする例は,コマンドラ▪▪ンを使用した線形化の結果のトラブルシュ▪▪ティングを参照してください。

詳細

すべて折りたたむ

カスタムの線形化関数

MATLABパスでカスタム関数を使用して,仿万博1manbetx真软件モデル内のブロックまたはサブシステムの代替の線形化を指定できます。

カスタムの線形化関数は1の入力引数BlockDataをもたなければなりません。これは,ソフトウェアが作成して関数に渡す構造体です。BlockDataには次のフィ,ルドがあります。

フィ,ルド 説明
BlockName カスタム線形化の指定対象となるブロックの名前。
参数 ブロックパラメ,タ,値。的名字フィ,ルドと价值フィルドをも構造体配列として指定します。参数には,blocksub.Value.ParameterNamesフィ,ルドとblocksub.Value.ParameterValuesフィ,ルドで指定するパラメ,タ,の名前と値が含まれます。
输入

線形化の定義対象のブロックへの入力信号。各ブロック入力ごとに構造体を1も。输入の各構造体には次のフィ,ルドがあります。

フィ,ルド 説明
BlockName 対応するブロック入力に接続する出力をもブロックの絶対ブロックパス。
PortIndex 対応するブロック入力に接続する,BlockNameで指定されるブロックの出力端子。
BlockNameおよびPortIndexで指定される信号の値。この信号がベクトル信号の場合,は同じ次元をもベクトルです。
纽约 ブロック線形化の出力チャネル数。
ν ブロック線形化の入力チャネル数。
BlockLinearization ブロックの現在の既定の線形化。状態空間モデルとして指定します。BlockLinearizationを使用して既定の線形化に依存するブロック線形化を指定できます。

カスタム関数はνの入力と纽约の出力をもモデルを返さなければなりません。このモデルは次のいずれかでなければなりません。

  • D行列形式の線形モデル

  • 控制系统工具箱LTIモデルオブジェクト

  • 不確かさをもつ状態空間モデル,または不確かさをもつ実数のオブジェクト(鲁棒控制工具箱ソフトウェアが必要)

たとえば,次の関数は現在の既定のブロック線形化をTd = 0.5秒の遅延で乗算します。遅延はサンプル時間Ts = 0.1のThiranフィルタ,で表されます。遅延とサンプル時間はBlockDataに保存されているパラメ,タ,です。

函数sys = myCustomFunction(BlockData) Td = BlockData. parameters (1).Value;Ts = BlockData.Parameters(2).Value;sys = BlockData.BlockLinearization*Thiran(Td,Ts);结束

この関数をmatlabパス上の場所に保存します。

この関数をブロックまたはサブシステムのカスタム線形化として使用するには,blocksub.Value.Specificationフィ,ルドとblocksub.Value.Typeフィ,ルドを指定します。

blocksub.Value.Specification =“myCustomFunction”;blocksub.Value.Type =“函数”

遅延およびサンプル時間のパラメ,タ,値を設定するには,blocksub.Value.ParameterNamesフィ,ルドとblocksub.Value.ParameterValuesフィ,ルドを指定します。

blocksub.Value.ParameterNames = {“Td”“t”};blocksub.Value.ParameterValues = [0.5 0.1];

アルゴリズム

すべて折りたたむ

線形化のモデルプロパティ

既定では,関数线性化によって以下のS万博1manbetximulinkモデルプロパティが自動的に設定されます。

  • BufferReuse = 'off'

  • RTWInlineParameters = 'on'

  • BlockReductionOpt = 'off'

  • 保存格式= 'StructureWithTime'

線形化の後,万博1manbetxSimulinkは元のモデルプロパティを復元します。

ブロックごとの線形化

万博1manbetxSimulink控制设计™ソフトウェアは,ブロックごとの手法を使用してモデルを線形化します。万博1manbetx仿真软件モデル内の各ブロックを個別に線形化し,これらのブロックの線形化を組み合わせる方法でシステム全体の線形化を行います。

ソフトウェアは操作点から各ブロックの入力と状態のレベルを判断し,これらのレベルでの各ブロックのヤコビアンを取得します。

ブロックによっては,この方法ではソフトウェアが解析的な線形化を計算できないことがあります。以下に例を示します。

  • 一部の非線形性にはヤコビアンが定義されていません。

  • ステートチャートや触发子系统など,一部の離散ブロックはゼロに線形化される傾向があります。

  • 一部のブロックはヤコビアンを実装しません。

  • 功能ブロックやMATLAB函数ブロックなどのカスタムブロックには解析的なヤコビアンがありません。

そのようなブロックにいては,想定される線形化がわかっている場合にはカスタム線形化を指定できます。カスタム線形化を指定しない場合,ソフトウェアはブロックの入力と状態を摂動させて,その摂動への応答を測定することによりモデルを線形化します。それぞれの入力および状態にいて,既定の摂動レベルは次のとおりです。

  • 倍精度値の場合, 10 5 1 + | x |

  • 単精度値の場合, 0.005 1 + | x |

ここで,xは操作点における対応する入力または状態の値です。個々のブロックの摂動レベルを変更する方法の詳細にいては,線形化時に摂動するブロックの摂動レベルの変更を参照してください。

詳細にいては,非線形モデルの線形化および正確な線形化アルゴリズムを参照してください。

全モデルの数値摂動法

全モデルの数値摂動法を使ってシステムを線形化できます。ここで,ソフトウェアはルートレベルの入力と状態の値に摂動を与えることによってモデル全体の線形化を計算します。そのためには,linearizeOptionsオブジェクトを作成してLinearizationAlgorithmプロパティを次のいずれかに設定します。

  • “numericalpert”-前進差分を使用して入力と状態に摂動を与えます。まり,入力と状態の値に摂動を加えます。この摂動法は,通常“numericalpert2”法よりも高速です。

  • “numericalpert2”-中心差分を使用して入力と状態に摂動を与えます。まり,入力と状態の値に正と負の両方向の摂動を加えます。この摂動法は,通常“numericalpert”法よりも正確です。

それぞれの入力と状態につき,ソフトウェアはモデルに摂動を与え,これらの摂動へのモデル応答に基づく線形モデルを計算します。NumericalPertRel線形化オプションを使用して,状態と入力の摂動レベルを構成できます。

ブロックごとの線形化には,全モデルの数値摂動法よりも優れた点がいくかあります。

  • 大半の仿万博1manbetx真软件ブロックには線形化が事前にプログラムされており,ブロックの正確な線形化を提供します。

  • 線形解析ポesc escントを使用して,線形化するモデルの部分を指定できます。

  • モデルのシミュレ,ションに影響を与えずにカスタム線形化を使用するようにブロックを設定できます。

  • 構造的な非最小状態は自動的に削除されます。

  • 不確かさを伴う線形化を指定できます(鲁棒控制工具箱ソフトウェアが必要)。

  • 詳細な診断情報を取得できます。

  • マルチレ,トモデルを線形化する場合,異なるレ,ト変換法を使用できます。全モデルの数値摂動法は,ゼロ次ホ,ルドのレ,ト変換のみを使用できます。

詳細にいては,非線形モデルの線形化および正確な線形化アルゴリズムを参照してください。

代替方法

関数线性化に替わる方法として,次のいずれかの方法でモデルを線形化することができます。

ブロックごとの線形化は万博1manbetxSimulink控制设计ソフトウェアとS万博1manbetximulink関数linmodの両方で実行されますが,万博1manbetxSimulink控制设计の線形化機能ではより柔軟なユーザーインターフェイスが提供され,控制系统工具箱の数値アルゴリズムも使用されます。詳細にいては,万博1manbetx仿真软件控制设计を使用した線形化と仿真软件を使用した線形化の比較を参照してください。

バ,ジョン履歴

R2006aで導入