slreportgen.finder.ModelVariableFinder クラス
名前空間: slreportgen.finder
スーパークラス: mlreportgen.finder.Finder
Simulink モデルで使用されている変数を検索する
説明
作成
説明
は、指定された finder = slreportgen.finder.ModelVariableFinder(container)container (Simulink モデルやサブシステムなど) で使用されている変数を検索するファインダーを作成します。Container プロパティを参照してください。ファインダーのプロパティを設定することで、検索を制約できます。ファインダーのメソッドを使用して検索を実行します。
メモ
このファインダーには、検索結果の取得方法として次のオプションが用意されています。
検索結果を配列として返すには、
findメソッドを使用します。結果をレポートに直接追加するか、forループで結果を処理します。一度に 1 つずつ結果を反復処理するには、
whileループでhasNextメソッドとnextメソッドを使用します。
これらのオプションに、パフォーマンス上の差はありません。
は、名前と値の引数を使用してプロパティを設定します。複数の名前と値の引数を任意の順序で指定できます。finder = slreportgen.finder.ModelVariableFinder(Name=Value)
プロパティ
検索するモデルまたはサブシステム。モデルまたはサブシステムへのパスを含む string スカラーまたは文字ベクトルとして、またはモデルまたはサブシステムのハンドルとして指定します。
属性:
GetAccess | public |
SetAccess | public |
正規表現のマッチングを行うかどうか。"on" または "off" として指定するか、数値または logical の 1 (true) または 0 (false) として指定します。"on" の値は true と等価であり、"off" の値は false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は、matlab.lang.OnOffSwitchState型の on/off の logical 値として保存されます。
"on" —
Name、SourceType、およびUsersの各プロパティ値に対して正規表現のマッチングを有効にします。"off" — 正規表現のマッチングを無効にします。
正規表現の詳細については、正規表現を参照してください。
属性:
GetAccess | public |
SetAccess | public |
モデルのコンパイル済みステータス。次のいずれかの値として指定します。
| 値 | 説明 |
|---|---|
"compiled" | 検索前にモデルをコンパイルすることで、最新の結果を取得します。 |
"cached" | 前回のコンパイル中にキャッシュされたデータを使用することで、結果をより迅速に取得します。 |
参照モデル内で変数を検索するかどうか。次のいずれかの値として指定します。
| 値 | 説明 |
|---|---|
true | 参照モデル内で変数を検索します。(既定) |
false | 参照モデル内で変数を検索しません。 |
メモ
"off" と "on" を使用して SearchRederencedModels プロパティを設定することもできます。
属性:
GetAccess | public |
SetAccess | public |
データ型: logical
検索する変数の名前。文字ベクトルまたは string スカラーとして指定します。Regexp プロパティが "on" に設定されている場合、Name の値を正規表現にできます。Name プロパティが空の場合、ファインダーは変数名に基づいて検索しません。
例: "vehicledata"
例: "^vehicle"
属性:
GetAccess | public |
SetAccess | public |
データ型: char | string
変数定義のソース。次のいずれかの値として指定します。
"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" は、ベース ワークスペース、マスク ワークスペース、またはモデル ワークスペースに定義されているすべての変数を返します。
属性:
GetAccess | public |
SetAccess | public |
データ型: char | 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)";
属性:
GetAccess | public |
SetAccess | public |
データ型: char | string
マスク サブシステム内を検索するかどうか。次のいずれかの値として指定します。
| 値 | 説明 |
|---|---|
true | マスク サブシステム内で変数を検索します。(既定) |
false | マスク サブシステム内で変数を検索しません。 |
データ型: logical
ライブラリ リンクをたどるかどうか。次のいずれかの値として指定します。
| 値 | 説明 |
|---|---|
true | ライブラリ ブロックまでリンクをたどります。ライブラリ リンクがサブシステムとして扱われます。(既定) |
false | ライブラリ ブロックまでリンクをたどりません。ライブラリ リンクがブロックとして扱われます。 |
属性:
GetAccess | public |
SetAccess | public |
データ型: logical
非アクティブなバリアント システムの変数を含めるかどうか。次のいずれかの値として指定します。
| 値 | 説明 |
|---|---|
false | 非アクティブなバリアント システムで使用されている変数を含めません。(既定) |
true | 非アクティブなバリアント システムで使用されている変数を含めます。非アクティブなバリアント内の変数は、それを含む Variant Subsystem または Variant Model ブロックの [バリアントのアクティベーションのタイミング] コンフィギュレーション パラメーターが |
メモ
"on" と "off" を使用して IncludeInactiveVariants プロパティを設定することもできます。
属性:
GetAccess | public |
SetAccess | public |
データ型: logical
検索対象とする Simulink.VariableUsage オブジェクトのプロパティ。名前と値の引数の cell 配列として指定します。ファインダーは、関連付けられた Simulink.VariableUsage オブジェクトが指定のプロパティ値をもつ変数のみを返します。
例: finder.Properties = {"SourceType", "base workspace"}
属性:
GetAccess | public |
SetAccess | public |
データ型: cell
メソッド
find |
すべての結果をレポートに直接追加するか、 |
hasNext | ファインダーによって返される変数を |
next |
|
例
モデル内で変数を検索し、結果をレポートに直接追加します。
Simulink レポートを作成します。
rpt = slreportgen.report.Report("MyReport","pdf");
章を作成します。
chapter = mlreportgen.report.Chapter();
chapter.Title = "Model Variable Finder Example";モデルを読み込みます。
model_name = "sf_car";
load_system(model_name)変数ファインダーを作成します。
finder = slreportgen.finder.ModelVariableFinder(model_name);
ファインダーがマスク システム内の変数を含めるよう指定します。
finder.LookUnderMasks = "all";モデルで使用されている変数を検索します。
results = find(finder);
結果を章に追加します。
add(chapter,results);
章をレポートに追加します。
add(rpt,chapter);
レポートを閉じ、ビューアーを開きます。
close(rpt); rptview(rpt);
モデル内で vehicle で始まる変数を検索し、結果をレポートに追加します。
モデルを読み込みます。
model_name = "sf_car";
load_system(model_name)変数ファインダーを作成します。
finder = slreportgen.finder.ModelVariableFinder(model_name);
正規表現のマッチングを有効にします。
finder.Regexp = true;
正規表現 ^vehicle を使用して、検索を vehicle で始まる結果に制約します。
finder.Name = "^vehicle";モデルで使用されている一致する変数を検索します。
results = find(finder)
results =
ModelVariableResult with properties:
Object: [1×1 Simulink.VariableUsage]
Name: "vehicledata"
Source: "sf_car"
SourceType: "model workspace"
Users: "sf_car/Vehicle"
ModelBlockPath: []
Tag: []
検索結果を反復処理し、結果ごとにモデル変数レポーターのプロパティを設定することで、レポートにおけるモデル変数の書式設定をカスタマイズします。
レポートを作成します。
rpt = slreportgen.report.Report("MyReport","pdf");
章を作成します。
chapter = mlreportgen.report.Chapter();
chapter.Title = "Model Variable Reporter Example";モデルを読み込みます。
model_name = "sf_car";
load_system(model_name);モデル内の変数を検索します。
finder = slreportgen.finder.ModelVariableFinder(model_name);
結果ごとに、その結果の ModelVariable レポートを取得し、数値の書式設定をカスタマイズして、レポーターを章に追加します。
while hasNext(finder) result = next(finder); reporter = getReporter(result); reporter.NumericFormat = "%.4f"; add(chapter,reporter); end
章をレポートに追加します。
add(rpt,chapter);
レポートを閉じ、ビューアーを開きます。
close(rpt); rptview(rpt);
バージョン履歴
R2019b で導入R2022a 以降、次のプロパティはブール値を入力として受け入れます。
RegexpSearchReferencedModelsLookUnderMasksFollowLibraryLinksIncludeInactiveVariants
これらのプロパティに従来の入力を使用することもできます。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- 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)