get_param
获取参数名称和值
说明
示例
获取模块参数值和模型参数值
加载 vdp
模型。
load_system('vdp');
获取 Expression
模块参数的值。
BlockParameterValue = get_param('vdp/Mu','Multiplication')
BlockParameterValue = 'Element-wise(K.*u)'
获取 SolverType
模型参数的值。
SolverType = get_param('vdp','SolverType')
SolverType = 'Variable-step'
获取根参数名称和值
通过找出 Simulink 根参数名称与模型参数名称之间的区别,获取全局参数名称的列表。
RootParameterNames = fieldnames(get_param(0,'ObjectParameters')); load_system('vdp') ModelParameterNames = fieldnames(get_param('vdp','ObjectParameters')); GlobalParameterNames = setdiff(RootParameterNames,ModelParameterNames)
GlobalParameterNames = 79×1 cell array {'AccelNoncompliantBlocksRatioLimit' } {'AutoAccelerationStepsPerBlockLimit' } {'AutoAccelerationStepsPerCodegenLimit' } . . . {'CurrentSystem' }
获取全局参数的值。
GlobalParameterValue = get_param(0,'CurrentSystem')
GlobalParameterValue = 'vdp'
获取模型参数名称和值
获取 vdp
模型的模型参数列表。
load_system('vdp') ModelParameterNames = get_param('vdp','ObjectParameters')
ModelParameterNames = struct with fields: Name: [1×1 struct] Tag: [1×1 struct] Description: [1×1 struct] Type: [1×1 struct] Parent: [1×1 struct] Handle: [1×1 struct] . . . ZeroInternalMemoryAtStartup: [1×1 struct]
获取 vdp
模型的 ModelVersion
模型参数的当前值。
ModelParameterValue = get_param('vdp','ModelVersion')
ModelParameterValue = '7.0'
获取模块列表和参数值
获取 sldemo_fuelsys
模型中模块的模块路径和名称列表。对于其中一个模块,获取模块对话框参数列表和模块对话框参数值。
打开 Model a Fault-Tolerant Fuel Control System
示例。
openExample('simulink_automotive/ModelingAFaultTolerantFuelControlSystemExample');
获取 sldemo_fuelsys
模型顶层中所有模块的模块路径和名称列表。
BlockPaths = get_param(gcs,'blocks')
BlockPaths = 21×1 cell array {'Callback Button' } {'Constant2' } {'Constant3' } {'Constant4' } {'Constant5' } {'Dashboard' } {'EGO Fault Switch' } {'Engine Gas Dynamics' } {'Engine Speed' } {'Engine Speed↵Fault Switch' } {'Engine_Speed_Selector' } {'MAP Fault Switch' } {'MAP_Selector' } {'O2_Voltage_Selector' } {'Scope' } {'Throttle↵Command' } {'Throttle Angle↵Fault Switch'} {'Throttle_Angle_Selector' } {'To Controller' } {'To Plant' } {'fuel_rate_control' }
该命令输出当前系统顶层中所有模块的模块路径和名称列表。如果当前系统是子系统,该命令将输出该子系统顶层中所有模块的模块路径和名称列表。
在此示例中,当前系统为 sldemo_fuelsys
,因此该命令输出 sldemo_fuelsys
系统的顶层中所有模块的模块路径和名称列表。
获取 sldemo_fuelsys
模型的所有层级中所有模块的模块路径和名称列表。
BlockPaths = find_system(gcs,'Type','Block')
BlockPaths = 188×1 cell array {'sldemo_fuelsys/Callback Button' } {'sldemo_fuelsys/Constant2' } {'sldemo_fuelsys/Constant3' } ... {'sldemo_fuelsys/fuel_rate_control/fuel_rate' }
该命令输出当前系统的顶层和当前系统包含的所有较低模型层级中所有模块的模块路径和名称列表。在此示例中,当前系统为 sldemo_fuelsys
,因此输出是 sldemo_fuelsys
模型中所有模块的模块路径和名称的列表。
获取名为 RT/Vm
的 Gain 模块的模块对话框参数列表。get_param
函数中的第一个参数是模块路径和名称。从 BlockPaths
元胞数组中获取模块路径和名称。
BlockDialogParameters = get_param(BlockPaths{44},'DialogParameters')
BlockDialogParameters = struct with fields: Gain: [1×1 struct] Multiplication: [1×1 struct] ParamMin: [1×1 struct] ParamMax: [1×1 struct] ParamDataTypeStr: [1×1 struct] OutMin: [1×1 struct] OutMax: [1×1 struct] OutDataTypeStr: [1×1 struct] LockScale: [1×1 struct] RndMeth: [1×1 struct] SaturateOnIntegerOverflow: [1×1 struct] SampleTime: [1×1 struct]
获取 Multiplication
模块参数的值。
BlockParameterValue = get_param(BlockPaths{44},'Multiplication')
BlockParameterValue = 'Element-wise(K.*u)'
使用模块句柄获取模块参数值
获取 vdp
模型中名为 Mu
的 Gain 模块的 Multiplication
模块参数值。
使用 getSimulinkBlockHandle
函数获取 vdp
模型中名为 Mu
的 Gain 模块的句柄。通过输入 'vdp/Mu'
作为输入参数来指定模型和模块名称。如果未加载 vdp
模型,则通过将 true
指定为 getSimulinkBlockHandle
函数的第二个输入参数来加载模型。
mublockhandle = getSimulinkBlockHandle('vdp/Mu',true)
mublockhandle = 5.0001
句柄包含双精度值,例如,5.0001
。如果您在 MATLAB® 命令行窗口中显示句柄编号,显示画面可能不会显示该编号的所有数字。请不要尝试通过手动输入您在显示画面上看到的内容来使用此句柄编号。而要将该句柄赋给变量,并使用该变量名称指定模块。
提示
如果对同一模块多次调用 get_param
,请使用模块句柄,而不要重复将完整的模块路径指定为字符向量,如 'vdp/Mu'
。您可以在对 get_param
或 set_param
的后续调用中使用该模块句柄。
要获取 Multiplication
模块参数的值,请使用 get_param
函数。将模块句柄指定为第一个输入参量,将模块参数的名称指定为第二个输入参量。
BlockParameterValue = get_param(mublockhandle,'Multiplication')
BlockParameterValue = 'Element-wise(K.*u)'
显示模型中所有模块的模块类型
获取 vdp
模型的模块路径和名称列表。
load_system('vdp') BlockPaths = find_system('vdp','Type','Block')
BlockPaths = 14×1 cell array {'vdp/Constant' } {'vdp/More Info' } {'vdp/More Info/Model Info'} {'vdp/Mu' } {'vdp/Mux' } {'vdp/Product' } {'vdp/Scope' } {'vdp/Square' } {'vdp/Sum' } {'vdp/Sum1' } {'vdp/x1' } {'vdp/x2' } {'vdp/Out1' } {'vdp/Out2' }
获取 vdp
模型中每个模块的 BlockType
参数值。
BlockTypes = get_param(BlockPaths,'BlockType')
BlockTypes = 14×1 cell array {'Constant' } {'SubSystem' } {'SubSystem' } {'Gain' } {'Mux' } {'Product' } {'Scope' } {'Math' } {'Sum' } {'Sum' } {'Integrator'} {'Integrator'} {'Outport' } {'Outport' }
获取封装参数、Simulink 对象、模块图或注释的选项列表
您可以使用 get_param
函数和关键字 options
检索参数、Simulink 对象、模块图或注释的选项列表。
获取封装参数的选项列表。以 ACSystem
模型中的封装 Subsystem 模块为例。获取 Subsystem 模块参数 Show port labels
的选项列表。
openExample('simulink_masking/DesignAMaskDialogBoxExample') get_param('ACSystem/AC System','options@showportlabels')
ans = 1×4 cell array {'none'} {'FromPortIcon'} {'FromPortBlockName'} {'SignalName'}
获取模块参数的选项列表。例如,获取 Inport 模块的 Icon display
参数的选项列表。
get_param('ACSystem/In1','options@icondisplay')
ans = 1×3 cell array {'Signal name'} {'Port number'} {'Port number and si…'}
获取封装参数的计算值
您可以使用带关键字 value
的 get_param
函数来访问封装模块参数的计算值。
以 ACSystem
模型中的封装 Subsystem 模块为例。获取名为 Room Width (W)
的封装上 edit
参数的计算值。
openExample('simulink_masking/DesignAMaskDialogBoxExample') get_param('ACSystem/AC System','value@W')
ans = 133
检索计算值的选项仅限于封装参数。
通过双击 AC System
模块打开该模块的封装。Room Width (W)
参数的值与使用 get_param
函数得到的值相同。
输入参数
object
— 对象或根的名称、路径或句柄
字符向量 | 字符向量元胞数组 | 字符串数组 | 数值标量 | 0
对象或根的名称、路径或句柄,指定为字符向量、字符向量元胞数组、字符串数组、数值标量或 0
。
如何指定目标对象取决于其类型。
模型 - 模型名称或句柄。
子系统 - 系统名称或句柄。
库 - 库名称或句柄。
模块 - 模块路径或句柄。
信号线 - 信号线句柄。
端口 - 端口句柄。
总线元素端口元素 - 具有元素标签的模型组件的模块路径。元素可以是端口的任何元素,例如顶层总线、嵌套总线、信号或消息。
要用一个公共参数指定多个对象,请使用字符向量元胞数组、字符串数组或句柄数组。所有指定的对象都必须具有指定的参数,否则该函数将返回错误。
指定 0
以获取根参数名称,包括当前 Simulink 会话的全局参数和模型参数。
全局参数包括编辑器预设项和 Simulink Coder™ 参数。
模型参数包括配置参数、Simulink Coder 参数和 Simulink Code Inspector™ 参数。
示例: 'vdp/Mu'
示例: 'mymodel/Subsystem1/Out1.nonsinusoidal.saw'
提示
如果对同一模块多次调用
get_param
,请用数值句柄指定该模块。这种方法比对get_param
使用完整模块路径更高效。使用getSimulinkBlockHandle
获取模块句柄。不要尝试手动指定句柄的数字,例如
5.007
,因为您通常需要指定的位数多于 MATLAB 显示的位数。要将句柄赋给变量并使用该变量名称。
数据类型: char
| string
| double
parameter
— 参数、属性或特性名称
字符向量 | 字符串标量
参数、属性或特性名称,指定为字符向量或字符串标量。有些名称区分大小写。
下表显示特例。
指定的参数 | 结果 |
---|---|
'ObjectParameters' | 结构体数组中作为单独字段的指定对象的参数名称。 |
'DialogParameters' | 结构体数组中作为单独字段的模块对话框参数名称。如果模块有封装,则函数返回封装参数。 |
有关参数、属性或特性的信息,请参阅对应参考页上的编程使用信息。例如:
模型 - 请参阅配置参数参考页。
模块 - 请参阅通用模块属性和模块参考页。
端口 - 请参阅信号属性工具参考页。
总线元素端口元素 - 请参阅 In Bus Element 和 Out Bus Element 模块参考页。
示例: 'ObjectParameters'
示例: 'Solver'
示例: 'SimulationCommand'
示例: 'Position'
示例: 'NameLocation'
数据类型: char
| string
输出参数
value
— 参数值
由参数类型确定的格式
参数值,以参数类型确定的格式返回。如果您指定多个对象,则输出是元胞数组。
下表显示特例。
指定的参数 | 结果 |
---|---|
'ObjectParameters' | 结构体数组中作为单独字段的指定对象的参数名称。 |
'DialogParameters' | 结构体数组中作为单独字段的模块对话框参数名称。如果模块有封装,则函数返回封装参数。 |
如果您通过指定 get_param(0,'ObjectParameters')
来获取根参数,则输出 value
是一个结构体数组,根参数名称在结构体中为单独的字段。每个参数字段都是一个结构体,其中包含以下字段:
类型 - 参数类型值包括
'boolean'
、'string'
、'int'
、'real'
、'point'
、'rectangle'
、'matrix'
、'enum'
、'ports'
或'list'
。枚举 - 枚举字符向量值的元胞数组,仅适用于
'enum'
参数类型。属性 - 定义参数属性的字符向量元胞数组。值包括
'read-write'
、'read-only'
、'read-only-if-compiled'
、'write-only'
、'dont-eval'
、'always-save'
、'never-save'
、'nondirty'
或'simulation'
。
版本历史记录
在 R2006a 之前推出
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- 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)