Main Content

slmetric.Engine クラス

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

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

メトリクス ダッシュボード ユーザー インターフェイス、関数 metricdashboardslmetric パッケージ API、および対応するカスタマイズは将来のリリースで削除される予定です。詳細については、Migrating from Metrics Dashboard to Model Maintainability Dashboardを参照してください。

説明

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: メトリクス ダッシュボードは削除予定

メトリクス ダッシュボード ユーザー インターフェイス、関数 metricdashboardslmetric パッケージ API、および対応するカスタマイズは将来のリリースで削除される予定です。詳細については、Migrating from Metrics Dashboard to Model Maintainability Dashboardを参照してください。