中国汽车工程师之家--聚集了汽车行业80%专业人士 

论坛口号:知无不言,言无不尽!QQ:542334618 

本站手机访问:直接在浏览器中输入本站域名即可 

  • 670查看
  • 0回复

[Simulink] 介绍一下simulink的模型工作区(Modal Workspace)

[复制链接]


该用户从未签到

发表于 26-8-2023 15:23:47 | 显示全部楼层 |阅读模式

汽车零部件采购、销售通信录       填写你的培训需求,我们帮你找      招募汽车专业培训老师


simulink模型工作区与 MATLAB 工作区的差异在于每个模型都带有自己的工作区以存储变量值。

simulink模型工作区类似于 MATLAB基础工作区,不同之处是:

模型工作区中的变量仅在该模型的作用域中可见。

如果 MATLAB 工作区和模型工作区都定义了具有相同名称的一个变量,并且该变量不出现在任何中间封装子系统或模型工作区中,则 Simulink软件将在模型工作区中使用该变量的值。

模型的工作区能够有效地为其提供自己的命名空间,从而允许您为模型创建变量,而不存在与其他模型发生冲突的风险。加载模型时,工作区会根据数据源进行初始化。

说个例子

matlab自带的模型:sldemo_househeat

open("sldemo_househeat.slx")

介绍一下simulink的模型工作区(Modal Workspace)w1.jpg

可以正常运行得到结果

介绍一下simulink的模型工作区(Modal Workspace)w2.jpg

查看模型资源管理器,看里面的model workspace,可以看到对应的模型参数

介绍一下simulink的模型工作区(Modal Workspace)w3.jpg

把这个模型另存为一个名字,保存到其他的位置,此时运行模型就会出错,之前定义的参数全部丢失

介绍一下simulink的模型工作区(Modal Workspace)w4.jpg

介绍一下simulink的模型工作区(Modal Workspace)w5.jpg

介绍一下simulink的模型工作区(Modal Workspace)w6.jpg

这个报错的原因是模型在另存为的时候,模型需要的参数都保存在sldemo_househeat_data.m文件,这个文件没有一起保存过来

介绍一下simulink的模型工作区(Modal Workspace)w7.jpg

运行这个参数代码,然后模型就可以正常运行了

介绍一下simulink的模型工作区(Modal Workspace)w8.jpg

但如果想数据还是像源文件一样保存怎么操作了??

找到工作区数据,选择matlab代码,然后点击从源重新初始化,这样所有的数据就全部保存了,模型可以正常运行

介绍一下simulink的模型工作区(Modal Workspace)w9.jpg

介绍一下simulink的模型工作区(Modal Workspace)w10.jpg

结尾多说一点内容:

在Simulink中,模型变量工作区用于管理和操作与模型相关的变量。这些变量可以是模型参数、输入信号、输出信号或其他中间计算结果。模型变量工作区提供了以下功能:
    变量编辑器:变量编辑器是一个表格界面,显示了模型中定义的所有变量及其当前值。你可以使用变量编辑器来查看和修改这些变量的值。它还提供了一些功能,如复制、粘贴、导入和导出变量数据。模型工作空间:模型工作空间是一个用于存储模型变量的集合。你可以将变量添加到模型工作空间中,并在模型中的不同部分使用这些变量。例如,你可以将一个模型参数定义为工作空间中的变量,并在模型的不同块中使用该参数。信号和参数连接:模型变量工作区还提供了信号和参数连接的功能。你可以使用工作区中的变量连接模型的输入和输出信号,以及模块之间的参数。这使得你可以轻松地管理和修改模型的输入和输出。数据存储:模型变量工作区还可以用于存储模型的历史数据。你可以配置模型,使其将模拟结果或实际数据保存到工作区中,以供后续分析和查看。
总而言之,Simulink模型变量工作区是一个集中管理和操作模型相关变量的工具,提供了编辑变量、连接信号和参数、存储数据等功能。通过使用模型变量工作区,你可以更方便地管理和操作与模型相关的变量。

快速发帖

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|Archiver|汽车工程师之家 ( 渝ICP备18012993号-1 )

GMT+8, 22-11-2024 21:00 , Processed in 0.371524 second(s), 30 queries .

Powered by Discuz! X3.5

© 2001-2013 Comsenz Inc.