Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

slmetric.Engine クラス

名前空間: slmetric
スーパークラス:

(削除予定) モデルまたはモデル コンポーネントに関するメトリクス データを収集する

slmetric.Engine は将来のリリースで削除される予定です。サイズ、アーキテクチャ、複雑度のメトリクスについては、代わりに metric.Engine API およびモデル保守性メトリクスを使用します。詳細については、metric.Engine およびプログラムによるモデル保守性メトリクスの収集を参照してください。

説明

executeを呼び出して、slmetric.Engine オブジェクトを使用してモデルに関するメトリクス データを収集します。getMetricsを使用して、メトリクス データにアクセスし、slmetric.metric.ResultCollection オブジェクトの配列を返します。このメトリクス データは、シミュレーション キャッシュ フォルダーに保存されます。以降は、同じモデルに対して slmetric.Engine オブジェクトをインスタンス化すると、メトリクス データを再生成することなく、キャッシュされているメトリクス データにアクセスできます。

作成

metric_engine = slmetric.Engine() はメトリクス エンジン オブジェクトを作成します。

プロパティ

すべて展開する

メトリクス データを収集するルート モデルまたはサブシステムの名前。slmetric.Engine.setAnalysisRoot メソッドで指定します。このプロパティは読み取り専用です。

ルートの下の参照モデル内のライブラリなど、ルート モデル内のライブラリにリンクされたサブシステムをメトリクス エンジンで解析するかどうかを指定します。メトリクス解析には、Simulink 組み込みライブラリにリンクされたブロックは含まれません。メトリクス解析にライブラリを含めない場合は、このパラメーターを false または 0 に設定します。

データ型: logical

ルート モデル内の参照モデルをメトリクス エンジンで解析するかどうかを指定します。以下の値から選択します。

説明
'None'メトリクス エンジンは、参照モデルのメトリクス データを収集しません。
'NormalModeOnly'メトリクス エンジンは、ノーマル シミュレーション モードで実行されている参照モデルのメトリクス データのみを収集します。
'AllModes'メトリクス エンジンは、ノーマル シミュレーション モードおよびアクセラレータ シミュレーション モードで実行されている参照モデルのメトリクス データを収集します。

データ型: char

メソッド

execute(削除予定) メトリクス データを収集する
exportMetrics(To be removed) Export model metrics
getAnalysisRootMetric(To be removed) Get metric data for one metric for analysis root only
getErrorLog(削除予定) エラー ログの取得
getMetricDistributionメトリクス分布を取得する
getMetricMetaInformationメトリクス メタ情報を取得する
getMetrics(To be removed) Access model metric data
getStatisticsメトリクス データに関する統計を取得する
setAnalysisRootメトリクス解析用にモデルまたはサブシステムを指定する

すべて折りたたむ

モデル sldemo_mdlref_basic のモデル メトリクス データを収集してそのデータにアクセスします。

モデルを開きます。

openExample('sldemo_mdlref_basic'); 

slmetric.Engine オブジェクトを作成し、解析用にモデル内のルートを設定します。

metric_engine = slmetric.Engine();

% Include referenced models and libraries in the analysis, 
%     these properties are on by default
metric_engine.ModelReferencesSimulationMode = 'AllModes';
metric_engine.AnalyzeLibraries = 1;

setAnalysisRoot(metric_engine, 'Root',  'sldemo_mdlref_basic');

モデル メトリクス データの収集

execute(metric_engine, 'mathworks.metrics.ExplicitIOCount');

モデル メトリクス データを取得して、slmetric.metric.ResultCollection オブジェクトの配列 res_col を返します。

res_col = getMetrics(metric_engine, 'mathworks.metrics.ExplicitIOCount');

mathworks.metrics.ExplicitIOCount メトリクスの結果を表示します。

for n=1:length(res_col)
    if res_col(n).Status == 0
        result = res_col(n).Results;
        
        for m=1:length(result)
            disp(['MetricID: ',result(m).MetricID]);
            disp(['  ComponentPath: ', result(m).ComponentPath]);
            disp(['  Value: ', num2str(result(m).Value)]);
            disp(['  AggregatedValue: ', num2str(result(m).AggregatedValue)]);
            disp(['  Measures: ', num2str(result(m).Measures)]);
            disp(['  AggregatedMeasures: ', num2str(result(m).AggregatedMeasures)]);
        end
    else
        disp(['No results for:', result(n).MetricID]);
    end
    disp(' ');
end

結果は次のようになります。

MetricID: mathworks.metrics.ExplicitIOCount
  ComponentPath: sldemo_mdlref_basic
  Value: 3
  AggregatedValue: 4
  Measures: 0  3
  AggregatedMeasures: 3  3
MetricID: mathworks.metrics.ExplicitIOCount
  ComponentPath: sldemo_mdlref_basic/More Info
  Value: 0
  AggregatedValue: 0
  Measures: 0  0
  AggregatedMeasures: 0  0
MetricID: mathworks.metrics.ExplicitIOCount
  ComponentPath: sldemo_mdlref_counter
  Value: 4
  AggregatedValue: 4
  Measures: 3  1
  AggregatedMeasures: 3  1

ComponentPath: sldemo_mdlref_basic では、出力が 3 つあるため、値は 3 です。3 つの出力は、配列 Measures の 2 番目の要素に入ります。slmetric.metric.AggregationModeMax であるため、AggregatedValue は、sldemo_mdlref_counter への入出力の数である 4 です。配列 AggregratedMeasures には、コンポーネントまたはサブコンポーネントの入力および出力の最大数が含まれます。

バージョン履歴

R2016a で導入

すべて展開する

R2022a: 警告

slmetric.Engine クラスは、将来のリリースで削除される予定であるという警告を発行します。サイズ、アーキテクチャ、複雑度のメトリクスについては、代わりに metric.Engine API およびモデル保守性メトリクスを使用します。詳細については、metric.Engine およびプログラムによるモデル保守性メトリクスの収集を参照してください。