基于Matlab对多自由度振动系统的数值分析机械工程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
研究生课程论文封面
课程名称:数值分析
论文题目:基于Matlab对多自由度振动系统的数值分析学生班级;机械工程机械电子系3班
学生姓名:陈大爷
任课教师:王师傅
学位类别:学位课(2学分,32学时)
评分标准及分值选题与参阅资料
(分值)
论文内容
(分值)
论文表述
(分值)
创新性
(分值)
评分
论文评语:
总评分评阅教师: 评阅时间年月日
注:此表为每个学生的论文封面,请任课教师填写分项分值
基于Matlab 对多自由度振动系统的数值分析
摘要:多自由度主要研究矩阵的迭代求解,我们在分析抽象的理论的同时根据MATLAB 编程实现数据的迭代最后可以得到所要的数据,使我们的计算更加简便。 关键词: 振动系统;多自由度 ;迭代;MATLAB
引言:在工程振动中,研究某系统振动时,首先要求出系统的固有频率。对于多自由度振动系统,计算系统固有频率与主振型主要有2种方法:(1)利用特征矩阵方程式与特征方程式求解;(2)矩阵迭代法求解【1】。MATLAB 作为一个以矩阵和数组为核心计算的软件,对矩阵迭代法中的矩阵迭代计算尤其适合【2】。
本文主要利用MATLAB 对多自由度系统振动矩阵迭代求解。
一.多自由度振动系统 1.多自由度振动系统的数学模型
多自由度振动系统的数学模型【1】:
[]{}[]{}[]{}{}M x C x K x f ++= (1-1)
其中[]M 、[]C 、[]K 、{}f 和{}x 分别为质量矩阵、阻尼矩阵、刚度矩阵、力向量和响应向量。把这个时域矩阵方程变换到拉氏域(变数为p ),并假定初始位移和初始速度为零,则得:
[][][]{}{}2()()()p M p C K X p F p ++= (1-2)
或 []{}{}()()()Z p X p F p = (1-3)
式中 []()Z p :动刚度矩阵。
对于N 自由度系统,此方程有2N 个复共轭对出现的特征根:
i i i
i
i i j j λσωλσω*
=-+⎧⎨=--⎩ 其中i σ阻尼因子;i ω为阻尼固有频率。 将i φφλλ==和i 带入公式中,得
i i i φλφ=A (1-4)
二.多自由度振动系统的数值分析
1.多自由度振动系统的迭代运算
记1X 为初始迭代列阵,由展开定理,1X 可以表示为
111φa X =n n a a φφ+++ 22 (1-5)
对上式左乘矩阵A ,由式(1-4)得知第一次迭代后所得的列阵为
n n n a a a AX X φλφλφλ+++== 22211112=⎪⎪⎭⎫ ⎝
⎛+++n n n a a a φλλφλλφλ12122111 (1-6) 经第二次迭代后,得
⎥⎥⎦
⎤⎢⎢⎣
⎡⎪⎪⎭⎫ ⎝⎛++⎪⎪⎭⎫ ⎝⎛+==n n n a a a AX X φλλφλλφλ2
122
122112
123 同理第(r-1)次迭代后的结果为
⎥⎥⎦
⎤⎢⎢⎣⎡⎪⎪⎭⎫ ⎝⎛++⎪
⎪⎭⎫ ⎝⎛+==----n r n n r r r r a a a AX X φλλφλλφλ1
121
12
211111
(1-7)
2.矩阵迭代法的实例分析
图1-1 分析图
用矩阵迭代法求解过程如下:
解: 用影响系数法求得系统的质量矩阵和刚度矩阵为
⎥⎥
⎥⎦
⎤
⎢⎢⎢⎣⎡=m m m M 2000000⎥⎥⎥⎦
⎤
⎢⎢⎢⎣⎡----=K K
K K K
K K
K 220
2302 算出K 的逆阵及系统的动力矩阵为
⎥⎥⎥⎦
⎤
⎢⎢
⎢⎣⎡=-5.22122111111
k K ,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡==-5214212111k m M K A 若[]T
X 1111=,第一次迭代后得到
⎥⎥⎥⎦
⎤
⎢⎢⎢⎣⎡==87411k
m AX Y , ()⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡==000000.1857000.0500000.011312Y Y X
k
k
2k
m
2m
m
重复上述步骤,各次的迭代结果列于表1-1。由表可见,经过6次迭代后已有87X X =,
所以第一阶主振型及基频取为⎥⎥⎥⎦
⎤
⎢⎢⎢⎣⎡==000000.1860806
.0462598.071X φ, m
k k
m 373087
.0184210
.711
1
1=
=
λω 表1-1 第一阶主振型的迭代
r
1
2
3
4
5
6
7
r X
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 1λm k 8
7.250000 7.189655 7.184652 7.184245 7.184210
三.利用MATLAB 对多自由度系统振动矩阵迭代求解
1.MATLAB 计算程序
clc; clear;
%建立质量矩阵M ,刚度矩阵K\ syms k m; M=[m 0 0 0 m 0 0 0 2*m]; K=[2*k -k 0 -k 3*k -2*k 0 -2*k 2*k];
%*********迭代第n 阶主阵型******************** %n 为计数器 % n=1;