主要内容

管理模型数据

要定义多个模块或模型共用的参数值,您可以使用变量。在每个参数实例处单独更新数值参数值可能低效且容易出错。您可以在工作区或定义变量的源文件中更新该变量的值。拥有此信息的单一来源有助于模型组件的可扩展性和可重用性。

要为信号、状态和模块参数指定值、值范围、数据类型、可调性以及其他特征,您可以使用 Simulink.ParameterSimulink.Signal 对象。虽然指定参数值既可以使用变量也可以使用对象,但此示例为简单起见使用变量。

您可以使用以下支持文件类型定义变量:

  • MAT 文件 (.mat)

  • 脚本或函数 (.m)

  • 数据字典 (.sldd)

要加载小型模型的数据,您可以使用模型回调。对于大型模型层次结构,其他加载方法更高效。

当您打开名为 BasicModelingData 的模型时,PreLoadFcn 模型回调会计算在基础工作区中定义变量的脚本。

mdl = "BasicModelingData";
open_system(mdl);
cb = get_param(gcs,"PreLoadFcn")
cb = 
'BasicModelingDataDefinitions'

Base workspace with variable definitions

在被控对象中,Gain 模块使用名为 kcm 的变量。每个 Gain 模块图标显示由该模块使用的变量。

Mechanical system with Gain blocks displaying k, c, and 1/m

在控制器中,PID Controller 模块使用脚本中的其他变量,如 kpHeightkiHeight。当您选择 PID Controller 模块时,属性检查器显示该模块使用的变量。

Controller with Property Inspector displaying parameter values for a PID Controller block

要以交互方式更改变量值,请使用 MATLAB® 命令行窗口、模型数据编辑器或类似工具。

另请参阅

主题