プログラムプログラムによるモデルメトリクスの收集
この例では,モデルメトリクスapiを使使し,モデルのサブシステムおよびブロックカウントのをプログラムにより收集をを明ししモデルモデルのメトリクスの收集后后エクスポートにの收集后后できにアクセス收集てファイルできでき。
モデル例
开放式VDP。
模型='vdp';Open_System(型号);
メトリクスの收集
モデルモデルのメトリクスデータデータを收集するに,メトリクスエンジンオブジェクトを作物成し执行
を呼び出します。
metric_engine = slmetric.engine();SetAnaliseRoot(Metric_Engine,'根'那'vdp'那'roottype'那'模型');执行(metric_engine);
更新模型顾问缓存... Model Advisor Cache更新。对于新的自定义,要更新缓存,请使用advisor.Manager.refresh_customizations方法。
结果へのアクセス
getmetrics.
メソッドメソッド使て,收集するメトリクスを指定し。この例では,VDP.
モデルのブロックおよびサブシステムのカウントのメトリクスを指定します。getmetrics.
はSlmetric.Metric.ResultCollection.
オブジェクトの配列を返します。
res_col = getmetrics(metric_engine,{'mathworks.metrics.金宝appsimulinkblockcount'那......'mathworks.metrics.subsystemcount'});
结果の保存と表示
细胞配列MetricData.
を作物成,メトリクス结果の金融界
那组成路径
および价值
を格式します。金融界
はメトリクスの识别子です。组成路径
また,价值
はメトリクス値です。
metricdata = {'MetriciD'那'componentpath'那'价值'};cnt = 1;为了n = 1:长度(RES_COL)如果res_col(n).status == 0结果= res_col(n).results;为了m = 1:长度(结果)disp(['METRICID:',结果(m).metricid]);DISP(['ComponentPath:',结果(m).componentpath]);DISP([' 价值: ',num2str(结果(m).value)]);MetricData {CNT + 1,1} =结果(m).molricid;metricdata {cnt + 1,2} =结果(m).componentpath;MetricData {CNT + 1,3} =结果(M).Value;CNT = CNT + 1;结尾别的DISP(['没有结果:',res_col(n).metricid]);结尾DISP('');结尾
MetricID:MathWorks.metrics.s金宝appimulinkblockcount.simulinkblockcount.
ComponentPath:VDP.
价值:13
MetricID:MathWorks.metrics.s金宝appimulinkblockcount.simulinkblockcount.
ComponentPath:VDP /更多信息
价值:1
MetricID:MathWorks.metrics.s金宝appimulinkblockcount.simulinkblockcount.
ComponentPath:VDP /更多信息/型号信息
价值:1
MetricID:MathWorks.metrics.s金宝appimulinkblockcount.simulinkblockcount.
ComponentPath:VDP /更多信息/型号信息/ emptysubSystem
价值:0
MetricID:MathWorks.metrics.subsystemcount.subsystemcount.subsystemcount.
ComponentPath:VDP.
价值:1
MetricID:MathWorks.metrics.subsystemcount.subsystemcount.subsystemcount.
ComponentPath:VDP /更多信息
价值:0
MetricID:MathWorks.metrics.subsystemcount.subsystemcount.subsystemcount.
ComponentPath:VDP /更多信息/型号信息
价值:1
MetricID:MathWorks.metrics.subsystemcount.subsystemcount.subsystemcount.
ComponentPath:VDP /更多信息/型号信息/ emptysubSystem
价值:0
结果のエクスポート
MetricData.
の结果,金融界
那组成路径
および价值
をスプレッドシートにエクスポートするにはは,可编程
をを用してMetricData.
の内容をmyspreadsheet.xlsx.
に书着。
filename ='myspreadsheet.xlsx';t =表(metricdata);可编程(t,filename);
メトリクス结果をxmlファイルにエクスポートするには,oritalmetrics.
メソッドを使使。各メトリクス结果について,xmlファイルにはcomponentId.
那组成路径
那金融界
那价值
那聚合value.
および措施
が含まれます。
filename ='mymetricresults.xml';ExportMetrics(Metric_Engine,Filename)
モデルVDP.
を闭じます。
bdclose(模型);
限制性
1つのモデルに关键词,复数のプラットフォーム上の同じデータベースファイル(metrics.db.
ファイル)にメトリクスデータを收集するはできません。
参考
Slmetric.eNENGINE.
|Slmetric.Metric.result.
|Slmetric.Metric.ResultCollection.