加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

在matlab中建立单自由度系统的simulink模型

(2013-03-26 08:27:15)
标签:

单自由度

simulink

matlab

建模

状态空间

分类: matlab

  今天介绍一下怎样在通过Matlab的simulink模块建立单自由度系统的振动模型,这里主要用到的并非Matlab的建模知识,而是有关系统微分方程的建立以及状态空间计算的知识,这也是建立该模型的基础,如果各位对以上两点还不懂,应该离开本文先学习一下以上两个知识点,因为本文不会详细讲解这些,只会一带而过。

一、系统微分方程的建立,对于如下图所示的单自由度系统

http://s11/mw690/5c677847g7c13324a3dea&690

可以建立其运动微分方程:
 http://s14/small/5c677847gd8c90578343d&690

二、在simulink中建立下图所示模型

http://s12/mw690/5c677847gd8c90cfe35bb&690

在此模型中,输入力为正弦激励,所以使用了正弦模块,对于不同的激励只需更换不同的模块即可,有时还可能用到几种模块的组合才能将激励力表达出来。

三、状态空间矩阵的计算

模型非常简单,关键就是中间模块的参数设定问题,一般需要我们设定的参数包括A、B、C、D四个状态空间矩阵以及初始状态向量。中间模块的作用是在输入u的作用下,系统的y输出。例如当设定状态向量z(代表模型中的x,以防和自由度坐标弄混)为http://s2/mw690/5c677847g7c141f67e9d1&690。结合所列系统微分方程,可以得到如下公式:

http://s4/bmiddle/5c677847g7c14206adca3&690

对应模型中的式子可以得到A、B、C、D且输出y为系统的x位移,初始值得设置为所选择状态向量z的运动初始状态z0,默认为[0 ;0],具体设置根据自己的实际情况确定z0.







 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有