声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

声振论坛 展示 振动理论 线性振动 查看内容

多自由度 自由振动 MATLAB 仿真

2015-10-23 10:44| 发布者: aspen| 查看: 3170| 评论: 71|原作者: xuefei01

摘要: 刚刚做的振动初步研究 多自由度无阻尼 系统自由振动分析 M1=1kgM2=10kgk1=10N/mk2=100N/m 初始条件:x(0)=0.05mx’(0)=0 m/sy(0)=0 my’(0)=0m/s; clear M= %质量矩阵 K= % 刚度矩阵 KM=inv(M)*K ...
刚刚做的振动初步研究

多自由度无阻尼 系统自由振动分析
a1.GIF
M1=1kg  M2=10kg  k1=10N/m  k2=100N/m  
初始条件:x(0)=0.05m  x’(0)=0 m/s  y(0)=0 m  y’(0)=0m/s;

  1. clear
  2. M=[1 0;0 10]             %质量矩阵
  3. K=[10 -10; -10 110]       % 刚度矩阵
  4. KM=inv(M)*K           %动力矩阵
  5. [P,W2]=eig(KM);         %求解特征值 和特征向量
  6. P1=P(1,:);
  7. P2=P(2,:);
  8. Mo=[1 1; P2./P1];     %模态
  9. f=sqrt(W2)/(2*pi)     %固有频率
  10. A=[0 1 0 0;-10 0 10 0; 0 0 0 1; 1 0 -11 0];
  11. B=[0; 0 ;0 ;0];
  12. C=[1 0 0 0; 0 0 1 0];
  13. D=0;
  14. sys=ss(A,B,C,D);     %状态方程
  15. t=0:0.01:12;
  16. [y,t1,x]=initial(sys,[0 0 0.05 0],t); %初始条件仿真
  17. subplot(211)
  18. plot(t,y);
  19. Y1=[1 0]*y';
  20. N=1024;
  21. w=fft(Y1,N);         %对输出信号 频谱分析         
  22. subplot(212)
  23. plot(abs(w));
复制代码

经计算结果如下:
a2.GIF

固有频率W^2 =
        7.2984       0
         0      13.7016

振型 Mod=
  1.0000    1.0000
    0.2702    -0.3702


a3.GIF
M1=1kg  M2=2Kg  k1=10N/m  k2=40N/m
初始条件:(1) X(0)=0.028078   X’(0)=0  Y(0)=0.1  Y’(0)=0
           (2)   X(0)=0.17808   X’(0)=0  Y(0)=-0.1  Y’(0)=0

固有频率W^2 =
        7.1922         0
         0        27.8078

振型Mo =
    1.0000    1.0000
    0.2808   -1.7808


a4.GIF

[ 本帖最后由 yejet 于 2006-11-7 15:52 编辑 ]

12下一页
发表评论

最新评论

引用 xuefei01 2006-11-6 09:32
  1. clear
  2. M=[1 0;0 2]          %质量矩阵
  3. K=[10 -10; -10 50]   % 刚度矩阵
  4. KM=inv(M)*K           %动力矩阵
  5. [P,W2]=eig(KM);       %求解特征值 和特征向量
  6. P1=P(1,:);
  7. P2=P(2,:);
  8. Mo=[1 1; P2./P1];     %模态
  9. f=sqrt(W2)/(2*pi)     %固有频率
  10. A=[0 1 0 0;-10 0 10 0; 0 0 0 1; 5 0 -25 0];
  11. B=[0; 0 ;0 ;0];
  12. C=[1 0 0 0; 0 0 1 0];
  13. D=0;
  14. sys=ss(A,B,C,D);     %状态方程
  15. t=0:0.01:10;
  16. [y1,t1,x1]=initial(sys,[0.1 0 0.028078 0],t); %初始条件仿真 (只有一阶模态)
  17. [y2,t2,x2]=initial(sys,[-0.1 0 0.17808 0],t);% 只有二阶模态的初始条件
  18. [y3,t3,x3]=initial(sys,[0.1 0 -0.1 0],t);    % 一般条件
  19. subplot(311);
  20. plot(t1,y1);
  21. subplot(312);
  22. plot(t2,y2);
  23. subplot(313);
  24. plot(t3,y3);
复制代码

[ 本帖最后由 yejet 于 2006-11-7 15:52 编辑 ]
引用 luckromeo 2006-11-9 00:06
楼主,有个问题呀.什么是动力矩阵,这种求固有频率的方法能详细说说吗>?谢谢!
引用 linqus 2006-11-9 11:37
原帖由 luckromeo 于 2006-11-9 00:06 发表
楼主,有个问题呀.什么是动力矩阵,这种求固有频率的方法能详细说说吗>?谢谢!


动力矩阵:
inv(M)*K

clough的书上有说。
引用 junstin 2006-11-22 10:46
原帖由 linqus 于 2006-11-9 11:37 发表


动力矩阵:
inv(M)*K

clough的书上有说。



其实这两行:
KM=inv(M)*K           %动力矩阵
[P,W2]=eig(KM);       %求解特征值 和特征向量

可以通过一个行来搞定:
[P,W2]=eig(K,M) ;          %也可以直接求广义特征值 和特征向量

