メインコンテンツ

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

slmetric.Engine クラス

名前空間: slmetric

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

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

説明

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

slmetric.Engine クラスは handle クラスです。

作成

説明

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

プロパティ

すべて展開する

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

データ型: char

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

データ型: logical

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

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

データ型: char

メソッド

すべて展開する

すべて折りたたむ

モデル 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 です。配列 AggregatedMeasures には、コンポーネントまたはサブコンポーネントの入力および出力の最大数が含まれます。

バージョン履歴

R2016a で導入

すべて展開する