文档

模型的工作区

的模型工作区差异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文件中

另请参阅

相关的话题