MATLAB 帮助中心
本页采用了机器翻译。点击此处可查看英文原文。
命名空间: slreportgen.finder 超类: mlreportgen.finder.Finder
mlreportgen.finder.Finder
在 MATLAB 模块中查找 Simulink 函数引用
自 R2022a 起
使用 slreportgen.finder.FunctionReferenceFinder 类的对象来查找专门用于计算 Simulink® 模块中的参数的函数引用。
slreportgen.finder.FunctionReferenceFinder
slreportgen.finder.FunctionReferenceFinder 类是 handle 类。
handle
HandleCompatible
true
有关类属性的信息,请参阅类属性。
funcRefFinder = slreportgen.finder.FunctionReferenceFinder(container) 创建一个 FunctionReferenceFinder 对象并将 Container 属性设置为 container。
funcRefFinder = slreportgen.finder.FunctionReferenceFinder(container)
funcRefFinder
container
FunctionReferenceFinder
theReporter = slreportgen.finder.FunctionReferenceFinder(Name=Value) 使用一个或多个名称-值参量设置 属性。
theReporter = slreportgen.finder.FunctionReferenceFinder(Name=Value)
theReporter
Name=Value
示例
全部展开
Container
slreportgen.finder.DiagramResult
slreportgen.finder.BlockResult
Simulink 模型或模块来搜索函数引用,指定为以下值之一:
"sf_car"
"sf_car/Engine"
slreportgen.utils.getModelHandle
slreportgen.utils.getModelHandle("sf_car")
getSimulinkBlockHandle
getSimulinkBlockHandle("sf_car/Engine")
GetAccess
公共
SetAccess
SearchDepth
Inf
容器内部搜索的级别数,指定为非负整数或 Inf 以在无限深度中进行搜索。
数据类型: double
double
FunctionType
"all"
"built-in"
"user-defined"
要搜索的函数类型,指定为以下值之一:
数据类型: string | char
string
char
SearchReferencedModels
1
false
0
是否在引用模型中搜索,指定为数值或逻辑值 1 (true) 或 0 (false)。您可以在模型引用的模型或由 Container 属性表示的模块引用的模型中进行搜索。当 SearchReferencedModels 为 true 时:
查找器仅搜索搜索深度内的引用模型。
查找器将搜索引用模型到 SearchDepth 指定的深度,而不管包含引用模型的模块的深度是多少。
查找器搜索被引用模型所引用的模型。
注意
您还可以使用 SearchReferencedModels 和 "off" 设置 "on" 属性。
"off"
"on"
数据类型: logical
logical
LookUnderMasks
是否在封装子系统中进行搜索,指定为以下值之一。
FollowLibraryLinks
是否跟随库链接,指定为以下值之一:
IncludeInactiveVariants
是否搜索变体子系统和模型变体中非活动变体引用的函数,指定为逻辑值 1 (true) 或 0 (false)。
Properties
要查找的函数的属性,指定为名称-值参量的元胞数组,格式为 {"Name","Value"}。查找器仅返回具有指定属性和指定值的函数。支持的属性包括 slreportgen.finder.FunctionReferenceResult 类的任何属性。
{"Name","Value"}
slreportgen.finder.FunctionReferenceResult
数据类型: cell
cell
find
funcRefResArr = find(funcRefFinder) 将与 FunctionReferenceFinder 对象指定的约束相匹配的函数引用作为 slreportgen.finder.FunctionReferenceResult 对象数组返回。
funcRefResArr = find(funcRefFinder)
funcRefResArr
hasNext
如果可以通过 next 方法检索结果,则 tf = hasNext(funcRefFinder) 返回逻辑值 1 (true)。如果没有结果,hasNext 将返回逻辑值 0 (false)。
next
tf = hasNext(funcRefFinder)
tf
funcRefRes = next(funcRefFinder) 将下一个可用结果作为 FunctionReferenceResult 对象返回。如果结果符合 funcRefFinder 的约束并且之前未被 next 方法检索到,则可获得结果。如果没有可用的结果,那么 next 方法将返回一个空的 FunctionReferenceResult 对象。
funcRefRes = next(funcRefFinder)
funcRefRes
FunctionReferenceResult
全部折叠
此示例使用:
此示例显示如何在 Simulink 模块中查找和报告 MATLAB 函数引用。
导入这些命名空间,这样您就不必使用长而完全限定的类名。
import slreportgen.report.* import slreportgen.finder.*
创建 PDF 类型的 slreportgen.report.Report。
slreportgen.report.Report
theReport = Report("FunctionReferenceReport","pdf");
打开模型 sldemo_fuelsys,然后编译模型,以便查找器搜索最新版本的模型。
sldemo_fuelsys
modelName = "sldemo_fuelsys"; open_system(modelName); slreportgen.utils.compileModel(modelName);
创建一个 slreportgen.finder.FunctionReferenceFinder 对象。
funcRefFinder = FunctionReferenceFinder(modelName);
设置查找器在引用模型中搜索。
funcRefFinder.SearchReferencedModels = true;
使用方法 hasNext 和 next 逐一获取 slreportgen.finder.FunctionReferenceResult 对象。
while(hasNext(funcRefFinder)) nextRes = next(funcRefFinder);
如果引用的函数是内置函数,则将结果直接附加到报告中。
if(nextRes.FunctionType == "built-in") append(theReport,nextRes);
如果引用的是用户定义函数,则获取该结果的 slreportgen.report.FunctionReference 报告器的句柄。通过将报告器的 ShowReferencesTable 属性设置为 false 来自定义报告器以排除引用表。然后将报告器附加到报告中。
slreportgen.report.FunctionReference
ShowReferencesTable
else reporter = getReporter(nextRes); reporter.ShowReferencesTable = false; append(theReport,reporter); end end
取消编译并关闭模型。
slreportgen.utils.uncompileModel(modelName) close_system(modelName);
关闭并查看报告。
close(theReport); rptview(theReport);
在 R2022a 中推出
slreportgen.report.FunctionReference | slreportgen.finder.FunctionReferenceResult | slreportgen.finder.BlockResult | slreportgen.finder.DiagramResult | slreportgen.utils.getModelHandle | getSimulinkBlockHandle
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 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
欧洲
亚太
联系您当地的办事处