模型的工作区
的模型工作区差异MATLAB工作空间
每个模型都提供了自己的工作空间,用于存储变量值。
该模型的工作空间类似于基础MATLAB®工作区除了:
模型工作区中的变量仅在模型的作用域中可见。
如果MATLAB工作空间和模型工作空间都定义了一个同名的变量,并且该变量没有出现在任何中间的被屏蔽子系统或模型工作空间中,则Simulink . xml将使用金宝app®软件使用模型工作区中的变量值。模型的工作空间有效地为它提供了自己的名称空间,允许您为模型创建变量,而不会与其他模型发生冲突。
当加载模型时,工作区将从数据源初始化。
数据源可以是Model文件、mat文件、MATLAB文件或存储在模型文件中的MATLAB代码。有关更多信息,请参见数据源.
您可以交互地重新加载和保存mat文件、MATLAB文件和MATLAB代码数据源。
要将信号对象存储在模型工作区中,请将对象的存储类设置为
汽车
.信号对象包括金宝app仿真软件。信号
和你创建的子类。如果指定的存储类不是
汽车
,您必须将信号对象存储在基本工作区或数据字典中,以确保对象在全局Simulink上下文中是惟一的,并可被所有模型访问。金宝app当您存储MATLAB变量和参数对象(如
金宝app仿真软件。参数
)在模型工作区中,应用了一些可调性限制。看到其他建模目标的可调性考虑和限制.此外,如果您存储一个AUTOSAR。参数
对象,代码生成器将忽略您为对象指定的存储类。
请注意
当解析引用模型中使用的变量的引用时,解析引用模型的变量时,就好像父模型不存在一样。例如,假设一个引用模型引用了一个变量,该变量在父模型的工作空间和MATLAB工作空间中都定义了,但在引用模型的工作空间中没有定义。在本例中,使用了MATLAB工作空间。
处理内存问题
当您使用工作区变量作为块参数时,Simulink将在模拟的编译阶段创建该变量的副本,并将该变量存储在内存中。金宝app这可能导致系统在模拟期间或生成代码的过程中耗尽内存。如果您具备以下条件,系统可能会耗尽内存:
具有许多参数的大型模型
具有大量元素的参数的模型
此问题不会影响用于表示生成代码中参数的内存量。
以编程方式操作模型工作区
一个对象金宝app仿真软件。ModelWorkspace
类描述模型工作区。金宝appSimulink为您在Simulink会话期间打开的每个模型创建该类的实例。与这个类相关的方法可以用来完成与模型工作区相关的各种任务,包括:
在模型工作区中列出变量
给变量赋值
评估表达式
清除模型工作区
从数据源重新加载模型工作区
将模型工作区保存到指定的mat文件或MATLAB文件中
将工作空间保存到工作空间指定为数据源的mat文件或MATLAB文件中