首先,matlab版本是2011b,所以我不能使用Simulink.MaskParameters类。
我有一个simulink掩码和一些参数。我需要在我的函数中为每个参数确定它是“可评估的”还是“可调的”。
这两件事是掩码参数对话框中的两个复选框,您可以为任何参数选择。
对于“可调”,有MaskTunableValues属性。对于“启用”,有“MaskEnables”属性。
您是否知道是否有办法以编程方式访问同一属性但是“评估”? 感谢
答案 0 :(得分:3)
@Phil Goddard的回答显示了如何找到参数。要完成答案,实际参数是MaskVariables。 Evaluate标志嵌入到MaskVariables字符串中。修改它并不简单。例如,两个参数MaskVariables字符串包含如下内容:
"a=@1;b=&2;"
在此字符串中,@符号表示评估。在此基础上,评估参数a
,而不参数b
。如果要更改evaluate标志,则需要为MaskVariables参数设置此字符串,除了@
或&
符号外,它的确切方式。
有关更多信息,请参阅https://www.mathworks.com/help/releases/R2011b/toolbox/simulink/slref/f23-18517.html处的掩码参数的R2011b文档。在页面底部有关于MaskVariables参数的更多细节。
答案 1 :(得分:2)
对于大多数人来说,您使用的版本太旧而无法为您提供准确的解决方案,但是,我确信(从内存中)此参数可用。
如果单击掩码选择块,则转到MATLAB命令行并键入
get_param(gcb,'ObjectParameters')
您将获得所有块属性的列表。 (您可能已经知道,因为您已了解MaskTunableValues
和MaskEnables
。)该列表底部附近是与掩码相关的所有属性。
现在手动查看每个/所有属性,例如
get_param(gcb,'MaskTunableValues')
并且您会发现其中一个是包含您正在寻找的信息的结构。 (您可能需要深入了解结构以找到具体信息。)
答案 2 :(得分:1)
答案版本> 2011b(2014b测试):
好的发现了,实际上matlab文档对Simulink.MaskParameter类非常不清楚,以下是它的工作原理:
首先,从你的块中获取Mask类:
mask = Simulink.Mask.get(gcb)
Mask类是一个包含所有掩码参数的结构:
parameters = mask.Parameters(:)
参数是一个(数组)Simulink.MaskParameter对象,它将包含所有必需的属性,包括Evaluate。