主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

管理模型数据

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

要指定信号、状态和模块参数的值范围、数据类型、可调性和其他特性,您可以使用 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® 命令行窗口、模型数据编辑器或类似工具。

另请参阅

主题