这个例子展示了如何使用功能分析仪api检查S-functions,以识别潜在的问题和改进。
功能分析仪MATLAB命令行api包括:
金宝appSimulink.sfunction.Analyzer——类用于发射功能分析仪并得到分析结果。
金宝appSimulink.sfunction.analyzer.BuildInfo——类用来创建一个对象指定构建信息功能。
金宝appSimulink.sfunction.analyzer.Options——类用于指定为s函数分析仪运行选项。
金宝appSimulink.sfunction.analyzer.findSfunctions——静态方法返回所有可行S-functions模型或图书馆功能分析仪。
看到更详细的帮助信息上面的api。
功能分析仪需要一个模型或者一个图书馆在MATLAB路径作为输入,其中包含的功能块进行分析。
模型=“slexSfunctionCheckExample”;
功能分析仪检查的源代码S-functions时是可用的。启发式方法应用于自动定位源代码基于s函数的名字。例如,如果s函数源代码和输入模型在同一个文件夹中,源代码自动将被纳入分析。否则,构建信息必须通过Simulink.sfunction.analyzer.BuildInfo指定。金宝app如果没有源代码可用,可以跳过这一节。
指定构建信息,首先确定合格S-functions输入模型,然后创建一个Simulink.sfunction.analyzer。金宝appBuildInfo为每一个函数对象。对于s函数slexBadSFcn,有两个相关的源文件:slexBadSFcn。c和slexBadSFcn_wrapper.c
sfunctions =金宝app Simulink.sfunction.analyzer.findSfunctions(模型);bdInfo =金宝app Simulink.sfunction.analyzer.BuildInfo (fullfile (matlabroot“例子”,“金宝appsimulink_features”,“数据”,“slexBadSFcn.c”),…“ExtraSrcFileList”,{“slexBadSFcn_wrapper.c”},…“SrcPaths”{fullfile (matlabroot“例子”,“金宝appsimulink_features”,“数据”)});
执行选项功能分析仪通过Simulink.sfunction.analyzer可以配置。金宝app选择对象,如是否启用Polyspace检查和参数鲁棒性检查,模型模拟超时,并输出路径结果报告。如果不需要特定的选项,可以跳过这一节。所有默认选项将被应用。
选择= Sim金宝appulink.sfunction.analyzer.Options ();选择。EnableRobustness = 1;
sfunAnalyzer = 金宝appSimulink.sfunction.Analyzer(模型,“BuildInfo”{bdInfo},“选项”、选择);analysisResult = sfunAnalyzer.run ();sfunAnalyzer.generateReport ();