线性化
万博1manbetxモデルまたはサブシステムの線形近似
構文
説明
例
指定されたI/Oセットを使用したモデルの線形化
万博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“输出”);
sys
を10
秒間シミュレ,トして,モデルを線形化します。
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
入力引数
mdl
- - - - - -万博1manbetxSimulinkモデル名
文字ベクトル|字符串
万博1manbetxSimulinkモデル名。文字ベクトルまたは字符串として指定します。モデルは現在の作業フォルダー内または MATLAB パス上になければなりません。
io
- - - - - -解析ポ@ @ントセット
線形化I/Oオブジェクト|線形化I/Oオブジェクトのベクトル
入力,出力および開始点を含む解析ポ。線形化I/Oオブジェクトまたは線形化I/O オブジェクトのベクトルとして指定します。io
を作成するには次を行います。
io
内の各線形化I/Oオブジェクトは,Si万博1manbetxmulinkモデルmdl
またはモデルの階層構造におけるノ,マルモ,ドのモデル参照に対応していなければなりません。
io
を省略した場合,线性化
はモデルのルトレベルの入力端子と出力端子を解析ポントとして使用します。
線形化の入力,出力,開始点の指定の詳細にモデルの一部を線形化するよう指定を参照してください。
人事处
- - - - - -操作点
OperatingPoint
オブジェクト|OperatingPoint
オブジェクトの配列|正のスカラ,のベクトル
線形化の操作点。次のいずれかとして指定します。
OperatingPoint
オブジェクト。次を使用して作成します。OperatingPoint
オブジェクトの配列。複数の操作点を指定するものです。OperatingPoint
オブジェクトの配列を作成するには,次の方法があります。findop
を使用して複数のスナップショット時間で操作点を抽出します。複数の操作点仕様を使用してモデルをバッチ平衡化します。詳細にいては,複数の仕様に対する定常状態の操作点のバッチ計算を参照してください。
パラメ,タ,の変化を使用してモデルをバッチ平衡化します。詳細にいては,パラメ,タ,が変化する定常状態の操作点のバッチ計算を参照してください。
1。ソフトウェアは
sys
をシミュレ,トして,指定されたスナップショット時間でモデルを線形化します。参数
を使用してパラメーターの変化も指定する場合,ソフトウェアはスナップショット時間とパラメーターグリッド点の各組み合わせに対してモデルをシミュレートします。この操作では,計算量が増大する場合があります。
参数
を使用してパラメ,タ,の変化を指定する場合,次のようにします。
パラメ,タ,がモデルの操作点に影響する場合,
人事处
を,パラメタ値のグリッドと同じ次元をも操作点の配列として指定します。パラメ,タ,値の組み合わせに対応する操作点を取得するには,線形化の前に参数
を使用してモデルをバッチ平衡化します。詳細にいては,パラメ,タ,の変化から派生した複数の操作点でのモデルのバッチ線形化を参照してください。パラメ,タ,がモデルの操作点に影響しない場合,
人事处
を単一の操作点として指定します。
blockpath
- - - - - -ブロックまたはサブシステム
文字ベクトル|字符串
線形化するブロックまたはサブシステム。絶対ブロックパスを含む文字ベクトルまたは字符串として指定します。
ソフトウェアは,指定されたブロックの入力端子と出力端子を開ループの入力と出力として扱うため,そのブロックは線形化の前にモデルの残りの部分から分離されます。
blocksub
- - - - - -ブロックおよびサブシステムの代替の線形化
構造体|構造体配列
ブロックおよびサブシステムの代替の線形化。構造体またはn行 1 列の構造体配列として指定します。n は、線形化を指定するブロックの数です。blocksub
を使用して,ブロックまたはサブシステムのカスタム線形化を指定します。たとえば,不連続性や触发子系统のあるブロックのように解析的な線形化をもたないブロックに線形化を指定できます。
ブロックの線形化を変化させることで生じるモデルのダイナミクスへの影響を調べるには,ブロックに複数の代替の線形化を指定してモデルをバッチ線形化することができます。
線形化を元のブロックまたはサブシステムと異なるサンプル時間に置き換える場合は,全体の線形化サンプル時間(选项
.SampleTime
)を既定以外の値に設定することをお勧めします。
代替線形化の各構造体には次のフィ,ルドがあります。
的名字
-ブロックパス
文字ベクトル|字符串
線形化を指定するブロックのブロックパス。文字ベクトルまたは字符串として指定します。
价值
-代替の線形化
双|双の配列| LTIモデル|モデル配列|構造体
ブロックの代替の線形化。次のいずれかとして指定します。
双SISOブロックの線形化をゲeconpンとして指定します。
doubleの配列- MIMOブロックの線形化をu行ny列のゲ@ @ン値の配列として指定します。ここでnuは入力の数,nyは出力の数です。
LTIモデル,不確かさをもつ状態空間モデル,または不確かさをもつ実数のオブジェクト——指定されたモデルのI / O構成が,
的名字
で指定されるブロックの構成に一致しなければなりません。不確かさをもつモデルの使用には鲁棒控制工具箱™ソフトウェアが必要です。LTIモデルの配列,不確かさをもつ状態空間モデルの配列,または不確かさをもつ実数のオブジェクトの配列——複数のブロック置換を使用してモデルをバッチ線形化します。配列にある各モデルのI / O構成は,カスタム線形化を指定しているブロックの構成に一致しなければなりません。次のように指定します。
次のフィルドをも構造体。
フィ,ルド 説明 规范
ブロックの線形化。次のいずれかを含む文字ベクトルとして指定します。
MATLAB式
現在の作業フォルダ内またはmatlabパス上にあるカスタムの線形化関数の名前
指定された式または関数が次のいずれかを返さなければなりません。
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
を使用してオフセットを抽出できます。
选项
- - - - - -線形化アルゴリズムオプション
linearizeOptions
オプションセット
線形化アルゴリズムのオプション。linearizeOptions
オプションセットとして指定します。
出力引数
linsys
-線形化の結果
状態空間モデル|状態空間モデルの配列
線形化の結果。状態空間モデル,または状態空間モデルの配列として返されます。
ほとんどのモデルでは,linsys
は党卫军
オブジェクトまたは党卫军
オブジェクトの配列として返されます。ただし,mdl
のio
で定義された線形化パスに次のいずれかのブロックが含まれている場合,linsys
は指定されたタ@ @プの状態空間モデルを返します。
ブロック | linsys のタereplicationプ |
---|---|
一族 オブジェクトまたは調整可能なモデルオブジェクトとして指定された置換をもブロック |
一族 |
号航空母舰 などの不確かさをもブロック |
号航空母舰 (鲁棒控制工具箱) |
稀疏二阶ブロック | mechss |
スパ,スモデルに線形化するように構成された描述符状态ブロック | 桅杆 |
linsys
の次元は,指定されたパラメーターの変化とブロックの置換,およびモデルを線形化する操作点に依存します。
パラメ,タ,の変化 | ブロックの置換 | 線形化のタ@ @ミング | 結果のlinsys の次元 |
---|---|---|---|
パラメ,タ,変化なし | ブロック置換なし | モデルの操作点 | 単一の状態空間モデル |
単一の操作点。人事处 を使用するOperatingPoint オブジェクトまたはスナップショット時間として指定します。 |
|||
人事处 で指定される1x... x N米のOperatingPoint オブジェクトの配列 |
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 N米のOperatingPoint オブジェクトの配列 |
|||
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のモデル配列になります。
モデル配列の詳細にいては,モデル配列を参照してください。
linop
-操作点
OperatingPoint
オブジェクト|OperatingPoint
オブジェクトの配列
モデルが線形化された操作点。OperatingPoint
オブジェクト,またはlinsys
と同じ次元をもOperatingPoint
オブジェクトの配列として返されます。linop
の各要素は,その対応するlinsys
モデルが取得された操作点です。
人事处
を単一の操作点のOperatingPoint
オブジェクトまたはOperatingPoint
オブジェクトの配列として指定する場合,linop
は人事处
のコピ,になります。人事处
を単一の操作点オブジェクトとして指定し,参数
を使用してパラメ,タ,の変化も指定する場合,linop
は,パラメタグリッドと同じ次元をも配列です。この場合,linop
の要素は人事处
のスカラ,拡張されたコピ,です。
モデルが妥当な操作点で線形化されたかどうかを判断するには,linop
にある状態と入力を確認します。
信息
-線形化の情報
構造体
線形化の情報。次のフィ,ルドを含む構造体として返されます。
偏移量
-線形化のオフセット
[]
(既定値) | 構造体 | 構造体配列
モデルが線形化された操作点に対応する線形化のオフセット。选项。StoreOffsets
が假
の場合[]
として返されます。それ以外の場合,偏移量
は次のいずれかとして返されます。
linsys
が単一の状態空間モデルの場合,偏移量
は構造体になります。linsys
が状態空間モデルの配列の場合,偏移量
はlinsys
と同じ次元をも構造体配列になります。
オフセットの各構造体には次のフィ,ルドがあります。
フィ,ルド | 説明 |
---|---|
x |
線形化に使用された状態のオフセット。長さnxの列ベクトルとして返されます。nxはlinsys にある状態の数です。 |
y |
線形化に使用された出力のオフセット。長さnyの列ベクトルとして返されます。nyはlinsys にある出力の数です。 |
u |
線形化に使用された入力のオフセット。長さnuの列ベクトルとして返されます。nuはlinsys にある入力の数です。 |
dx |
連続時間システムの微分オフセット,または離散時間システムの更新された状態値。長さnxの列ベクトルとして返されます。 |
StateName |
状態名。linsys。StateName の名前に一致するx個の要素をもcell配列として返されます。 |
InputName |
入力名。linsys。InputName の名前に一致するu個の要素をもcell配列として返されます。 |
OutputName |
出力名。linsys。OutputName の名前に一致するy個の要素をもcell配列として返されます。 |
Ts |
線形化されたシステムのサンプル時間。linsys。Ts のサンプル時間に一致するスカラ,として返されます。連続時間システムの場合,Ts は0 です。 |
偏移量
が構造体配列の場合,オフセットを使用してLPV系统ブロックを構成できます。これを行うには,まずgetOffsetsForLPV
を使用してオフセットを必要な形式に変換します。例にいては,Ltiシステムの配列を使用した非線形動作の近似を参照してください。
顾问
-線形化の診断情報
[]
(既定値) |LinearizationAdvisor
オブジェクト|LinearizationAdvisor
オブジェクトの配列
線形化の診断情報。选项。StoreAdvisor
が假
の場合は[]
として返されます。それ以外の場合,顾问
は次のいずれかとして返されます。
linsys
が単一の状態空間モデルの場合,顾问
はLinearizationAdvisor
オブジェクトになります。linsys
が状態空間モデルの配列の場合,顾问
はlinsys
と同じ次元をもLinearizationAdvisor
オブジェクトの配列になります。
LinearizationAdvisor
オブジェクトは個々の線形化ブロックにいての線形化の診断情報を格納します。LinearizationAdvisor
オブジェクトを使用して線形化の結果をトラブルシュ,ティングする例は,コマンドラ▪▪ンを使用した線形化の結果のトラブルシュ▪▪ティングを参照してください。
詳細
カスタムの線形化関数
MATLABパスでカスタム関数を使用して,仿万博1manbetx真软件モデル内のブロックまたはサブシステムの代替の線形化を指定できます。
カスタムの線形化関数は1の入力引数BlockData
をもたなければなりません。これは,ソフトウェアが作成して関数に渡す構造体です。BlockData
には次のフィ,ルドがあります。
フィ,ルド | 説明 | ||||||||
---|---|---|---|---|---|---|---|---|---|
BlockName |
カスタム線形化の指定対象となるブロックの名前。 | ||||||||
参数 |
ブロックパラメ,タ,値。的名字 フィ,ルドと价值 フィルドをも構造体配列として指定します。参数 には,blocksub.Value.ParameterNames フィ,ルドとblocksub.Value.ParameterValues フィ,ルドで指定するパラメ,タ,の名前と値が含まれます。 |
||||||||
输入 |
線形化の定義対象のブロックへの入力信号。各ブロック入力ごとに構造体を1も。
|
||||||||
纽约 |
ブロック線形化の出力チャネル数。 | ||||||||
ν |
ブロック線形化の入力チャネル数。 | ||||||||
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函数ブロックなどのカスタムブロックには解析的なヤコビアンがありません。
そのようなブロックにいては,想定される線形化がわかっている場合にはカスタム線形化を指定できます。カスタム線形化を指定しない場合,ソフトウェアはブロックの入力と状態を摂動させて,その摂動への応答を測定することによりモデルを線形化します。それぞれの入力および状態にいて,既定の摂動レベルは次のとおりです。
倍精度値の場合, 。
単精度値の場合, 。
ここで,xは操作点における対応する入力または状態の値です。個々のブロックの摂動レベルを変更する方法の詳細にいては,線形化時に摂動するブロックの摂動レベルの変更を参照してください。
詳細にいては,非線形モデルの線形化および正確な線形化アルゴリズムを参照してください。
全モデルの数値摂動法
全モデルの数値摂動法を使ってシステムを線形化できます。ここで,ソフトウェアはルートレベルの入力と状態の値に摂動を与えることによってモデル全体の線形化を計算します。そのためには,linearizeOptions
オブジェクトを作成してLinearizationAlgorithm
プロパティを次のいずれかに設定します。
“numericalpert”
-前進差分を使用して入力と状態に摂動を与えます。まり,入力と状態の値に摂動を加えます。この摂動法は,通常“numericalpert2”
法よりも高速です。“numericalpert2”
-中心差分を使用して入力と状態に摂動を与えます。まり,入力と状態の値に正と負の両方向の摂動を加えます。この摂動法は,通常“numericalpert”
法よりも正確です。
それぞれの入力と状態につき,ソフトウェアはモデルに摂動を与え,これらの摂動へのモデル応答に基づく線形モデルを計算します。NumericalPertRel
線形化オプションを使用して,状態と入力の摂動レベルを構成できます。
ブロックごとの線形化には,全モデルの数値摂動法よりも優れた点がいくかあります。
大半の仿万博1manbetx真软件ブロックには線形化が事前にプログラムされており,ブロックの正確な線形化を提供します。
線形解析ポesc escントを使用して,線形化するモデルの部分を指定できます。
モデルのシミュレ,ションに影響を与えずにカスタム線形化を使用するようにブロックを設定できます。
構造的な非最小状態は自動的に削除されます。
不確かさを伴う線形化を指定できます(鲁棒控制工具箱ソフトウェアが必要)。
詳細な診断情報を取得できます。
マルチレ,トモデルを線形化する場合,異なるレ,ト変換法を使用できます。全モデルの数値摂動法は,ゼロ次ホ,ルドのレ,ト変換のみを使用できます。
詳細にいては,非線形モデルの線形化および正確な線形化アルゴリズムを参照してください。
代替方法
関数线性化
に替わる方法として,次のいずれかの方法でモデルを線形化することができます。
モデルを対話的に線形化するには,モデル線形化器アプリを使用します。例にいては,万博1manbetxSimulinkモデルのモデル操作点での線形化を参照してください。
伝達関数ごとにモデルを変更したり解析ポイントセットを作成することなく,複数の伝達関数を取得するには,
slLinearizer
@ @ @ @ @ @ @ @ @ @ @ @ @ @。例にいては,パラメ,タ,値を変化させて複数の伝達関数を取得を参照してください。
ブロックごとの線形化は万博1manbetxSimulink控制设计ソフトウェアとS万博1manbetximulink関数linmod
の両方で実行されますが,万博1manbetxSimulink控制设计の線形化機能ではより柔軟なユーザーインターフェイスが提供され,控制系统工具箱の数値アルゴリズムも使用されます。詳細にいては,万博1manbetx仿真软件控制设计を使用した線形化と仿真软件を使用した線形化の比較を参照してください。
バ,ジョン履歴
R2006aで導入
Matlabコマンド
次のmatlabコマンドに対応するリンクがクリックされました。
コマンドをmatlabコマンドウィンドウに入力して実行してください。Webブラウザ,はMATLABコマンドをサポ,トしていません。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。