このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
slreportgen.finder.ModelVariableFinder クラス
パッケージ: slreportgen.finder
スーパークラス: mlreportgen.finder.Finder
作成
説明
は、指定された finder
= slreportgen.finder.ModelVariableFinder(container
)container
(Simulink モデルやサブシステムなど) で使用されている変数を検索するファインダーを作成します。Container プロパティを参照してください。ファインダーのプロパティを設定することで、検索を制約できます。ファインダーのメソッドを使用して検索を実行します。
メモ
このファインダーには、検索結果を取得する 2 つの方法が用意されています。
検索結果を配列として返すには、
find
メソッドを使用します。結果をレポートに直接追加するか、for
ループで結果を処理します。一度に 1 つずつ結果を反復処理するには、
while
ループでhasNext
メソッドとnext
メソッドを使用します。
これらのオプションに、パフォーマンス上の差はありません。
は、名前と値のペアを使用してプロパティを設定します。複数の名前と値のペアの引数を任意の順序で指定できます。finder
= slreportgen.finder.ModelVariableFinder(Name=Value
)
プロパティ
Container
— 検索するモデルまたはサブシステム
string スカラー | 文字ベクトル | ハンドル
検索するモデルまたはサブシステム。モデルまたはサブシステムへのパスを含む string スカラーまたは文字ベクトルとして、またはモデルまたはサブシステムのハンドルとして指定します。
Regexp
— 正規表現のマッチング
false
(既定値) | true
正規表現のマッチング。false
または true
として指定します。Regexp
が false
の場合、正規表現のマッチングは有効になりません。Regexp
が true
の場合、正規表現のマッチングは Name
、SourceType
、および Users
の各プロパティ値に対して有効になります。たとえば、次のコードは vehicle
で始まる変数を検索します。
finder = slreportgen.finder.ModelVariableFinder('slrgex_sf_car'); finder.Regexp = true; finder.Name = "^vehicle";
メモ
"off"
と "on"
を使用して Regexp
プロパティを設定することもできます。
正規表現を参照してください。
SearchMethod
— コンパイルのステータス
"compiled"
(既定値) | "cached"
コンパイルのステータス。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
"compiled" | 検索前にモデルをコンパイルすることで、最新の結果を取得します。(既定) |
"cached" | 前回のコンパイル中にキャッシュされたデータを使用することで、結果をより迅速に取得します。 |
SearchReferencedModels
— 参照モデルを検索するかどうか
true
(既定値) | false
参照モデル内で変数を検索するかどうか。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
true | 参照モデル内で変数を検索します。(既定) |
false | 参照モデル内で変数を検索しません。 |
メモ
"off"
と "on"
を使用して SearchRederencedModels
プロパティを設定することもできます。
Name
— 検索する変数の名前
[]
(既定値) | 文字ベクトル | string スカラー
検索する変数の名前。文字ベクトルまたは string スカラーとして指定します。Regexp
プロパティが "on"
に設定されている場合、Name
の値を正規表現にできます。Name
プロパティが空の場合、ファインダーは変数名に基づいて検索しません。
例: "vehicledata"
例: "^vehicle"
SourceType
— 変数定義のソース
[]
(既定値) | "base workspace"
| "model workspace"
| "mask workspace"
| "data dictionary"
変数定義のソース。次のいずれかの値として指定します。
"base workspace"
"model workspace"
"mask workspace"
"data dictionary"
SourceType
を設定する場合、ファインダーは指定されたソースからの変数のみを返します。Regexp
プロパティが "on"
に設定されている場合、SourceType
の値を正規表現にできます。SourceType
プロパティが空の場合、ファインダーは検索結果をソースでフィルター処理しません。
例: finder.SourceType = "model workspace"
は、モデル ワークスペースに定義されているすべての変数を返します。
例: Regexp
プロパティが "On"
に設定されている場合、finder.SourceType = "(base|mask) workspace"
は、ベース ワークスペースまたはマスク ワークスペースに定義されているすべての変数を返します。
例: Regexp
プロパティが "On"
に設定されている場合、finder.SourceType = "\w* workspace"
は、ベース ワークスペース、マスク ワークスペース、またはモデル ワークスペースに定義されているすべての変数を返します。
Users
— 変数を検索するブロックの名前
[]
(既定値) | 文字ベクトル | string スカラー | 文字ベクトルの配列 | string 配列
変数を検索するブロックの名前。1 つのブロックを文字ベクトルまたは string スカラーとして指定します。複数のブロックを文字ベクトルの配列または string 配列として指定します。ファインダーは、指定された 1 つ以上のブロックで使用されている変数を返します。Users
プロパティを設定しない場合、ファインダーはモデル全体またはサブシステム全体を検索します。Regexp
プロパティが true
に設定されている場合、Users
プロパティを正規表現に設定できます。
たとえば、MyModel
の Gain1
ブロックまたは Gain2
ブロックのいずれかで使用されているすべての変数を検索するには、Users
プロパティで両方のブロックを指定できます。
myFinder.Users = ["myModel/Gain1", "myModel/Gain2"];
または、両方のブロック名に一致する正規表現を使用することもできます。
myFinder.Regexp = "on"; myFinder.Users = "Gain(1|2)";
LookUnderMasks
— マスク サブシステムを検索するかどうか
true
(既定値) | false
マスク サブシステム内で変数を検索するかどうか。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
true | マスク サブシステム内で変数を検索します。(既定) |
false | マスク サブシステム内で変数を検索しません。 |
メモ
"all"
と "none"
を使用して LookUnderMasks
プロパティを設定することもできます。
FollowLibraryLinks
— ライブラリ リンクをたどるかどうか
true
(既定値) | false
変数の検索時にライブラリ リンクをたどるかどうか。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
true | ライブラリ ブロックまでリンクをたどります。ライブラリ リンクがサブシステムとして扱われます。(既定) |
false | ライブラリ ブロックまでリンクをたどりません。ライブラリ リンクがブロックとして扱われます。 |
メモ
"on"
と "off"
を使用して FollowLibraryLinks
プロパティを設定することもできます。
IncludeInactiveVariants
— 非アクティブなバリアント システムの変数を含めるかどうか
false
(既定値) | true
非アクティブなバリアント システムの変数を含めるかどうか。次の表のいずれかの値として指定します。
値 | 説明 |
---|---|
false | 非アクティブなバリアント システムで使用されている変数を含めません。(既定) |
true | 非アクティブなバリアント システムで使用されている変数を含めます。非アクティブなバリアント内の変数は、それを含む Variant Subsystem または Variant Model ブロックの [バリアントのアクティベーションのタイミング] コンフィギュレーション パラメーターが |
メモ
"on"
と "off"
を使用して IncludeInactiveVariants
プロパティを設定することもできます。
Properties
— 検索する Simulink.VariableUsage
オブジェクトのプロパティ
{}
(既定値) | cell 配列
検索する Simulink.VariableUsage
オブジェクトのプロパティ。名前と値のペアの cell 配列として指定します。ファインダーは、関連付けられた Simulink.VariableUsage
オブジェクトが指定のプロパティ値をもつ変数のみを返します。
例: finder.Properties = {'SourceType', 'base workspace'}
メソッド
パブリック メソッド
find |
すべての結果をレポートに直接追加するか、 |
hasNext | ファインダーによって返される変数を |
next |
|
例
レポートへのモデル変数の追加
モデル内で変数を検索し、結果をレポートに直接追加します。ファインダーがマスク システム内の変数を含めるよう指定します。
% Create a Simulink Report rpt = slreportgen.report.Report("MyReport","pdf"); % Create a Chapter chapter = mlreportgen.report.Chapter(); chapter.Title = "Model Variable Finder Example"; % Load the model model_name = "slrgex_sf_car"; load_system(model_name) % Create a variable finder and set its properties finder = slreportgen.finder.ModelVariableFinder(model_name); finder.LookUnderMasks = "all"; % Find variables used by the model results = find(finder); % Add the results to the chapter add(chapter,results); % Add chapter to the report add(rpt,chapter); % Close the report and open the viewer close(rpt); rptview(rpt);
レポートにおけるモデル変数の書式設定のカスタマイズ
検索結果を反復処理し、結果ごとにモデル変数レポーターのプロパティを設定することで、レポートにおけるモデル変数の書式設定をカスタマイズします。
% Create a Report rpt = slreportgen.report.Report("MyReport","pdf"); % Create a Chapter chapter = mlreportgen.report.Chapter(); chapter.Title = "Model Variable Reporter Example"; % Load the model model_name = "slrgex_sf_car"; load_system(model_name); % Find the variables in the model finder = slreportgen.finder.ModelVariableFinder(model_name); while hasNext(finder) result = next(finder); % Get the ModelVariable reporter for the result % Customize the formatting of numbers reporter = getReporter(result); reporter.NumericFormat = "%.4f"; % Add the reporter to the chapter add(chapter,reporter); end % Add chapter to the report add(rpt,chapter); % Close the report and open the viewer close(rpt); rptview(rpt);
バージョン履歴
R2019b で導入R2022a: 特定のプロパティの新しい入力
R2022a 以降、次のプロパティはブール値を入力として受け入れます。
Regexp
SearchReferencedModels
LookUnderMasks
FollowLibraryLinks
IncludeInactiveVariants
これらのプロパティに従来の入力を使用することもできます。
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)