Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

reduceModel

クラス: Simulink.VariantManager
パッケージ: Simulink

指定されたバリアント コンフィギュレーションの削減されたモデルを生成する

構文

Simulink.VariantManager.reduceModel(Model)
Simulink.VariantManager.reduceModel(Model, Name, Value)

説明

Simulink.VariantManager.reduceModel(Model) は、指定されたコンフィギュレーションの削減されたモデルを作成します。参照モデルとライブラリ ブロックも削減されます。既定の設定では、削減されたモデルの名前と、削減された子参照モデル名は、元のモデル名に接尾辞 _r が付いた名前になります。

Simulink.VariantManager.reduceModel(Model, Name, Value) では、削減パラメーターを引数 Name と Value の形式で指定します。

入力引数

すべて展開する

必須フィールド。削減するモデル。文字ベクトルとして指定します。

名前と値のペアの引数

オプションの Name,Value の引数ペアをコンマ区切りで指定します。Name は引数名で、Value は対応する値です。Name は一重引用符 (' ') で囲まなければならず、大文字と小文字が区別されませんが、値の文字列は大文字小文字が区別されます。Name1,Value1,...,NameN,ValueN のように、複数の名前と値のペアの引数を任意の順序で指定できます。

バリアント コンフィギュレーションの名前を指定します。既定では、バリアント制御変数の現在の値が削減に使用されます。

削減に使用されるバリアント制御変数値を指定します。既定では、バリアント制御変数の現在の値が使用されます。

指定した値はバリアント制御変数名と対応する値をもつ cell 配列でなければなりません。

メモ

'VariableGroups' と 'NamedConfigurations' は互いに排他的です。

以下の例を考えてみます。

Simulink.VariantManager.reduceModel('iv_model', ...
                                          'VariableGroups',...
                                          {{'V',1,'W',1},{'V',2,'W',2}})

削減に使用される全範囲のバリアント制御変数値を指定します。これにより、指定されたバリアント制御変数のすべての有効な値について、モデルを削減することができます。バリアント制御変数の参照値をモデルのコンパイルが成功するように指定します。

以下の例を考えてみます。

Simulink.VariantManager.reduceModel('slexVariantReducer',...
                    'VariableGroups',{'V',1},...
                    'FullRangeVariables',{'W',1});

バリアント制御変数 'W' を全範囲のバリアント制御変数として指定できます。これにより、変数 'W' の有効なすべての値に対してモデルを削減できるようになります。この例では、全範囲のバリアント制御変数 W は参照値 1 を使用します。

削減されたモデルと関連のアーティファクトを保存するフォルダーを指定します。既定の設定では、削減されたモデルは元のモデル フォルダーの ./reducedModel サブフォルダーに生成されます。

値が true の場合、バリアント リデューサーは、削減されたモデルの適切なブロック端子に Signal Specification ブロックを追加して、元のモデルと削減されたモデル間でコンパイルされた信号属性を保持します。コンパイルされた信号属性には、信号のデータ型、信号の次元、コンパイルされたサンプル時間などがあります。

値が true の場合、バリアント リデューサーには、モデルの削減中に実行されるステップの詳細が表示されます。

削減されたモデルと関連のアーティファクトに追加する接尾辞を指定します。

値が true の場合、削減されたモデルとマスクおよびコールバックに必要な可能性のある任意の変更について、バリアント リデューサーは html ファイルを生成します。

メモ

概要を生成するには、Simulink Report Generator ライセンスが必要です。

% Reduce model based on its variant control variable values in the base workspace.
Simulink.VariantManager.reduceModel('sldemo_variant_subsystems');

% Reduce the model associated with a variant configuration data object and configurations to be retained in the reduced model.
Simulink.VariantManager.reduceModel('slexVariantManagement', ...
                                          'NamedConfigurations', {'LinInterStd',
                                          'NonLinExterHighFid'})

% Reduce the model by specifying variant control variable values. Here, two groups are specified corresponding to 
% {V==1, W==1}, and {V==2, W==2} respectively.
Simulink.VariantManager.reduceModel('iv_model', ...
                                          'VariableGroups',...
                                          {{'V',1,'W',1},{'V',2,'W',2}});

% Reduce the model by specifying variant control variable values where 'W' is a full-range variant control variable and 'V' is 1. Here, Variant Reducer 
% automatically maps the specification to correspond to the following four explicit groups: {V==1, W==1}, {V==1, W==2}, {V==1, W==3} and {V==1, W==0} respectively.
Simulink.VariantManager.reduceModel('slexVariantReducer',...
                                          'VariableGroups',...
                                          {'V',1},...
                                          'FullRangeVariables',{'W',1}); 
R2016a で導入