このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
Simulink.VariantManager.reduceModel
クラス: Simulink.VariantManager
パッケージ: Simulink
指定されたバリアント コンフィギュレーションの削減されたモデルを生成する
説明
メモ
このメソッドには Variant Manager for Simulink® が必要です。
Simulink.VariantManager.reduceModel(
は、入力モデル model
)model
から削減されたモデルを生成します。
既定では、入力モデルのグローバル ワークスペース (ベース ワークスペースまたはデータ ディクショナリ) におけるバリアント制御変数の現在の値が削減に使用されます。削減プロセスでは、それらの値に対応するバリアント コンフィギュレーションが保持され、非アクティブなモデル コンポーネントが削除されます。削減されたアーティファクトは、入力モデルのフォルダー内の ./reducedModel
という名前のフォルダーに生成されます。既定では、削減されたモデルと削減された参照モデルの名前は、元のモデル名に接尾辞 _r
が付いた名前になります。
Simulink.VariantManager.reduceModel(
では、1 つ以上の model
,Name,Value
)Name,Value
引数を使用して追加の削減オプションを指定できます。
入力引数
model
— 削減するモデルの名前
string | 文字ベクトル
削減するモデルの名前。string または文字ベクトルとして指定します。
名前と値の引数
オプションの Name,Value
の引数を指定します。Name
は引数名、Value
は対応する値です。Name1,Value1,...,NameN,ValueN
のように、複数の名前と値の引数を任意の順序で指定できます。
NamedConfigurations
— 保持するバリアント コンフィギュレーションの名前
string | 文字ベクトル | string の cell 配列 | 文字ベクトルの cell 配列
削減されたモデルで保持するバリアント コンフィギュレーションの名前。string、文字ベクトル、string の cell 配列、または文字ベクトルの cell 配列として指定します。これらの名前付きバリアント コンフィギュレーションは、モデルに関連付けられたバリアント コンフィギュレーション データ オブジェクト (Simulink.VariantConfigurationData
型) に存在していなければなりません。
例: 'NamedConfigurations', 'C1'
例: 'NamedConfigurations', {'C2'}
データ型: char
| string
| cell
VariableGroups
— バリアント制御変数とその値のグループ
cell 配列
削減に使用する必要があるバリアント制御変数とその値。変数の名前と値を含む cell 配列として指定します。
メモ
VariableGroups
と NamedConfigurations
の両方を指定することはサポートされていません。
名前付き変数グループはモデルに対して複数作成できます。変数グループの名前を指定するには、Name
と VariantControls
のフィールドをもつ struct
配列を指定します。Name
は変数グループの名前を示し、VariantControls
はバリアント制御変数とそれに対応する値を含む cell 配列でなければなりません。次に例を示します。
Simulink.VariantManager.reduceModel('slexVariantReducer',... 'VariableGroups', struct('Name', 'Group1', 'VariantControls', {{'V',1,'W',[1 2]}}));
例: 'VariableGroups', {{'V',1,'W',1},{'V',2,'W',2}}
データ型: cell
FullRangeVariables
— 全範囲について削減を検討する必要がある変数
cell 配列
全範囲について削減を検討する必要がある変数。バリアント制御変数の名前とそれに対応する値を含む cell 配列として指定します。このオプションにより、指定したバリアント制御変数のすべての有効な値について、モデルを削減することができます。モデルが正常にコンパイルされるように、このバリアント制御変数の参照値も指定する必要があります。
たとえば、全範囲のバリアント制御変数として指定されたバリアント制御変数 W
について考えます。W
の参照値には 1
を使用します。削減プロセスで V=1
と W
のすべての有効な値が検討されます。全範囲の解析を実行するために、バリアント リデューサーで値 {'V',1,'W',1}
を使用してモデルが 1 回コンパイルされます。
Simulink.VariantManager.reduceModel('slexVariantReducer',... 'VariableGroups',{'V',1},... 'FullRangeVariables',{'W',1});
データ型: cell
CompileMode
— コンパイル モード
'sim'
(既定値) | 'codegen'
コンパイル モード。'sim'
または 'codegen'
として指定します。これらのオプションは、モデルを削減の一環としてシミュレーション用またはコード生成用のモードでコンパイルするかどうかをそれぞれ示します。モデルに [バリアント制御モード] パラメーターが sim codegen switching
に設定されたバリアント ブロックが含まれている場合は、値を codegen
として指定し、削減されたモデルでブロックのコード生成の分岐を保持できます。既定値が sim
の場合、バリアント リデューサーは最上位モデルでシミュレーションの分岐をコンパイルして保持します。
ExcludeFiles
— 削減時に除外するファイルのリスト
文字ベクトルの cell 配列
削減時に除外する依存ファイルのリスト。これには、MATLAB® ルート フォルダーの外部にある Simulink データ ディクショナリ ファイル (*.sldd
) や MAT ファイル (*.mat
) が含まれます。文字ベクトルの cell 配列として指定します。
たとえば {'*.sldd'}
のように、ワイルドカード文字も指定できます。
例: {'topData.sldd'}
データ型: cell
OutputFolder
— 削減されたモデルと関連アーティファクトを配置するフォルダー
string | 文字ベクトル
削減されたモデルと関連アーティファクトを配置するフォルダー。文字ベクトルまたは string として指定します。既定では、削減されたモデルは元のモデルのフォルダー内の ./reducedModel
という名前のフォルダーに生成されます。
PreserveSignalAttributes
— 削減されたモデルで信号属性を保持するオプション
true
または 1
(既定値) | false
または 0
削減されたモデルで信号属性を保持するオプション。数値または logical 1
(true
) または 0
(false
) として指定します。値が true
の場合、バリアント リデューサーで削減されたモデルの適切なブロック端子に Signal Specification ブロックが追加され、元のモデルのコンパイルされた信号属性が保持されます。コンパイルされた信号属性には、信号のデータ型、信号の次元、コンパイルされたサンプル時間が含まれます。
Verbose
— 詳細な削減ステップを表示するオプション
false または 0
(既定値) | true または 1
詳細な削減ステップを表示するオプション。数値または logical 1
(true
) または 0
(false
) として指定します。値が true
の場合、モデルの削減時に実行されるステップの詳細がバリアント リデューサーに表示されます。
ModelSuffix
— 削減されたモデルの名前に付加する接尾辞
'_r'
(既定値) | 文字ベクトル
削減されたモデルと関連アーティファクトの名前に付加する接尾辞。文字ベクトルとして指定します。
GenerateSummary
— 概要 HTML ファイルを生成するオプション
false または 0
(既定値) | true または 1
概要 HTML ファイルを生成するオプション。数値または logical 1
(true
) または 0
(false
) として指定します。値が true
の場合、削減されたモデルの詳細とマスクやコールバックのために必要になる可能性がある変更についての詳細が記載された HTML ファイルがバリアント リデューサーで生成されます。
メモ
概要を生成するには、Simulink Report Generator™ のライセンスが必要です。
制限
削減時にモデル コンポーネントに対して行われる変更や削減プロセスの制限の詳細については、Considerations and Limitations for Variant Reductionを参照してください。
例
さまざまな削減オプションを使用したバリアント モデルの削減
モデル例を開きます。
addpath(fullfile(matlabroot,'examples','simulink_variants','main')); open_system('slexVariantReducer'); open_system('sldemo_variant_subsystems');
ベース ワークスペースのバリアント制御変数の値に基づいて sldemo_variant_subsystems
モデルを削減します。
Simulink.VariantManager.reduceModel('sldemo_variant_subsystems');
ベース ワークスペースのバリアント制御変数の値に基づいてモデルを削減し、削減されたモデルを指定した出力ディレクトリに配置します。
Simulink.VariantManager.reduceModel('sldemo_variant_subsystems', ... 'OutputFolder', 'outdir');
モデルに関連付けられたバリアント コンフィギュレーション データ オブジェクトにある名前付きバリアント コンフィギュレーションを指定してモデルを削減します。
Simulink.VariantManager.reduceModel('slexVariantReducer',... 'NamedConfigurations',{'config1', 'config2'});
バリアント制御変数とその値を指定してモデルを削減します。
次の構文では、{V==1,W==1}
と {V==2,W==2}
に対応する 2 つのコンフィギュレーションを削減に指定しています。
Simulink.VariantManager.reduceModel('slexVariantReducer',... 'VariableGroups', {{'V',1,'W',1},{'V',2,'W',2}});
バリアント制御変数の構造体の形式でコンフィギュレーションを指定してモデルを削減します。
次の構文では、{V==1,W==1}
、{V==1,W==2}
、{V==2,W==1}
、および {V==2, W==2}
に対応する 4 つのコンフィギュレーションを削減に指定しています。
Simulink.VariantManager.reduceModel('slexVariantReducer',... 'VariableGroups',{'V',[1 2],'W',[1 2]});
変数グループの名前を指定してモデルを削減します。
次の構文では、Group1
と Group2
の 2 つの名前付き変数グループを指定しています。
削減されたモデルには、名前付き変数グループと同じ名前に接尾辞が付いた名前の名前付きコンフィギュレーションが含まれます。この例では、{V==1,W==1}
、{V==1,W==2}
、および {V==2,W==1}
にそれぞれ対応する Group1_1
、Group1_2
、および Group2_1
という名前の 3 つのコンフィギュレーションが含まれます。
Simulink.VariantManager.reduceModel('slexVariantReducer',... 'VariableGroups',[struct('Name', 'Group1', 'VariantControls', {{'V',1,'W',[1 2]}}),... struct('Name', 'Group2', 'VariantControls', {{'V',2,'W', 2}})]);
バリアント制御変数を全範囲の変数として指定してモデルを削減します。
次の構文では、W
を参照値 1
の全範囲のバリアント制御変数として指定しています。削減プロセスで {V==1,W==1}
、{V==1,W==2}
、{V==1,W==3}
、および {V==1,W==0}
の 4 つのコンフィギュレーションが検討されます。
Simulink.VariantManager.reduceModel('slexVariantReducer',... 'VariableGroups',{'V',1},... 'FullRangeVariables',{'W',1});
コンパイル モードをコード生成として指定してモデルを削減します。
Simulink.VariantManager.reduceModel... ('slexVariantReducer','NamedConfigurations',{'config1'},... 'CompileMode','codegen','OutputFolder','L:\Models');
モデルを削減し、削減後にバリアント リデューサーの概要レポートを生成します。
次のコマンドでは、概要を生成してパス L:\Models\variantReducerRpt
に保存しています。
Simulink.VariantManager.reduceModel... ('slexVariantReducer','NamedConfigurations', {'config1'},... 'GenerateSummary',true,'OutputFolder','L:\Models');
バージョン履歴
R2016a で導入R2022b: 削減時の依存ファイルの除外
ExcludeFiles
引数を使用して、削減時に MATLAB ルート フォルダーの外にある Simulink データ ディクショナリ ファイル (*.sldd
) や MAT ファイル (*.mat
) を除外できます。
R2022b: Simulink Design Verifier のライセンスの要件を削除
reduceModel
メソッドに Simulink Design Verifier™ のライセンスは不要になりました。この機能は Variant Manager for Simulink サポート パッケージの一部として利用できます。
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)