Simulin万博1manbetxk上的Guy

万博1manbetxSimulink &基于模型的设计

统一MATLAB和Simulink:用户万博1manbetx故事第5部分

本周,我将介绍使用本系列博文中描述的工作流实现的两个示例。
本周的示例比本系列之前介绍的示例更大、更复杂。希望它们有助于更好地说明这个工作流的优点。
您可以从 MATLAB文件交换 ,或克隆 GitHub上的存储库

概述

下载并解压缩File Exchange提交后,您将发现以下内容:

工作流项目

此文件夹包含 项目 制作的核心工作流文件,包括 slPart 类和前面文章中描述的模板库。它还包含一个 程序设计师 我开发的应用程序来操作配置模型的对象。本项目用于 引用的项目 通过下面两节中描述的两个项目。

open万博1manbetxSimulinkExample.m

对象中的示例 万博1manbetxSimulinkExample 文件夹中。顾名思义,这个示例仅使用Simulink实现(没有其他工具箱)。万博1manbetx对于这个示例,我结合了示例中的特性 汽车悬架 和模型 sldemo_suspn_3dof ,可以在多个示例中使用,例如 多重模拟工作流程
此示例模拟车辆悬架的动力学,并且可以配置为模拟具有不同自由度的多种类型的悬架。下面是两自由度纵向构型的示意图:

openSimscapeExample.m

这个脚本打开存储在文件夹中的示例 SimscapeExample .我通过结合Simscape Driveline中的三个例子来实现这个例子:
本例允许您模拟具有不同类型混合动力传动系统的车辆的加速度。
我决定包含这个例子有几个原因。首先,我发现这个工作流特别适合于Simscape物理组件。其次,这说明了相同工作流的核心功能 slPart 类和系统配置器应用程序,适用于不同的项目。
每个项目包含一个活动脚本( walkthroughSL.mlx walkthrough_SSC.mlx ),以指导你如何使用该模型。

模型和数据层次结构

从这个例子中得到的一个主要信息是每一个 slPart 由Simulink子系统和万博1manbetxMATLAB类组成。当在仿真中组装时,这将导致与模型中子系统的层次结构相对应的MATLAB类层次结构。
当您在项目中打开主模型时,您将看到它包含一个子系统,该子系统以一个名为 vehicleObject
类中的一个类实例化来定义此变量 +车辆 包:
下面是子系统的层次结构在模型中的样子:
和对应的MATLAB类层次结构:
在模型中,您可以找到Variant子系统:
在MATLAB中,制表符补全列出了相同的可用变量,您可以通过将其分配给父对象的相应属性来选择活动变量:
您还可以调整参数值。例如,Simulink中的车辆质量万博1manbetx
可以通过车辆对象在MATLAB中修改:
请参阅演练。mlx活脚本在每个项目中进行更多的实例,通过MATLAB代码与模型交互 vehicleObject 变量。

使用MATLAB App配置仿真

为了方便起见,我还在项目中包含了一个我使用MATLAB创建的应用程序 程序设计师 .该应用程序允许您配置代表系统的MATLAB对象。这个应用程序允许你选择一个 slPart ,并编辑其属性或与其他属性交换 slPart 来自同一个家族。请注意,MATLAB工作区中的vehicleObject变量将由应用程序更新。
要开始使用app,我给了你两个选项,这取决于你的喜好:
  • 下载和观看这个5分钟的视频我将向你介绍应用程序的工作原理
  • 使用下面的图片作为“小抄”来开始:

现在轮到你了

MATLAB文件交换 ,或克隆 GitHub上的存储库 请在下面的评论中告诉我们你的想法。如果您喜欢这个工作流,请在下面的评论中告诉我们,您认为MathWorks应该提供什么样的增强或新特性来使这个工作流更简单、更健壮。
|

评论

如欲留言,请点击在这里登录您的MathWorks帐户或创建一个新帐户。