基于Matlab对多自由度振动系统的数值分析机械工程.doc
- 文档编号:1642814
- 上传时间:2022-10-23
- 格式:DOC
- 页数:7
- 大小:613.62KB
基于Matlab对多自由度振动系统的数值分析机械工程.doc
《基于Matlab对多自由度振动系统的数值分析机械工程.doc》由会员分享,可在线阅读,更多相关《基于Matlab对多自由度振动系统的数值分析机械工程.doc(7页珍藏版)》请在冰豆网上搜索。
研究生课程论文封面
课程名称:
数值分析
论文题目:
基于Matlab对多自由度振动系统的数值分析
学生班级;机械工程机械电子系3班
学生姓名:
陈大爷
任课教师:
王师傅
学位类别:
学位课(2学分,32学时)
评分标准及分值
选题与参阅资料
(分值)
论文内容
(分值)
论文表述
(分值)
创新性
(分值)
评分
论文评语:
总评分
评阅教师:
评阅时间
年月日
注:
此表为每个学生的论文封面,请任课教师填写分项分值
基于Matlab对多自由度振动系统的数值分析
摘要:
多自由度主要研究矩阵的迭代求解,我们在分析抽象的理论的同时根据MATLAB编程实现数据的迭代最后可以得到所要的数据,使我们的计算更加简便。
关键词:
振动系统;多自由度;迭代;MATLAB
引言:
在工程振动中,研究某系统振动时,首先要求出系统的固有频率。
对于多自由度振动系统,计算系统固有频率与主振型主要有2种方法:
(1)利用特征矩阵方程式与特征方程式求解;
(2)矩阵迭代法求解【1】。
MATLAB作为一个以矩阵和数组为核心计算的软件,对矩阵迭代法中的矩阵迭代计算尤其适合【2】。
本文主要利用MATLAB对多自由度系统振动矩阵迭代求解。
一.多自由度振动系统
1.多自由度振动系统的数学模型
多自由度振动系统的数学模型【1】:
(1-1)
其中、、、和分别为质量矩阵、阻尼矩阵、刚度矩阵、力向量和响应向量。
把这个时域矩阵方程变换到拉氏域(变数为),并假定初始位移和初始速度为零,则得:
(1-2)
或(1-3)
式中:
动刚度矩阵。
对于自由度系统,此方程有个复共轭对出现的特征根:
其中阻尼因子;为阻尼固有频率。
将带入公式中,得
(1-4)
二.多自由度振动系统的数值分析
1.多自由度振动系统的迭代运算
记为初始迭代列阵,由展开定理,可以表示为
(1-5)
对上式左乘矩阵A,由式(1-4)得知第一次迭代后所得的列阵为
=(1-6)
经第二次迭代后,得
同理第(r-1)次迭代后的结果为
(1-7)
2.矩阵迭代法的实例分析
k
k
2k
m
2m
m
图1-1分析图
用矩阵迭代法求解过程如下:
解:
用影响系数法求得系统的质量矩阵和刚度矩阵为
算出K的逆阵及系统的动力矩阵为
,
若,第一次迭代后得到
,
重复上述步骤,各次的迭代结果列于表1-1。
由表可见,经过6次迭代后已有,所以第一阶主振型及基频取为,
表1-1第一阶主振型的迭代
r
1
2
3
4
5
6
7
1
1
1
0.500000
0.875000
1.000000
0.465517
0.862069
1.000000
0.462830
0.860911
1.000000
0.462617
0.860814
1.000000
0.462598
0.860806
1.000000
0.462598
0.860806
1.000000
8
7.250000
7.189655
7.184652
7.184245
7.184210
三.利用MATLAB对多自由度系统振动矩阵迭代求解
1.MATLAB计算程序
clc;
clear;
%建立质量矩阵M,刚度矩阵K\
symskm;
M=[m00
0m0
002*m];
K=[2*k-k0
-k3*k-2*k
0-2*k2*k];
%*********迭代第n阶主阵型********************
%n为计数器
%
n=1;
whilen<=3
%计算系统动力矩阵A
ifn==1
A(:
:
n)=K\M;
elseifn~=1
A(:
:
n)=A(:
:
n-1)-(MP(:
n-1)\t(:
n-1))*f(:
n-1)*f(:
n-1)'*M;
end
%定义初始迭代向量X
(1)
ifn==1
X(:
1,n)=[111]';
elseifn==2
X(:
1,n)=[11-1]';
elseifn==3
X(:
1,n)=[1-11]';
end
%迭代过程,Y为中间矩阵,i为迭代次数
i=1;
Y(:
1,n)=A(:
:
n)*X(:
1,n);
X(:
2,n)=Y(3,1,n).\Y(:
1,n);
whileabs(X(1,i,n)-X(1,i+1,n))>=0.000001&&abs(X(2,i,n)-X(2,i+1,n))>0.000001
Y(:
i+1,n)=A(:
:
n)*X(:
i+1,n);
X(:
i+2,n)=Y(3,i+1,n).\Y(:
i+1,n);
X(:
2);
i=i+1;
end
%X(:
:
n)
f(:
n)=X(:
i,n);
t(n)=Y(3,i,n);
MP(:
n)=f(:
n)'*M*f(:
n);
n=n+1;
end
%输出数据过程
disp('第一阶主阵型的迭代结果');
X(:
:
1)
disp('第二阶主阵型的迭代结果');
X(:
:
2)
disp('第三阶主阵型的迭代结果');
X(:
:
3)
disp('φi的计算结果,矩阵的每列分别是1,2,3阶的');
f
disp('######******注意***********主阵型的迭代结果后面的0是系统的占位符号,不算计算结果');
2.MATLAB编程计算结果
四.结束语
本文采用MATLAB语言,不仅相对语句少,可读性强,只要输入必要的数据,就可以快速地获得振动系统的固有频率以及主振型【3】。
对设计人员计算复杂多自由度系统固有频率具有参考意义。
参考文献
[1]许本文,焦群英.机械振动与模态分析基础[M].北京:
机械工业出版社,1988.
[2]方治华,贾宏玉,沈利.应用Matlab对有死区的振动系统进行仿真分析[J],包头钢铁学院学报,2004,12.
[3张志涌等,精通MATLAB[M],北京:
北京航空航天大学出版社,2000.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Matlab 自由度 振动 系统 数值 分析 机械工程