从Symbolic到Simulin万博1manbetxk
我最近参观了MathWorks日本办事处了解到同事做的有趣的工作仁Takeshita.
在他的MATLAB中心提交欧拉方程,仁展示了如何符号数学工具箱通过简单地定义所涉及的能量,可以很容易地得到系统的运动方程。一旦得到运动方程,他就使用符号数学工具箱的代码生成功能来创建一个Simscape组件,并在Simulink中模拟系统。万博1manbetx
我以前从未使用过这个工作流,但它在植物建模和学习系统动力学的工程专业学生等应用程序中非常有用。
让我们看一个使用双质量-弹簧系统的例子:
在MuPAD中建模动态系统
MuPAD是符号数学工具箱的引擎。如果您从未使用过它,我建议您浏览一下开始部分的文档,或阅读一些帖子中的罗兰博客的象征范畴.
在Hitoshi提供的MuPAD Notebook中,您所需要做的就是定义动能,势能而且耗散函数:
笔记本的其余部分实现了欧拉拉格朗日方程:
所以你所需要做的就是评估笔记本:
你应该得到系统的运动方程:
从MuPAD到Simulin万博1manbetxk
现在我们有了系统的运动方程,我们想把它们带入Simulink。万博1manbetx为此,我们使用Simscape语言。
在MuPAD笔记本中,可以使用生成功能:
对象中复制并粘贴此代码方程a段Simscape文件.我们让您编写Simscape的其余部分,这样您就可以按照您想要的方式对方程进行积分。在我的例子中,我创建了一个有两个端口的组件,保持中间质量的运动到我的组件内部。我还修改了由MuPAD自动生成的几个变量的名称:
然后执行ssc_build在这个文件上,并获得一个我可以在Simulink中使用的块:万博1manbetx
使用Simscape模拟结果浏览器我可以看到这两个物体按照预期运动。
现在轮到你了
对于这样一个简单的系统使用这种方法可能不是快速获得工作模拟的最有效方法。
然而,我认为这种方法对于分析复杂系统的植物建模者和试图熟悉拉格朗日力学和运动方程的工程学生来说是非常有趣的。
你需要结合符号操作和Simulink吗?万博1manbetx这里强调的方法与您的应用程序相关吗?让我们知道你的想法这里的评论.
评论
如欲留言,请点击在这里登录您的MathWorks帐户或创建一个新帐户。