ドキュメンテーションヘルプ センター
slTuner インターフェイスにおける調整された変数の現在の値を取得
slTuner
value = getTunedValue(st,var)
[value1,value2,...] = getTunedValue(st,var1,var2,...)
S = getTunedValue(st)
getTunedValue を使うと、slTuner インターフェイス内にある調整された変数の現在の値にアクセスできます。
getTunedValue
slTuner インターフェイスは、各調整ブロックを制御設計ブロックとして、または genmat タイプか genss タイプの一般化されたパラメトリック モデルとしてパラメーター化します。このパラメーター化では、systune などのコマンドに対し、調整された変数が指定されます。
genmat
genss
systune
例
value = getTunedValue(st,var) は、slTuner インターフェイス st における調整された変数の現在の値 var を返します。
value
st
var
[value1,value2,...] = getTunedValue(st,var1,var2,...) は、複数の調整された変数の現在の値を返します。
S = getTunedValue(st) は、st におけるすべての調整された変数の現在の値を含む構造体を返します。
S
すべて折りたたむ
scdcascade モデルの slTuner インターフェイスを作成します。
scdcascade
open_system('scdcascade'); st = slTuner('scdcascade',{'C1','C2'});
調整可能なブロックの 1 つについて、カスタム パラメーター化を設定します。
C1CustParam = realp('Kp',1) + tf(1,[1 0]) * realp('Ki',1); setBlockParam(st,'C1',C1CustParam);
これらのコマンドにより、C1 コントローラー ブロックのパラメーター化が、2 つの調整可能なパラメーター Ki および Kp を含む一般化状態空間 (genss) モデルに設定されます。
C1
Ki
Kp
一般的には、systune などの調整コマンドを使用して、カスタム パラメーター化のパラメーターの値を調整します。
調整後、getTunedValue を使用して、Ki の調整された値をクエリします。
KiTuned = getTunedValue(st,'Ki')
KiTuned = 1
調整ブロック C1 全体の値をクエリするには、getBlockValue を使用します。
getBlockValue
これらのコマンドにより、C1 コントローラー ブロックのパラメーター化が、調整可能なパラメーター Kp および Ki を含む一般化状態空間 (genss) モデルに設定されます。
調整後、getTunedValue を使用して、Kp と Ki 両方の調整された値をクエリします。
[KiTuned,KpTuned] = getTunedValue(st,'Ki','Kp')
KiTuned = 1 KpTuned = 1
調整ブロック C1 のカスタム パラメーター化を設定します。
調整後、getTunedValue を使用して、st における調整ブロックすべてのパラメーター化について、調整された値をクエリします。
S = struct with fields: C2: [1x1 pid] Ki: 1 Kp: 1
調整された値は、次のフィールドを含む構造体で返されます。
調整ブロック C2。制御設計ブロックとしてパラメーター化されます。
C2
ブロック C2 内の調整可能な要素 Kp および Ki。カスタム genss モデルとしてパラメーター化されます。
Simulink でモデル化された制御システムを調整するためのインターフェイス。slTuner インターフェイスとして指定します。
st 内の調整された変数。文字ベクトルまたは string として指定します。調整された変数は、調整された Simulink ブロックのパラメーター化に直接関与する、あるいは一般化されたパラメトリック モデルを通して関与する任意の制御設計ブロック (realp、tunableSS、tunableGain など) です。st 内のすべての調整された変数のリストを取得するには、getTunedValue(st) を使用します。
realp
tunableSS
tunableGain
getTunedValue(st)
var は以下を参照できます。
制御設計ブロックでパラメーター化されたブロックでは、そのブロックの名前。たとえば、ブロックのパラメーター化が次のようであるとします。
C = tunableSS('C')
この場合は、var = 'C' と設定します。
'C'
genmat または genss モデル M でパラメーター化されたブロックでは、M.Blocks にリストされている任意の制御設計ブロックの名前。たとえば、ブロックのパラメーター化が次のようであるとします。
M
M.Blocks
a = realp('a',1); C = tf(a,[1 a]);
この場合は、var = 'a' と設定します。
'a'
st における調整された変数の現在の値。数値スカラーか数値配列、または状態空間モデルとして返されます。Simulink モデルへの調整結果の適用に writeBlockValue が使用されていない場合、getTunedValue で返される値は Simulink ブロックの値と異なる場合があります。
writeBlockValue
メモ
ブロック パラメーター化の値を Simulink モデル内の実際のブロック値と揃えるには、writeBlockValue を使用します。
st におけるすべての調整された変数の現在値。構造体として返されます。S のフィールドの名前は、st における調整された変数の名前で、フィールドの値は対応する数値スカラーまたは数値配列です。
この構造体を使用すると、調整された変数の値は次のように、ある slTuner インターフェイスから同じ調整された変数をもつ別の slTuner インターフェイスに転送できます。
S = getTunedValue(st1); setTunedValue(st2,S);
slTuner インターフェイスで使用される "調整ブロック" は、Simulink モデル内のブロックのうち、調整目標を満たすためにパラメーター調整を行うブロックを示します。ゲイン、伝達関数、状態空間モデルなどの線形要素を表現する Simulink ブロックは、ほとんどが調整可能です (調整がサポートされているブロックの完全なリストは、調整された Simulink ブロックをパラメーター化する方法を参照してください)。また、SubSystem ブロックや S-Function ブロックなど、より複雑なブロックも、等価の調整可能な線形モデルを指定することで調整可能です。
調整ブロックのパラメーターを調整するには、systune などの調整コマンドを使用します。
slTuner インターフェイスを作成する際に、調整ブロック (たとえば、C1 や C2) を指定しなければなりません。
st = slTuner('scdcascade',{'C1','C2'})
addBlock および removeBlock により、調整ブロックのリストを変更できます。
addBlock
removeBlock
調整ブロックを対話的に操作するには、以下を使用します。
調整ブロックのパラメーター化とその現在の値にアクセスするには、getBlockParam、getBlockValue および getTunedValue。
getBlockParam
調整ブロックのパラメーター化とその値を変更するには、setBlockParam、setBlockValue および setTunedValue。
setBlockParam
setBlockValue
setTunedValue
調整ブロックのパラメーター化の現在の値で Simulink モデルのブロックを更新するには、writeBlockValue。
slTuner インターフェイス内では、"調整された変数" は、調整された Simulink ブロックのパラメーター化に直接関与する、あるいは一般化されたパラメトリック モデルを通して関与する任意の制御設計ブロックです。調整された変数は、systune などの調整コマンドで操作されるパラメーターです。
一般化モデルまたは調整可能な曲面によりパラメーター化された Simulink ブロックでは、次のことが該当します。
getBlockValue により、ブロック パラメーター化の全体的な値にアクセスできます。ブロック パラメーター化内の調整された変数の値にアクセスするには、getTunedValue を使用します。
setBlockValue は、ブロック値の変更には使用できません。ブロック パラメーター化内の調整された変数の値を変更するには、setTunedValue を使用します。
制御設計ブロックによりパラメーター化された Simulink ブロックでは、ブロック自体が調整された変数です。ブロック値を変更するには、setBlockValue か setTunedValue のいずれかを使用できます。同様に、ブロック値は getBlockValue か getTunedValue のいずれかを使用して取得できます。
getBlockParam | getBlockValue | setTunedValue | slTuner | tunableSurface
tunableSurface
この例の変更されたバージョンがシステム上にあります。代わりにこのバージョンを開きますか?
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
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:
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Contact your local office
無料評価版のダウンロード