get_param
パラメーターの名前と値の取得
説明
は指定したモデルまたはブロック オブジェクトに対して指定したパラメーターの名前または値を返します。事前に Simulink® モデルを開くか読み込んでおきます。 ParamValue
= get_param(Object
,Parameter
)
ヒント
同じブロックに対する get_param
を複数回呼び出す場合、数値ハンドルを使用する方がブロックの絶対パスを使用するよりも効率的にブロックを指定できます。getSimulinkBlockHandle
を使用してブロック ハンドルを取得します。
パラメーター名については、以下を参照してください。
例
ブロック パラメーター値およびモデル パラメーター値の取得
vdp
モデルを読み込みます。
load_system('vdp');
Expression
ブロック パラメーターの値を取得します。
BlockParameterValue = get_param('vdp/Mu','Multiplication')
BlockParameterValue = 'Element-wise(K.*u)'
SolverType
モデル パラメーターの値を取得します。
SolverType = get_param('vdp','SolverType')
SolverType = Variable-step
ルート パラメーターの名前と値の取得
Simulink ルート パラメーター名およびモデル パラメーター名と異なる名前を探してグローバル パラメーターの名前のリストを取得します。
RootParameterNames = fieldnames(get_param(0,'ObjectParameters')); load_system('vdp') ModelParameterNames = fieldnames(get_param('vdp','ObjectParameters')); GlobalParameterNames = setdiff(RootParameterNames,ModelParameterNames)
GlobalParameterNames = 'AutoSaveOptions' 'CacheFolder' 'CallbackTracing' 'CharacterEncoding' . . . 'CurrentSystem'
グローバル パラメーターの値を取得します
GlobalParameterValue = get_param(0,'CurrentSystem')
GlobalParameterValue = vdp
モデル パラメーターの名前と値の取得
vdp
モデルのモデル パラメーターのリストを取得します。
load_system('vdp') ModelParameterNames = get_param('vdp','ObjectParameters')
ModelParameterNames = Name: [1x1 struct] Tag: [1x1 struct] Description: [1x1 struct] Type: [1x1 struct] Parent: [1x1 struct] Handle: [1x1 struct] . . . Version: [1x1 struct]
vdp
モデルの ModelVersion
モデル パラメーターの現在の値を取得します。
ModelParameterValue = get_param('vdp','ModelVersion')
ModelParameterValue = 1.6
すべてのブロックとパラメーター値を取得
vdp
モデルのブロックのパスと名前のリストを取得します。
load_system('vdp') BlockPaths = find_system('vdp','Type','Block')
BlockPaths = 14×1 cell array {'vdp/Constant' } {'vdp/More Info' } {'vdp/More Info/Model Info'} {'vdp/Mu' } {'vdp/Mux' } {'vdp/Product' } {'vdp/Scope' } {'vdp/Square' } {'vdp/Sum' } {'vdp/Sum1' } {'vdp/x1' } {'vdp/x2' } {'vdp/Out1' } {'vdp/Out2' }
Mu
ブロックのブロック ダイアログ パラメーターのリストを取得します。
BlockDialogParameters = get_param('vdp/Mu','DialogParameters')
BlockDialogParameters = struct with fields: Gain: [1×1 struct] Multiplication: [1×1 struct] ParamMin: [1×1 struct] ParamMax: [1×1 struct] ParamDataTypeStr: [1×1 struct] OutMin: [1×1 struct] OutMax: [1×1 struct] OutDataTypeStr: [1×1 struct] LockScale: [1×1 struct] RndMeth: [1×1 struct] SaturateOnIntegerOverflow: [1×1 struct] SampleTime: [1×1 struct]
Multiplication
ブロック パラメーターの値を取得します。
BlockParameterValue = get_param('vdp/Mu','Multiplication')
BlockParameterValue = 'Element-wise(K.*u)'
ブロック ハンドルを使用したブロック パラメーター値の取得
同じブロックに対する get_param
を複数回呼び出す場合、ブロック ハンドルを使用する方が、ブロックの絶対パスを文字ベクトルとして、たとえば 'vdp/Mu'
のように指定するよりも効率的です。
ブロック ハンドルはそれ以降の get_param
または set_param
の呼び出しで使用できます。ハンドルを調べると、double が含まれていることがわかります。通常 MATLAB® に表示されるよりも多くの桁を指定しなければならないため、ハンドルの数値 (5.007
など) を単独で使用しないでください。代わりにハンドルを変数に代入し、その変数名を使用してブロックを指定します。
必要に応じて getSimulinkBlockHandle
を使用して vdp
モデルを読み込み (true
を指定することにより)、Mu
ブロックのハンドルを取得します。
mublockhandle = getSimulinkBlockHandle('vdp/Mu',true);
get_param
を指定してブロック ハンドルを使用し、Expr
ブロック パラメーターの値を取得します。
BlockParameterValue = get_param(mublockhandle,'Multiplication')
BlockParameterValue = 'Element-wise(K.*u)'
モデルにおけるすべてのブロックのブロックタイプを表示する
vdp
モデルのブロックのパスと名前のリストを取得します。
load_system('vdp') BlockPaths = find_system('vdp','Type','Block')
BlockPaths = 14×1 cell array {'vdp/Constant' } {'vdp/More Info' } {'vdp/More Info/Model Info'} {'vdp/Mu' } {'vdp/Mux' } {'vdp/Product' } {'vdp/Scope' } {'vdp/Square' } {'vdp/Sum' } {'vdp/Sum1' } {'vdp/x1' } {'vdp/x2' } {'vdp/Out1' } {'vdp/Out2' }
vdp
モデルの各ブロックの BlockType
パラメーターの値を取得します。
BlockTypes = get_param(BlockPaths,'BlockType')
BlockTypes = 14×1 cell array {'Constant' } {'SubSystem' } {'SubSystem' } {'Gain' } {'Mux' } {'Product' } {'Scope' } {'Math' } {'Sum' } {'Sum' } {'Integrator'} {'Integrator'} {'Outport' } {'Outport' }
マスク パラメーター、Simulink オブジェクト、ブロック線図、注釈に対するオプションのリストの取得
キーワード options
をもつ get_param
を使用して、パラメーター、Simulink オブジェクト、ブロック線図、注釈に対するオプションのリストを取得できます。
マスク パラメーターに対するオプションのリストの取得
Gain
ブロックがマスクされ、popup
パラメーターと combo box
パラメーターをもつ例について考えます。
次のコードを使用してオプションのリストを取得します。
get_param('vdp/Mu', 'options@Multiplication')
ans = 1×4 cell array {'Element-wise(K.*u)'} {'Matrix(K*u)'} {'Matrix(u*K)'} {'Matrix(K*u) (u vec…'}
任意の Simulink オブジェクト、ブロック線図、注釈でのオプションの取得
Subsystem
ブロックを使用する例について考えます。ブロックで任意のオブジェクトのオプションを取得できます。
get_param(gcb,'options@showportlabels')
ans = 1×4 cell array {'none'} {'FromPortIcon'} {'FromPortBlockName'} {'SignalName'}
マスク パラメーターの評価値の取得
キーワード値をもつ get_param
コマンドを使用して、マスク ブロック パラメーターの評価値にアクセスできます。
Gain
ブロックがマスクされ、エディット パラメーターをもつ例について考えます。
get_param(gcb,'value@edit')
ans = 4
メモ
評価値を取得するオプションはマスク パラメーターに制限される