run
类: Advisor.Application
命名空间: Advisor
对模型组件运行模型顾问分析
语法
示例
创建一个 Application
对象并运行模型顾问分析。
创建一个 Application
对象。
app = Advisor.Manager.createApplication();
打开模型并将根分析设置为 RootModel
。
% Open the model openExample('sldemo_mdlref_basic'); % Set root model to sldemo_mdlref_basic model RootModel = 'sldemo_mdlref_basic'; % Set the Application object root analysis setAnalysisRoot(app,'Root',RootModel);
运行模型顾问分析。
run(app);
此示例说明如何对模型 sldemo_mdlref_basic
及其引用模型 sldemo_mdlref_counter
运行检查根模型 Inport 模块设定检查。
打开示例模型 sldemo_mdlref_basic
。在 MATLAB® 命令行窗口中,输入:
openExample("sldemo_mdlref_basic")
模型 sldemo_mdlref_basic
是包含以下三个 Model 模块的父模型:CounterA
、CounterB
和 CounterC
。这些模块引用同一模型 sldemo_mdlref_counter
,该模型是一个单独的模型,而不是 sldemo_mdlref_basic
的子系统。
创建一个 Advisor.Application
对象,该对象可用于跨 sldemo_mdlref_basic
中的模型引用层次结构运行模型顾问检查。
app = Advisor.Manager.createApplication();
指定要分析的模型或子系统。对于此示例,请将模型 sldemo_mdlref_basic
指定为模型顾问分析的根模型。
setAnalysisRoot(app,Root = "sldemo_mdlref_basic");
当您将某个模型指定为 Advisor.Application
对象的分析根时,模型顾问会分析该模型及其引用的所有模型。有关详细信息,请参阅 setAnalysisRoot
。
假设您只想运行检查根模型 Inport 模块设定检查。
默认情况下,Advisor.Application
对象设置为运行当前模型顾问配置中的每个检查实例并选择所有检查实例。清除检查实例,以从模型顾问分析中删除所有检查实例。
deselectCheckInstances(app);
通过查找并使用检查实例 ID,指定您希望模型顾问仅运行检查根模型 Inport 模块设定检查。
checkID = "mathworks.design.RootInportSpec";
instanceIDs = getCheckInstanceIDs(app,checkID);
instanceID = instanceIDs(1);
selectCheckInstances(app,ID = instanceID);
现在,您已选择检查根模型 Inport 模块设定检查作为模型顾问分析内容。
getCheckInstanceIDs
方法返回多个检查实例 ID,因为检查根模型 Inport 模块设定检查显示在模型顾问树的多个文件夹中。对于此示例,instanceID
指定为 getCheckInstanceIDs
返回的第一个检查实例 ID,但您可以选择 getCheckInstanceIDs
返回的任何检查实例 ID。
注意
或者,如果您要加载模型顾问配置文件而不是选择单个检查,请使用 loadConfiguration
方法。
运行模型顾问分析。
run(app);
模型顾问对 sldemo_mdlref_basic
和 sldemo_mdlref_counter
运行检查根模型 Inport 模块设定检查。
获取模型顾问分析的结果。
res = getResults(app);
生成并查看模型顾问报告。
report = generateReport(app); web(report);
模型顾问报告提供 sldemo_mdlref_basic
和 sldemo_mdlref_counter
的结果摘要,以及指向每个模型的单独报告的超链接。
此示例说明如何对模型 slexVariantManagement
中的不同变体选择项运行标识未连接的信号线、输入端口和输出端口检查。
打开示例模型 slexVariantManagement
。在 MATLAB 命令行窗口中,输入:
openExample("slexVariantManagement")
模型 slexVariantManagement
包含多个可变子系统模块,包括 Controller
和 Plant
。可变子系统模块内包含这些组件的不同实现。
slexVariantManagement
具有存储在与该模型关联的变体配置数据对象 vcd
中的多个变体配置。Advisor.Application
对象只能依据使用变体管理器创建的变体配置,对模型中的活动和非活动变体模块运行模型顾问分析。有关详细信息,请参阅 Variant Manager for Simulink和Variant Configurations。
创建可用于运行模型顾问检查的 Advisor.Application
对象。
app = Advisor.Manager.createApplication();
将 AnalyzeVariants
指定为 true
,以便 Advisor.Application
对象可以对 slexVariantManagement
中的每个变体选择项运行模型顾问。
app.AnalyzeVariants = true;
指定要分析的模型。对于此示例,请将模型 slexVariantManagement
指定为模型顾问分析的根模型。
setAnalysisRoot(app,Root = "slexVariantManagement");
假设您只想运行标识未连接的信号线、输入端口和输出端口检查。
默认情况下,Advisor.Application
对象设置为运行当前模型顾问配置中的每个检查实例并选择所有检查实例。清除检查实例,以从模型顾问分析中删除所有检查实例。
deselectCheckInstances(app);
通过查找并使用检查实例 ID,指定您希望模型顾问仅运行标识未连接的信号线、输入端口和输出端口检查。
checkID = "mathworks.design.UnconnectedLinesPorts";
instanceIDs = getCheckInstanceIDs(app,checkID);
instanceID = instanceIDs(1);
selectCheckInstances(app,ID = instanceID);
现在,您已选择标识未连接的信号线、输入端口和输出端口检查作为模型顾问分析内容。
getCheckInstanceIDs
方法返回多个检查实例 ID,因为标识未连接的信号线、输入端口和输出端口检查显示在模型顾问树的多个文件夹中。对于此示例,instanceID
指定为 getCheckInstanceIDs
返回的第一个检查实例 ID,但您可以选择 getCheckInstanceIDs
返回的任何检查实例 ID。
注意
或者,如果您要加载模型顾问配置文件而不是选择单个检查,请使用 loadConfiguration
方法。
运行模型顾问分析。
run(app);
模型顾问对该模型和引用模型中的活动变体运行检查。
获取模型顾问分析的结果。
res = getResults(app);
生成并查看模型顾问报告。
report = generateReport(app); web(report);
模型顾问报告提供 slexVariantManagement
的结果摘要,以及指向每个变体的单独报告的超链接。
输入参数
模型顾问 application 对象,指定为 Advisor.Application
对象。您可以使用 Advisor.Application
对象对模型引用层次结构运行模型顾问检查。使用 Advisor.Manager.createApplication
方法创建一个 Advisor.Application
对象。
版本历史记录
在 R2015b 中推出
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)