tunableGain
調整可能な静的ゲイン ブロック
説明
調整可能な静的ゲインを作成するためのモデル オブジェクト。tunableGain
では、パラメーターの調査や、systune
や looptune
などの調整コマンドを使用した自動調整用に、調整可能な静的ゲインをパラメーター化できます。
tunableGain
はパラメトリック モデルの制御設計ブロック ファミリの一部です。その他の制御設計ブロックには、tunablePID
、tunableSS
および tunableTF
があります。
作成
説明
入力引数
name
— ブロックの名前
文字ベクトル
ブロック Name
。'K'
または 'gain1'
などの文字ベクトルとして指定します (プロパティを参照)。
データ型: char
Ny
— パラメトリック静的ゲイン ブロックの出力の数
非負の整数
パラメトリック静的ゲイン ブロック blk
の出力の数。非負の整数として指定します。
データ型: double
Nu
— パラメトリック静的ゲイン ブロックの入力の数
非負の整数
パラメトリック静的ゲイン ブロック blk
の入力の数。非負の整数として指定します。
データ型: double
G
— 静的ゲイン値の double 配列
配列
ゲイン ブロック パラメーターの初期値。double 配列として指定します。G
の行と列の数は、blk
の入力と出力の数を決定します。
データ型: double
プロパティ
Gain
— 調整可能なゲインのパラメーター化
オブジェクト
blk.Gain
は param.Continuous
オブジェクトです。param.Continuous
(Simulink Design Optimization) オブジェクト blk.Gain
のプロパティに関する一般情報は、param.Continuous
オブジェクトのリファレンス ページを参照してください。
blk.Gain
の次のフィールドは、hinfstruct
を使用して blk
を調整するときに使用されます。
フィールド | 説明 |
---|---|
Value | ゲイン行列の現在の値。
既定: ゼロ値の配列 |
Free |
既定: 1 ( |
Minimum | パラメーターの最小値。このプロパティは、パラメーターの調整された値に下限を設定します。たとえば、 既定: |
Maximum | パラメーターの最大値。このプロパティは、パラメーターの調整された値に上限を設定します。たとえば、 既定: |
Ts
— サンプル時間
0
(連続時間) (既定値) | -1
(離散時間) | スカラー
サンプル時間。連続時間モデルの場合、Ts = 0
。離散時間モデルの場合、Ts
はサンプリング周期を表す正のスカラーです。この値は、モデルの TimeUnit
プロパティで指定される単位で表されます。指定のないサンプル時間を伴う離散時間モデルを示すには、Ts = -1
と設定します。
このプロパティを変更してもモデルの離散化やリサンプリングは行われません。
TimeUnit
— 時間変数の単位
'seconds'
(既定値)
モデル内の時間変数、サンプル時間 Ts
および何らかのむだ時間の単位。以下のいずれかの値として指定します。
'nanoseconds'
'microseconds'
'milliseconds'
'seconds'
'minutes'
'hours'
'days'
'weeks'
'months'
'years'
このプロパティを変更しても他のプロパティには影響しないため、システム全体の動作が変更されます。chgTimeUnit
を使用して、システム動作を変更せずに時間単位を変換します。
InputName
— 入力チャネル名
文字ベクトル | 文字ベクトルの cell 配列
入力チャネル名。以下のいずれかとして指定します。
文字ベクトル — 単入力モデルの場合 (たとえば
'controls'
など)。文字ベクトルの cell 配列 — 多入力モデルの場合。
または、自動的なベクトル拡張を使用して多入力モデルの入力名を割り当てます。たとえば、sys
が 2 入力モデルである場合は、以下のようになります。
sys.InputName = 'controls';
入力名は自動的に {'controls(1)';'controls(2)'}
へと拡張されます。
省略形表記 u
を使用して、InputName
プロパティを参照できます。たとえば、sys.u
は sys.InputName
と同じです。
以下を含めて、入力チャネル名はいくつかの用途をもちます。
モデル表示とプロット上のチャネルの識別
MIMO システムのサブシステムの抽出
モデル相互接続時における接続点の指定
InputUnit
— 入力チャネル単位
文字ベクトル | 文字ベクトルの cell 配列
入力チャネル単位。以下のいずれかとして指定します。
文字ベクトル — 単入力モデルの場合 (たとえば
'seconds'
など)。文字ベクトルの cell 配列 — 多入力モデルの場合。
InputUnit
を使用して入力信号単位を追跡します。InputUnit
はシステムの動作に影響しません。
InputGroup
— 入力チャネル グループ
構造体
MIMO システムの入力チャネルを割り当てるための入力チャネル グループ。構造体として指定します。この構造体においてフィールド名はグループ名であり、フィールド値は各グループに属する入力チャネルです。以下に例を示します。
sys.InputGroup.controls = [1 2]; sys.InputGroup.noise = [3 5];
これは、入力チャネル 1、2 および 3、5 をそれぞれ含む controls
および noise
という名前の入力グループを作成します。その後、以下を使用して controls
入力からすべての出力にサブシステムを抽出できます。
sys(:,'controls')
OutputName
— 出力チャネル名
文字ベクトル | 文字ベクトルの cell 配列
出力チャネル名。次のいずれかとして指定されます。
文字ベクトル — 単出力モデルの場合。たとえば、
'measurements'
とします。文字ベクトルの cell 配列 — 多出力モデルの場合。
または、自動的なベクトル拡張を使用して多出力モデルの出力名を割り当てます。たとえば、sys
が 2 出力力モデルである場合は、以下のようになります。
sys.OutputName = 'measurements';
出力名は自動的に {'measurements(1)';'measurements(2)'}
へと拡張されます。
省略形表記 y
を使用して、OutputName
プロパティを参照できます。たとえば、sys.y
は sys.OutputName
と同じです。
以下を含めて、出力チャネル名はいくつかの用途をもちます。
モデル表示とプロット上のチャネルの識別
MIMO システムのサブシステムの抽出
モデル相互接続時における接続点の指定
OutputUnit
— 出力チャネル単位
文字ベクトル | 文字ベクトルの cell 配列
出力チャネル単位。次のいずれかとして指定されます。
文字ベクトル — 単出力モデルの場合。たとえば、
'seconds'
とします。文字ベクトルの cell 配列 — 多出力モデルの場合。
OutputUnit
を使用して出力信号単位を追跡します。OutputUnit
はシステムの動作に影響しません。
OutputGroup
— 出力チャネル グループ
struct
(既定値)
MIMO システムの出力チャネルを割り当てるための出力チャネル グループ。構造体として指定します。この構造体内においてフィールド名はグループ名であり、フィールド値は各グループに属する出力チャネルです。以下に例を示します。
sys.OutputGroup.temperature = [1]; sys.OutputGroup.measurement = [3 5];
これは、出力チャネル 1 および 3、5 をそれぞれ含む temperature
および measurement
という名前の出力グループを作成します。その後、以下を使用してすべての入力から measurement
出力にサブシステムを抽出できます。
sys('measurement',:)
Name
— システム名
文字ベクトル
システム名。文字ベクトルとして指定します。たとえば、'system_1'
とします。
Notes
— システムに関連付ける任意のテキスト
string | 文字ベクトルの cell 配列
システムに関連付ける任意のテキスト。string または文字ベクトルの cell 配列として格納されます。プロパティには指定したデータ型が格納されます。たとえば、sys1
と sys2
が動的システム モデルである場合、その Notes
プロパティを次のように設定できます。
sys1.Notes = "sys1 has a string."; sys2.Notes = 'sys2 has a character vector.'; sys1.Notes sys2.Notes
ans = "sys1 has a string." ans = 'sys2 has a character vector.'
UserData
— システムに関連付ける任意のデータ型
任意の MATLAB® データ
システムに関連付ける任意のデータ型。任意の MATLAB データ型として指定します。
例
2 行 2 列のパラメトリック ゲイン ブロックの作成
次の形式の 2 行 2 列のパラメトリック ゲイン ブロックを作成します。
ここで、g1 と g2 は調整可能なパラメーターであり、非対角要素は 0 に固定されます。
blk = tunableGain('gainblock',2,2); % 2 outputs, 2 inputs blk.Gain.Free = [1 0; 0 1]; % fix off-diagonal entries to zero
blk.Gain.Value
のすべてのエントリは 0 に初期化されます。次のように対角値を 1 に初期化します。
blk.Gain.Value = eye(2); % set diagonals to 1
パラメトリック ゲイン ブロック内のすべての値の初期化
2 入力 3 出力パラメトリック ゲイン ブロックを作成して、すべてのパラメーター値を 1 に初期化します。
これを行うには、パラメトリック ゲイン ブロックを次元化するために行列を作成し、パラメーター値を初期化します。
G = ones(3,2);
blk = tunableGain('gainblock',G);
2 行 2 列のパラメトリック ゲイン ブロックの入力への名前の割り当て
2 行 2 列のパラメトリック ゲイン ブロックを作成して、名前を入力に割り当てます。
blk = tunableGain('gainblock',2,2) % 2 outputs, 2 inputs blk.InputName = {'Xerror','Yerror'} % assign input names
ヒント
バージョン履歴
R2016a で導入R2016a: ltiblock.gain からの名前変更
R2016a より前は、tunableGain
は ltiblock.gain
と呼ばれていました。
参考
tunablePID
| tunablePID2
| tunableTF
| tunableSS
| systune
| looptune
| genss
| hinfstruct
(Robust Control Toolbox)
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)