统一MATLAB和Simulink:用户故事第5部分
本周,我将介绍一组两个使用本系列博客文章中描述的工作流实现的示例。
- 统一MATLAB和Simulink:用户故事第1部分:用MATLAB对象参数化模型
- 统一MATLAB和Simulink:用户故事第2部分:slPart类、块模板和数据变量
- 统一MATLAB和Simulink:用户故事第3部分:用MATLAB对象控制变量
- 统一MATLAB和Simulink:用户故事第4部分:后期处理和可视化记录数据
- 统一MATLAB和Simulink:用户故事第5部分:更大的例子
本周的示例比本系列前面介绍的示例更大、更复杂。希望它们能够更好地说明这个工作流的优点。
概述
下载并解压File Exchange提交文件后,您将看到以下内容:
工作流项目
此文件夹包含
项目
制作的核心工作流文件,包括
slPart
类和在以前的文章中描述的模板库。它还包含
程序设计师
我开发的应用程序来操作对象配置模型。这个项目被用作一个
引用的项目
通过下面两个部分中描述的两个项目。
openSimulinkExample.m
该脚本打开位于
SimulinkExample
文件夹中。顾名思义,这个示例仅使用Simulink实现(没有额外的工具箱)。对于本例,我结合了示例中的特性
汽车悬架
和模型
sldemo_suspn_3dof
,在多个例子中使用,例如
多重模拟工作流程提示
.
本例模拟车辆悬架的动力学,可以配置为模拟具有不同自由度的多种类型的悬架。以下是两个自由度纵向构型的示意图:
openSimscapeExample.m
该脚本打开文件夹中存储的示例
SimscapeExample
.我通过结合Simscape Driveline中的三个例子来实现这个例子:
本例允许您模拟具有不同类型混合动力传动系统的车辆的加速。
我决定包含这个示例有几个原因。首先,我发现这个工作流特别适合Simscape物理组件。其次,这说明了相同的工作流核心功能
slPart
类和系统配置器应用程序,适用于不同的项目。
每个项目都包含一个活动脚本(
walkthroughSL.mlx
或
walkthrough_SSC.mlx
),以指导您完成如何使用该模型的步骤。
模型与数据层次结构
这个例子的一个主要结论是
slPart
由Simulink子系统和MATLAB类组成。当在模拟中组装时,这将导致MATLAB类的层次结构与模型中的子系统的层次结构相对应。
当您打开项目中的主模型时,您将看到它包含一个子系统,该子系统采用一个名为的对象作为参数
vehicleObject
类中的一个类实例化来定义这个变量
+车辆
包:
下面是模型中子系统的层次结构:
和相应的MATLAB类层次结构:
在模型中,您可以找到变体子系统:
在MATLAB中,选项卡补全列出了相同的可用变量,你可以通过将其赋值给父对象的相应属性来选择活动的变量:
您还可以调整参数值。例如,Simulink中车辆的质量
可以在MATLAB中通过车辆对象进行修改:
看到介绍。mlx现场脚本在每个项目中获得更多实例MATLAB代码与模型的交互通过
vehicleObject
变量。
使用MATLAB App进行仿真配置
为了方便,我还在项目中包含了一个MATLAB应用程序,我创建使用
程序设计师
.该应用程序允许您配置代表系统的MATLAB对象。这个应用程序允许你选择一个
slPart
,并编辑其属性或与其他属性交换
slPart
来自同一个家族。注意,MATLAB工作区中的vehicleObject变量将由应用程序更新。
为了开始使用app,我给了你两个选项,取决于你的偏好:
- Dowload看这个5分钟的视频我会告诉你们应用程序是如何工作的
- 使用下面的图片作为“小抄”开始:
现在轮到你了
从以下网站下载示例
MATLAB文件交换
,或克隆
在GitHub库
请在下面的评论中告诉我们你的想法。如果您喜欢这个工作流,请在下面的评论中告诉我们,您认为MathWorks应该提供什么样的增强或新特性,以使这个工作流更简单、更健壮。
- 类别:
- 世界杯预选赛小组名单社区,
- 屏蔽,
- 建模、
- 参数
评论
如欲留言,请点击在这里登录到您的MathWorks帐户或创建一个新帐户。