Main Content

本页的翻译已过时。点击此处可查看最新英文版本。

Simulink.ModelWorkspace

以编程方式与模型的模型工作区进行交互

说明

使用 Simulink.ModelWorkspace 对象与模型工作区进行交互。例如,您可以添加和删除变量、设置工作区的数据源以及将更改保存到工作区。

有关详细信息,请参阅模型工作区

创建对象

要创建 Simulink.ModelWorkspace,请使用 get_param 函数查询模型参数 ModelWorkspace 的值。例如,要创建名为 mdlWks 的对象(该对象表示名为 myModel.slx 的模型的模型工作区),请执行以下代码:

mdlWks = get_param('myModel','ModelWorkspace')

属性

全部展开

用于初始化模型工作区中变量的源,指定为以下字符向量之一:

  • 'Model File' - 变量存储在模型文件中。保存模型时,会同时保存变量。

  • 'MATLAB Code' - 变量由您编写并存储在模型文件中的 MATLAB 代码创建。

  • 'MAT-File' - 变量存储在 MAT 文件中,您可以从模型文件中单独管理和操作这些变量。

  • 'MATLAB File' - 变量由脚本文件中的 MATLAB 代码创建,您可以从模型文件中单独管理和操作这些变量。

数据类型: char

存储或创建变量的外部文件的名称,指定为字符向量。要启用此属性,请将 DataSource 设置为 'MAT-File''MATLAB File'

示例: 'myFile.mat'

示例: 'myFile.m'

数据类型: char

用于初始化变量的 MATLAB 代码,指定为字符向量。要启用此属性,请将 DataSource 设置为 'MATLAB Code'

示例: sprintf('%% Create variables that this model uses.\n\nK = 0.00983;\n\nP = Simulink.Parameter(5);')

数据类型: char

对象函数

getVariable在模型的模型工作区中返回变量的值
getVariablePartGet value of variable property in model workspace
setVariablePartSet property of variable in model workspace
hasVariableDetermine whether variable exists in the model workspace of a model
whosReturn list of variables in the model workspace of a model
saveToSourceSave model workspace changes to the external data source of the model workspace
save将模型工作区的内容保存到 MAT 文件中
reloadReinitialize variables from the data source of a model workspace
evalinEvaluate expression in the model workspace of a model
clear从模型的模型工作区中清除变量
assigninAssign value to variable in the model workspace of a model

示例

全部折叠

在模型的模型工作区中创建一个变量。然后,修改该变量并查询变量值以确认修改。

打开示例模型 vdp

open_system('vdp')

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

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

在模型工作区中创建具有值 5.12 的变量 myVar

assignin(mdlWks,'myVar',5.12)

应用新值 7.22。为此,请首先使用 getVariable 函数创建变量的临时副本。然后,修改副本并使用它覆盖模型工作区中的原始变量。

temp = getVariable(mdlWks,'myVar');
temp = 7.22;
assignin(mdlWks,'myVar',temp)

通过查询变量的值来确认新值。

getVariable(mdlWks,'myVar')
ans =

    7.2200
在 R2006a 之前推出