主要内容

以编程方式收集模型度量标准

此示例显示如何使用模型度量API以编程方式收集模型的子系统和块计数度量。收集模型的指标后,您可以访问结果并将它们导出到文件。

示例模型

开放式VDP。

模型=“vdp”;Open_System(型号);

收集指标

要在模型上收集度量数据,请创建度量标准引擎对象并呼叫执行

metric_engine = slmetric.engine();SetAnaliseRoot(Metric_Engine,'根'“vdp”'roottype'“模型”);执行(metric_engine);
更新模型顾问缓存...模型顾问缓存更新。对于新的自定义,要更新缓存,请使用advisor.Manager.refresh_customizations方法。

访问结果

使用getmetrics.方法,指定要收集的指标。在此示例中,指定块计数和子系统数计数标准VDP.模型。getmetrics.返回Slmetric.Metric.ResultCollection.对象。

res_col = getmetrics(metric_engine,{'mathworks.metrics.金宝appsimulinkblockcount'......'mathworks.metrics.subsystemcount'});

存储和显示结果

创建单元格数组MetricData.储存金钱ComponentPath, 和价值为度量结果。这金钱是度量标准的标识符,是ComponentPath是计算指标的组件的路径,以及价值为公制值。编写一个循环来显示结果。

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/More Info/Model Info
价值:1
MetricID:MathWorks.metrics.s金宝appimulinkblockcount.simulinkblockcount.
ComponentPath:VDP /更多信息/型号信息/ EmptySubSystem
价值:0

              
MetricID:MathWorks.metrics.subsystemcount.
ComponentPath:VDP.
价值:1
MetricID:MathWorks.metrics.subsystemcount.
ComponentPath:VDP /更多信息
价值:0
MetricID:MathWorks.metrics.subsystemcount.
ComponentPath: vdp/More Info/Model Info
价值:1
MetricID:MathWorks.metrics.subsystemcount.
ComponentPath:VDP /更多信息/型号信息/ EmptySubSystem
价值:0

              

出口结果

出口MetricData.结果金钱ComponentPath, 和价值到电子表格,使用可编程写…的内容MetricData.mysproadsheet.xlsx.

filename =.'myspreadsheet.xlsx';t =表(metricdata);可编程(t,filename);

要将度量标准结果导出到XML文件,请使用exportMetrics方法。对于每个度量标准结果,XML文件包括componentId.ComponentPath金钱价值聚合value., 和措施

filename =.'mymetricresults.xml';ExportMetrics(Metric_Engine,Filename)

关闭模型VDP.

bdclose(模型);

限制

对于一个型号,您无法将度量数据收集到同一数据库文件中(即Metrics.db文件)在多个平台上。

也可以看看

||

相关的话题