[ 本帖最后由 junstin 于 2006-11-22 10:47 编辑 ]
引用 dazhi9956 2006-11-29 15:12
给出的程序是两个自由度吧
要是多个自由度呢
振型应该怎么求啊????????
引用 yindijiang 2006-11-30 21:31
上面楼主我发现你的一个错误,系统矩阵和动力矩阵之间存在互逆
KM=inv(M)*K %系统矩阵
inv(K)*M     %动力矩阵
你正好掉了个头,摘自师汉民 机械振动系统
引用 yindijiang 2006-11-30 21:59
能给出具体算式嘛,程序不是很看的懂
引用 vib 2006-12-1 15:54
A=[0 1 0 0;-10 0 10 0; 0 0 0 1; 5 0 -25 0];
B=[0; 0 ;0 ;0];
C=[1 0 0 0; 0 0 1 0];
D=0;
sys=ss(A,B,C,D);     %状态方程

状态方程我不能理解啊,另外initial的命令能不能详细介绍一下,另外楼主能不能介绍一下有关振动在应用matlab的方法获推荐一些资料,我才疏学浅,以前学matlab都是结合信号处理学的,而振动的很多概念也很难理解,没想到这两个结合了起来,开了眼界,希望楼主能在程序中多一些注释,或者在程序前后多一些说明,照顾一下这些后进者,谢谢!
引用 power_2006 2006-12-2 15:03
呵呵,我仿真后的结果和你楼主的不一样,不知道为何?

第一个算例的频率是

f =

    0.4300         0
         0    0.5891


第二个算例的频率是
f =

    0.4268         0
         0    0.8393
引用 xuefei01 2006-12-29 20:42
由刚度矩阵 所求的 特征值为 Wn^2 (固有频率  为 叫频率 单位为 弧度/秒)
进行 开方 得到为Wn (固有频率)  除以 2PI  即 单位为 HZ  所以 会出现 上述值  进行频谱分析时 间隔频率为 采样频率/采样点数
引用 xuefei01 2006-12-29 20:43
由刚度矩阵 所求的 特征值为 Wn^2 (固有频率  为 叫频率 单位为 弧度/秒)
进行 开方 得到为Wn (固有频率)  除以 2PI  即 单位为 HZ  所以 会出现 上述值  进行频谱分析时 间隔频率为 采样频率/采样点数
引用 wendyrong 2007-3-8 16:02
如果是四自由度的系统一下部分要怎么设置呢?我看了帮助,感觉不是很懂,能不能具体讲一下ss?
A=[0 1 0 0;-10 0 10 0; 0 0 0 1; 5 0 -25 0];
B=[0; 0 ;0 ;0];
C=[1 0 0 0; 0 0 1 0];
D=0;
sys=ss(A,B,C,D);     %状态方程
引用 xuefei01 2007-3-13 09:29
对于任何 一个多自由度 振动系统 首先 就是要得出 系统的动力学 方程]
即 得到 质量矩阵M 刚度矩阵 K
关于 求相应仿真部分 A,B,C,D 的求得  看一下现代控制论部分
引用 晴天 2007-3-22 20:21
楼主分析的很好,值得学习
引用 ice_fox 2007-3-23 09:35
原帖由 yindijiang 于 2006-11-30 21:31 发表
上面楼主我发现你的一个错误,系统矩阵和动力矩阵之间存在互逆
KM=inv(M)*K %系统矩阵
inv(K)*M     %动力矩阵
你正好掉了个头,摘自师汉民 机械振动系统


系统矩阵和动力矩阵各代表什么物理意义呢?
再有振型和频率是根据 K*P=w2*M*P 这个公式求解的
也就可以直接 根据六楼的方式直接求出
即[P,W2]=eig(K,M) ;   
可我看论坛上的例子为什么大多是用楼主的方法呢?
引用 xuefei01 2007-3-24 11:35
关于 inv(M)*K 和inv(K)*M 的本质 就在于 刚度 和 柔度 的问题
引用 iewoug 2008-4-20 10:59
对“[y1,t1,x1]=initial(sys,[0.1 0 0.028078 0],t); %初始条件仿真 (只有一阶模态)
[y2,t2,x2]=initial(sys,[-0.1 0 0.17808 0],t);% 只有二阶模态的初始条件”
这句话不太理解
初始条件的按照模态来比例选取,但是自由振动的时候不是各阶模态都包含么。。能说只有一阶或二阶模态的振动么。。
不知道我误解了楼主的意思还是楼主表述的问题。。。
引用 gh688 2008-4-20 13:43
本帖最后由 VibInfo 于 2016-5-9 15:42 编辑
原帖由 xuefei01 于 2006-11-6 09:27 发表

从这几幅时域图形上看这两个信号分别代表速度x'和振幅x,第一幅图的周期最大频率最小两个信号频率相同,第二幅图周期明显比第一个图小但两个信号周期也相同,第三幅图的两个信号包含两个周期其中一个的周期与第一幅图相同另一个与第二幅图相同,估计是这样考虑的他才说成是一阶和二阶模态了,第一幅图是一阶模态,第二幅图是二阶模态,第三幅图是一阶和二阶的混合,估计是这个意思,说法好像有问题。
初始条件的按照模态来比例选取,这个不懂啊,具体是如何按比例取的?
引用 iewoug 2008-4-20 22:34
嗬嗬“初始条件的按照模态来比例选取”这个我是说楼主的设置,不是说我要这么作。。
楼主 三幅图是如下的程序来画的。。

[y1,t1,x1]=initial(sys,[0.1 0 0.028078 0],t); %初始条件仿真 (只有一阶模态)
[y2,t2,x2]=initial(sys,[-0.1 0 0.17808 0],t);% 只有二阶模态的初始条件
[y3,t3,x3]=initial(sys,[0.1 0 -0.1 0],t);    % 一般条件
subplot(311);
plot(t1,y1);
subplot(312);
plot(t2,y2);
subplot(313);
plot(t3,y3);

查看全部评论(71)

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-4-26 23:07 , Processed in 0.044933 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部