文档帮助中心文档
本页的翻译已过时。点击此处可查看最新英文版本。
获取参数名称和值
ParamValue = get_param(Object,Parameter)
示例
ParamValue = get_param(Object,Parameter) 返回指定模型或模块对象的指定参数的名称或值。首先打开或加载 Simulink® 模型。
ParamValue
Object
Parameter
提示
如果您对同一个模块多次调用 get_param,则使用数值句柄指定模块比使用完整的模块路径更高效。使用 getSimulinkBlockHandle 获取模块句柄。
get_param
getSimulinkBlockHandle
对于参数名称,请参阅:
模块特定的参数
通用模块属性
全部折叠
加载 vdp 模型。
vdp
load_system('vdp');
获取 Expression 模块参数的值。
Expression
BlockParameterValue = get_param('vdp/Mu','Multiplication')
BlockParameterValue = 'Element-wise(K.*u)'
获取 SolverType 模型参数的值。
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 = 'AutoSaveOptions' 'CacheFolder' 'CallbackTracing' 'CharacterEncoding' . . . 'CurrentSystem'
获取全局参数的值。
GlobalParameterValue = get_param(0,'CurrentSystem')
GlobalParameterValue = vdp
获取 vdp 模型的模型参数列表。
load_system('vdp') ModelParameterNames = get_param('vdp','ObjectParameters')
ModelParameterNames = Name: [1x1 struct] Tag: [1x1 struct] Description: [1x1 struct] Type: [1x1 struct] Parent: [1x1 struct] Handle: [1x1 struct] . . . Version: [1x1 struct]
获取 vdp 模型的 ModelVersion 模型参数的当前值。
ModelVersion
ModelParameterValue = get_param('vdp','ModelVersion')
ModelParameterValue = 1.6
获取 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' }
获取 Mu 模块的模块对话框参数列表。
Mu
BlockDialogParameters = get_param('vdp/Mu','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 模块参数的值。
Multiplication
如果您对同一个模块多次调用 get_param,则使用模块句柄比以字符向量形式指定完整模块路径(例如,'vdp/Mu')更高效。
'vdp/Mu'
您可以在对 get_param 或 set_param 的后续调用中使用该模块句柄。如果您检查该句柄,会发现它包含双精度值。不要试图只使用句柄的数值(例如 5.007),因为您通常需要指定的位数远远超过 MATLAB® 显示的位数。而要将该句柄赋给变量,并使用该变量名称指定模块。
set_param
5.007
如果需要,可以使用 getSimulinkBlockHandle 来加载 vdp 模型(通过指定 true),并获取 Mu 模块的句柄。
true
mublockhandle = getSimulinkBlockHandle('vdp/Mu',true);
将模块句柄用于 get_param 以获取 Expr 模块参数的值。
Expr
BlockParameterValue = get_param(mublockhandle,'Multiplication')
获取 vdp 模型中每个模块的 BlockType 参数值。
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' }
模型、模块或根的句柄或名称,指定为数值句柄或字符向量;对于多个模块,则为字符向量元胞数组;对于根,则为 0。数值句柄必须为标量。您还可以获取信号线和端口的参数,但必须使用数值句柄指定它们。
0
如果您对同一个模块多次调用 get_param,则使用数值句柄指定模块比使用完整的模块路径更高效。使用 getSimulinkBlockHandle 获取模块句柄。不要试图只使用句柄的数值(例如 5.007),因为您通常需要指定的位数远远超过 MATLAB 显示的位数。要将句柄赋给变量,并使用该变量名称指定模块。
指定 0 以获取根参数名称,包括当前 Simulink 会话的全局参数和模型参数。
全局参数包括编辑器预设和 Simulink Coder™ 参数。
模型参数包括配置参数、Simulink Coder 参数和 Simulink Code Inspector™ 参数。
示例: 'vdp/Mu'
模型、模块或根的参数,指定为字符向量,对于根,则为 0。下表显示了特殊情况。
'ObjectParameters'
返回一个结构体数组,指定的对象(模型、模块或根)的参数名称在结构体中为单独的字段。
'DialogParameters'
返回一个结构体数组,模块对话框参数名称在结构体中为单独的字段。如果模块有封装,则函数返回封装参数。
'BlockType'
返回指定的模型或模块参数的值。
如果以元胞数组形式指定了多个模块,将返回一个元胞数组,其中包含所有模块都共有的指定参数的值。该元胞数组中所有指定的模块都必须包含该参数,否则函数将返回错误。
示例: 'ObjectParameters'
数据类型: char
char
指定的模型、模块或根的指定参数的名称或值。如果您指定多个对象,则输出是对象元胞数组。下表显示了特殊情况。
一个结构体数组,指定的对象(模型、模块或根)的参数名称在结构体中为单独的字段。
一个结构体数组,模块对话框参数名称在结构体中显示为单独的字段。如果模块有封装,则函数返回封装参数。
指定的模型或模块参数的值。如果以元胞数组形式指定了多个模块,将返回一个元胞数组,其中包含对所有模块都通用的指定参数的值。
如果您通过指定 get_param(0,'ObjectParameters') 来获取根参数,则输出 ParamValue 是一个结构体数组,根参数名称在结构体中为单独的字段。每个参数字段都是一个结构体,其中包含以下字段:
get_param(0,'ObjectParameters')
类型 - 参数类型值包括:'boolean'、'string'、'int'、'real'、'point'、'rectangle'、'matrix'、'enum'、'ports' 或 'list'
'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'
'read-write'
'read-only'
'read-only-if-compiled'
'write-only'
'dont-eval'
'always-save'
'never-save'
'nondirty'
'simulation'
bdroot | find_system | gcb | gcs | getSimulinkBlockHandle | set_param
bdroot
find_system
gcb
gcs
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
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:
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Contact your local office