Main Content

getVariable

在模型的模型工作区中返回变量的值

说明

示例

varValue = getVariable(mdlWks,varName) 返回名称为 varName 的变量的值,该变量存在于由 Simulink.ModelWorkspace 对象 mdlWks 表示的模型工作区中。

如果目标变量的值是句柄对象(例如 Simulink.Parameter)的句柄,则 getVariable 将返回句柄的副本。您对模型工作区中的变量或返回的变量 (variableValue) 所做的更改会同时影响这两个变量。

要返回句柄对象的深拷贝,请使用对象的 copy 方法。要修改存储在模型工作区中的句柄对象,最佳做法是同时使用 getVariableassignin 方法(请参阅修改句柄对象的属性值)。

示例

全部折叠

打开示例模型 vdp

openExample('simulink_general/VanDerPolOscillatorExample')

创建表示 vdp 的模型工作区的 Simulink.ModelWorkspace 对象。

mdlWks = get_param('vdp','ModelWorkspace');

在模型工作区中创建名为 myVar 的变量。

assignin(mdlWks,'myVar',5.12)

返回新变量的值。将值存储在另一个名为 varValue 的变量中。

varValue = getVariable(mdlWks,'myVar');

修改 Simulink.Parameter 对象 K 的属性,该属性在模型 mdl.slx 中定义。当您调用 getVariable 时,请使用 copy 方法,因为 Simulink.Parameter 是句柄类。

wksp = get_param(mdl,'ModelWorkspace');
value = copy(getVariable(wksp,'K'));
value.DataType = 'single';
assignin(wksp,'K',value);

输入参数

全部折叠

目标模型工作区,指定为 Simulink.ModelWorkspace 对象。

目标变量的名称,指定为字符向量。

示例: 'myVariable'

数据类型: char

输出参量

全部折叠

目标变量的值,以数字、结构体或其他 MATLAB 值形式返回。

版本历史记录

在 R2012a 中推出