このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
slreportgen.report.ModelVariable クラス
名前空間: slreportgen.report
スーパークラス: slreportgen.report.Reporter
モデル変数レポーター
説明
Simulink® モデル変数のレポーター。
メモ
レポートで slreportgen.report.ModelVariable
レポーターを使用するには、slreportgen.report.Report
クラスまたはサブクラスを使用してレポートを作成する必要があります。
slreportgen.report.ModelVariable
クラスは handle
クラスです。
作成
説明
slreportgen.report.ModelVariable
オブジェクトは、明示的に作成しません。検出されたモデル変数の slreportgen.report.ModelVariable
オブジェクトを取得するには次のようにします。
slreportgen.finder.ModelVariableFinder
オブジェクトのfind
メソッドまたはnext
メソッドを使用して、検出された変数のslreportgen.finder.ModelVariableResult
オブジェクトを取得します。slreportgen.finder.ModelVariableResult
オブジェクトのgetReporter
メソッドを呼び出して、slreportgen.report.ModelVariable
オブジェクトを取得します。
slreportgen.report.ModelVariable
オブジェクトのプロパティを設定することで、モデル変数のレポートをカスタマイズできます。
プロパティ
Variable
— Simulink.VariableUsage
オブジェクト
Simulink.VariableUsage
レポート対象の変数に対応する Simulink.VariableUsage
オブジェクト。このオブジェクトには、変数の名前、変数のソース、および変数を使用するブロックが格納されます。このプロパティは読み取り専用です。
ModelBlockPath
— 変数の値を設定する Model ブロックのパス
[]
| 文字ベクトル
変数値を設定する Model ブロックのパス。文字ベクトルとして指定します。
参照モデルがモデル引数を使用してブロック パラメーター値を設定するとします。モデルに参照モデルの複数のインスタンスがある場合、モデル変数ファインダーは、モデル引数に関連付けられている変数の複数のインスタンスを返します。ModelBlockPath
プロパティは、その値を設定する Model ブロックへのパスを提供することにより、変数のインスタンスを一意に特定します。変数が参照モデル内のモデル引数に関連付けられていない場合、ModelBockPath
は空です。参照モデルとインスタンス固有のパラメーターの詳細については、再利用可能な参照モデルのインスタンスのパラメーター化を参照してください。
ShowUsedBy
— この変数を使用するブロックを含めるかどうか
true
(既定値) | false
この変数を使用するブロックのリストを含めるかどうか。true
または false
として指定します。FormatPolicy
プロパティの値が "Inline Text"
の場合、ShowUsedBy
プロパティの値に関係なく、レポートにブロックのリストは含まれません。
[次で使用] のリストにあるブロックについてレポートされた内容がレポートに含まれている場合、ブロックのハイパーリンクをクリックするとその内容に移動します。モデル変数、ブロック線図、およびブロックについてのレポートの生成を参照してください。
ShowWorkspaceInfo
— ワークスペースを含めるかどうか
true
(既定値) | false
変数が解決されるワークスペースを含めるかどうか。true
または false
として指定します。FormatPolicy
プロパティの値が "Inline Text"
の場合、ShowWorkspaceInfo
プロパティの値に関係なく、レポートにワークスペースは含まれません。
ListFormatter
— リスト フォーマッタ
mlreportgen.dom.UnorderedList
(既定値) | mlreportgen.dom.OrderedList
変数を使用するブロックのリストの形式を設定するリスト フォーマッタ。mlreportgen.dom.UnorderedList
オブジェクトまたは mlreportgen.dom.OrderedList
オブジェクトとして指定します。このプロパティの既定値は、mlreportgen.dom.UnorderedList
のオブジェクトです。リストの形式をカスタマイズするには、リスト オブジェクトのプロパティを変更するか、そのリスト オブジェクトをリスト項目を含まないカスタマイズしたリスト オブジェクトに置き換えます。
FormatPolicy
— 変数値の形式
"Auto"
(既定値) | "Table"
| "Paragraph"
| "Inline Text"
変数値の形式。次のいずれかの string または文字ベクトルとして指定します。
"Auto"
— 変数値を値のデータ型に応じてテーブルまたは段落のいずれかの形式で示します。テーブルの形式になるデータ型には以下が含まれます。
cell 配列
logical 配列
数値配列
MATLAB® table
Simulink オブジェクト
Stateflow® オブジェクト
グラフィックス オブジェクト
MATLAB 構造体または構造体配列
MATLAB オブジェクトまたはオブジェクト配列
段落の形式になるデータ型には以下が含まれます。
cell ベクトル
logical スカラーまたはベクトル
数値スカラーまたはベクトル
文字または文字配列
string
MATLAB 構造体ベクトル
MATLAB オブジェクト ベクトル
"Table"
— 変数値をテーブルの形式で示します。既定では段落として表示される変数が、代わりにテーブル エントリの形式で示されます。階層構造のオブジェクトである MATLAB 構造体、MATLAB オブジェクト、Simulink オブジェクト、Stateflow オブジェクト、グラフィックス オブジェクトなどの変数は、それ自体がオブジェクトであるプロパティをもつことがあります。その場合、階層がフラット化され、プロパティ値がそのオブジェクトのプロパティのテーブルへのハイパーリンクとして表示されます。オブジェクト プロパティ テーブルにも元のテーブルに戻るハイパーリンクがあります。"Paragraph"
— 変数値を段落の形式で示します。既定ではテーブルの形式で示される変数がフラット化され、段落の形式で示されます。"Inline Text"
— 変数を周囲のテキストと共にインラインの形式で示します。
TableReporter
— テーブル レポーター
mlreportgen.report.Basetable
変数の値の形式を設定するために使用されるテーブル レポーター。mlreportgen.report.BaseTable
オブジェクトとして指定します。このプロパティの既定値は、TableStyleName
プロパティが ModelVariableTable
スタイルに設定された BaseTable
オブジェクトであり、これは ModelVariable
レポーターの既定のテンプレートに定義されています。
テーブルの外観をカスタマイズするには、既定のテーブル レポーターのプロパティを変更するか、そのテーブル レポーターをカスタマイズしたテーブル レポーターに置き換えます。既定またはカスタマイズしたテーブル レポーターの Title
プロパティに内容を追加すると、生成されたレポートでテーブルのタイトルの前にその内容が表示されます。
ParagraphFormatter
— 段落フォーマッタ
mlreportgen.dom.Paragraph
オブジェクト
モデル変数の値の形式を設定するための段落フォーマッタ。mlreportgen.dom.Paragraph
オブジェクトとして指定します。このプロパティの既定値は、TableStyleName
プロパティが ModelVariableParagraph
スタイルに設定された BaseTable
オブジェクトであり、これは ModelVariable
レポーターの既定のテンプレートに定義されています。
段落の外観をカスタマイズするには、mlreportgen.dom.Paragraph
オブジェクトのプロパティを変更するか、そのオブジェクトをカスタマイズした mlreportgen.dom.Paragraph
オブジェクトに置き換えます。既定または置き換える段落オブジェクトに内容を追加すると、生成されたレポートで変数の内容の前にその内容が表示されます。
TextFormatter
— テキスト フォーマッタ
mlreportgen.dom.Text
オブジェクト
周囲のテキストと共にインラインのテキストとして示す場合のモデル変数の名前と値の形式を設定するためのテキスト フォーマッタ。mlreportgen.dom.Text
オブジェクトとして指定します。テキストの外観をカスタマイズするには、既定の mlreportgen.dom.Text
オブジェクトのプロパティを変更するか、そのオブジェクトをカスタマイズした mlreportgen.dom.Text
オブジェクトに置き換えます。既定または置き換えるテキスト オブジェクトに内容を追加すると、生成されたレポートで変数の内容の前にその内容が表示されます。
MaxCols
— 表示するテーブル列の最大数
32 (既定値) | 正の整数
表示するテーブル列の最大数。正の整数として指定します。テーブルを使用した配列変数のレポートで、列の数が MaxCols
プロパティの値よりも多い場合、テーブルは縦方向にスライス化されます。スライス化により、テーブルが複数のテーブルに分割されます。
DepthLimit
— レポート対象とする入れ子レベルの最大数
10 (既定値) | 非負の整数
構造化されたオブジェクトまたは構造化されたオブジェクトの配列である変数でレポート対象とするレベルの最大数。非負の整数として指定します。DepthLimit
の値以下のレベルは、一連の連結されたテーブルにフラット化されます (FormatPolicy
プロパティを参照)。深さの制限を超えるレベルはレポートされません。DepthLimit
プロパティを 0 に設定すると、構造化されたオブジェクトが展開されません。
ObjectLimit
— レポート対象とする入れ子にされたオブジェクトの最大数
200 (既定値) | 正の整数
オブジェクト階層でレポート対象とするオブジェクトの最大数。正の整数として指定します。
IncludeTitle
— タイトルを含めるかどうか
true
(既定値) | false
タイトルを含めるかどうか。true
または false
として指定します。タイトルには変数の名前とオプションでデータ型が含まれます。IncludeTitle
が true
の場合、タイトルが含まれます。既定では、タイトルには変数の名前のみが含まれます。変数のデータ型を含めるには、ShowDataType
プロパティを true
に設定します。
Title
— レポート対象の変数のタイトル
[]
(既定値) | 文字ベクトル | string スカラー | mlreportgen.dom.Text
オブジェクト | mlreportgen.dom.InternalLink
オブジェクト | mlreportgen.dom.ExternalLink
オブジェクト
レポート対象の変数のタイトル。文字ベクトル、string スカラー、mlreportgen.dom.Text
オブジェクト、mlreportgen.dom.InternalLink
オブジェクト、または mlreportgen.dom.ExternalLink
オブジェクトとして指定します。
FormatPolicy
プロパティが "Inline Text"
に設定されている場合、Title
プロパティの設定に応じて次のようになります。
DOM オブジェクトの場合、DOM オブジェクトで指定された形式は無視されます。
mlreportgen.dom.InternalLink
またはmlreportgen.dom.ExternalLink
オブジェクトの場合、タイトルにリンク テキストが使用されますが、タイトルがリンクにはなりません。
どちらの場合も、タイトルの形式を設定するには、この ModelVariable
レポーターの TextFormatter
プロパティを使用します。
Title
プロパティを指定しない場合、変数名がタイトルになります。
ShowDataType
— 変数のデータ型をタイトルに表示するかどうか
false
(既定値) | true
変数のデータ型をタイトルに表示するかどうか。true
または false
として指定します。
ShowEmptyValues
— 空の値をもつプロパティを表示するかどうか
true
(既定値) | false
空の値をもつプロパティを表示するかどうか。true
または false
として指定します。ShowEmptyValues
プロパティは、MATLAB オブジェクト、Simulink オブジェクト、および Stateflow オブジェクトの変数にのみ適用されます。
ShowDefaultValues
— 既定値を使用するプロパティを表示するかどうか
true
(既定値) | 0
既定値を使用するプロパティを表示するかどうか。true
または false
として指定します。ShowDefaultValues
プロパティは、MATLAB オブジェクト、Simulink オブジェクト、および Stateflow オブジェクトの変数にのみ適用されます。
PropertyFilterFcn
— レポート対象のモデル変数のプロパティをフィルター処理するための関数または式
[]
(既定値) | 関数ハンドル | string スカラー | 文字ベクトル
レポート対象のモデル変数のプロパティをレポートからフィルター処理するための関数または式。関数は関数ハンドルとして指定します。式は string スカラーまたは文字ベクトルとして指定します。このプロパティは、オブジェクトを格納する変数にのみ適用されます。PropertyFilterFcn
を指定しない場合、モデル変数のすべてのプロパティがレポートに含まれます。
関数ハンドルを指定する場合、関連付けられた関数は次を行う必要があります。
次の引数を受け入れる。
variableName
— レポート対象の変数の名前variableObject
— レポート対象の変数propertyName
— レポート対象の変数のプロパティの名前
レポートから指定されたプロパティをフィルター処理するには
true
を返し、プロパティをレポートに含めるにはfalse
を返す。
たとえば、次のコードは、Simulink.Parameter
オブジェクトの Description
プロパティと Complexity
プロパティを表示しないようにします。
import slreportgen.finder.* import slreportgen.report.* rpt = slreportgen.report.Report('modelvarrpt','pdf'); model_name = load_system('sldemo_mdlref_datamngt'); finder = slreportgen.finder.ModelVariableFinder(model_name); while hasNext(finder) result = next(finder); varRptr = getReporter(result); varRptr.PropertyFilterFcn = @varPropertyFilter; add(rpt,varRptr); end close(rpt); close_system(model_name); rptview(rpt); function tf = varPropertyFilter(~, variableObject,propertyName) if isa(variableObject, 'Simulink.Parameter') tf = (propertyName == "Description") || ... (propertyName == "Complexity"); else tf = false; end end
string スカラーまたは文字ベクトルを指定する場合、式が含まれていなければなりません。その式は次のとおりです。
変数
variableName
、variableObject
、およびpropertyName
を使用できるレポートから指定されたプロパティをフィルター処理するには変数
isFiltered
をtrue
に設定し、レポートにプロパティを含めるにはfalse
に設定する必要がある
たとえば、次のコードは、Simulink.Parameter
オブジェクトの CoderInfo
プロパティをレポートからフィルター処理します。
import slreportgen.finder.* import slreportgen.report.* rpt = slreportgen.report.Report('modelvarrpt','pdf'); model_name = load_system('sldemo_mdlref_datamngt'); finder = slreportgen.finder.ModelVariableFinder(model_name); while hasNext(finder) result = next(finder); varRptr = getReporter(result); varRptr.PropertyFilterFcn = "isFiltered = " + ... "isa(variableObject, 'Simulink.Parameter') && " + ... "propertyName == 'CoderInfo';"; add(rpt,varRptr); end close(rpt); close_system(model_name); rptview(rpt);
NumericFormat
— 整数以外の数値の表示に使用する形式または精度
"%.2f"
(既定値) | string スカラー | 文字ベクトル | 正の整数
整数以外の数値の表示に使用する形式または精度。
形式は string スカラーまたは文字ベクトルとして指定します。sprintf
のリファレンス ページで引数 formatSpec
を参照してください。
精度は正の整数として指定します。num2str
のリファレンス ページで引数 precision
を参照してください。
例: "%.2f"
は、double 値を小数点以下 2 桁まで表示します。
例: 2
は、最大有効桁数 2 桁まで表示します。
TemplateSrc
— このレポーターのテンプレートのソース
[]
(既定値) | 文字ベクトル | string スカラー | レポーターまたはレポート | DOM ドキュメントまたはドキュメント パーツ
このレポーターのテンプレートのソース。次のいずれかのオプションとして指定します。
このレポーターのテンプレートを含むファイルのパスを指定する、文字ベクトルまたは string スカラー
このレポーターに使用されているテンプレートをもつか、このレポーター用のテンプレートを含むテンプレート ライブラリをもつ、レポーターまたはレポート
このレポーターに使用されているテンプレートをもつか、このレポーター用のテンプレートを含むテンプレート ライブラリをもつ、DOM ドキュメントまたはドキュメント パーツ
指定されるテンプレートは、このレポーターが追加されるレポートと同じタイプでなければなりません。たとえば、Microsoft® Word レポートの場合、TemplateSrc
は Word レポーター テンプレートでなければなりません。TemplateSrc
プロパティが空の場合、このレポーターはレポートの出力タイプで既定のレポーター テンプレートを使用します。
TemplateName
— このレポーターのテンプレートの名前
文字ベクトル | string スカラー
このレポーターのテンプレートの名前。文字ベクトルまたは string スカラーとして指定します。このレポーターのテンプレートは、このレポーターのテンプレート ソース (TemplateSrc
) のテンプレート ライブラリになければなりません。
LinkTarget
— このレポーターのハイパーリンク ターゲット
[]
(既定値) | 文字ベクトル | string スカラー | mlreportgen.dom.LinkTarget
オブジェクト
このレポーターのハイパーリンク ターゲット。リンク ターゲット ID を指定する文字ベクトルまたは string スカラー、あるいは mlreportgen.dom.LinkTarget
オブジェクトとして指定します。文字ベクトルまたは string スカラーの値は LinkTarget
オブジェクトに変換されます。リンク ターゲットは、出力レポートでこのレポーターのコンテンツの直前に配置されます。
メソッド
パブリック メソッド
getVariableName | モデル変数レポーターから変数の名前を取得する |
getVariableValue | Get value of variable from model variable reporter |
slreportgen.report.ModelVariable.createTemplate | Create model variable reporter template |
slreportgen.report.ModelVariable.customizeReporter | Create custom model variable reporter class |
slreportgen.report.ModelVariable.getClassFolder | Get location of model variable reporter class definition file |
copy | Create copy of a Simulink reporter object and make deep copies of certain property values |
getImpl | レポーターの実装を取得する |
例
レポートにおけるモデル変数の書式設定のカスタマイズ
検索結果を反復処理し、結果ごとにモデル変数レポーターのプロパティを設定することで、レポートにおけるモデル変数の書式設定をカスタマイズします。
% 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 = "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);
モデル変数、ブロック線図、およびブロックについてのレポートの生成
以下を含むレポートを生成します。
モデル変数についての章
モデルの各ブロック線図についてのブロック線図のブロックの節を含む章
モデル変数の [次で使用] のリストにあるブロック名は、それぞれのブロックについてレポートされた対応する内容へのハイパーリンクになります。
% Create a Report rpt = slreportgen.report.Report("MyReport","pdf"); % Load the model model_name = "sf_car"; load_system(model_name); % Create a Chapter for the Variables chapter = mlreportgen.report.Chapter(); chapter.Title = "Model Variable Report for the "+model_name+" model"; % Find the variables in the model finder = slreportgen.finder.ModelVariableFinder(model_name); % Report on the variables while hasNext(finder) result = next(finder); reporter = getReporter(result); add(chapter,reporter); end add(rpt,chapter); % Add diagrams to the report finder = slreportgen.finder.DiagramFinder(model_name); while hasNext(finder) result = next(finder); ch = mlreportgen.report.Chapter(result.Name); add(ch, result); % Add a section for the blocks in the diagram sect = mlreportgen.report.Section("Title","Blocks"); blFinder = slreportgen.finder.BlockFinder(result.Object); while hasNext(blFinder) blockresult = next(blFinder); add(sect,blockresult); end add(ch,sect); add(rpt, ch); end % Close and view the report close(rpt); rptview(rpt);
バージョン履歴
R2019b で導入
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)