您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 机械/模具设计 > 基于Matlab对多自由度振动系统的数值分析机械工程
研究生课程论文封面课程名称:数值分析论文题目:基于Matlab对多自由度振动系统的数值分析学生班级;机械工程机械电子系3班学生姓名:陈大爷任课教师:王师傅学位类别:学位课(2学分,32学时)评分标准及分值选题与参阅资料(分值)论文内容(分值)论文表述(分值)创新性(分值)评分论文评语:总评分评阅教师:评阅时间年月日注:此表为每个学生的论文封面,请任课教师填写分项分值基于Matlab对多自由度振动系统的数值分析摘要:多自由度主要研究矩阵的迭代求解,我们在分析抽象的理论的同时根据MATLAB编程实现数据的迭代最后可以得到所要的数据,使我们的计算更加简便。关键词:振动系统;多自由度;迭代;MATLAB引言:在工程振动中,研究某系统振动时,首先要求出系统的固有频率。对于多自由度振动系统,计算系统固有频率与主振型主要有2种方法:(1)利用特征矩阵方程式与特征方程式求解;(2)矩阵迭代法求解【1】。MATLAB作为一个以矩阵和数组为核心计算的软件,对矩阵迭代法中的矩阵迭代计算尤其适合【2】。本文主要利用MATLAB对多自由度系统振动矩阵迭代求解。一.多自由度振动系统1.多自由度振动系统的数学模型多自由度振动系统的数学模型【1】:MxCxKxf(1-1)其中M、C、K、f和x分别为质量矩阵、阻尼矩阵、刚度矩阵、力向量和响应向量。把这个时域矩阵方程变换到拉氏域(变数为p),并假定初始位移和初始速度为零,则得:2()()()pMpCKXpFp(1-2)或()()()ZpXpFp(1-3)式中()Zp:动刚度矩阵。对于N自由度系统,此方程有2N个复共轭对出现的特征根:iiiiiijj其中i阻尼因子;i为阻尼固有频率。将i和i带入公式中,得iiiA(1-4)二.多自由度振动系统的数值分析1.多自由度振动系统的迭代运算记1X为初始迭代列阵,由展开定理,1X可以表示为111aXnnaa22(1-5)对上式左乘矩阵A,由式(1-4)得知第一次迭代后所得的列阵为nnnaaaAXX22211112=nnnaaa12122111(1-6)经第二次迭代后,得nnnaaaAXX2122122112123同理第(r-1)次迭代后的结果为nrnnrrrraaaAXX112112211111(1-7)2.矩阵迭代法的实例分析图1-1分析图用矩阵迭代法求解过程如下:解:用影响系数法求得系统的质量矩阵和刚度矩阵为mmmM2000000KKKKKKKK2202302算出K的逆阵及系统的动力矩阵为5.22122111111kK,5214212111kmMKA若TX1111,第一次迭代后得到87411kmAXY,000000.1857000.0500000.011312YYXkk2km2mm重复上述步骤,各次的迭代结果列于表1-1。由表可见,经过6次迭代后已有87XX,所以第一阶主振型及基频取为000000.1860806.0462598.071X,mkkm373087.0184210.71111表1-1第一阶主振型的迭代r1234567rX1110.5000000.8750001.0000000.4655170.8620691.0000000.4628300.8609111.0000000.4626170.8608141.0000000.4625980.8608061.0000000.4625980.8608061.0000001mk87.2500007.1896557.1846527.1842457.184210三.利用MATLAB对多自由度系统振动矩阵迭代求解1.MATLAB计算程序clc;clear;%建立质量矩阵M,刚度矩阵K\symskm;M=[m000m0002*m];K=[2*k-k0-k3*k-2*k0-2*k2*k];%*********迭代第n阶主阵型********************%n为计数器%n=1;whilen=3%计算系统动力矩阵Aifn==1A(:,:,n)=K\M;elseifn~=1A(:,:,n)=A(:,:,n-1)-(MP(:,n-1)\t(:,n-1))*f(:,n-1)*f(:,n-1)'*M;end%定义初始迭代向量X(1)ifn==1X(:,1,n)=[111]';elseifn==2X(:,1,n)=[11-1]';elseifn==3X(:,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.000001Y(:,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阶的');fdisp('######******注意***********主阵型的迭代结果后面的0是系统的占位符号,不算计算结果');2.MATLAB编程计算结果四.结束语本文采用MATLAB语言,不仅相对语句少,可读性强,只要输入必要的数据,就可以快速地获得振动系统的固有频率以及主振型【3】。对设计人员计算复杂多自由度系统固有频率具有参考意义。参考文献[1]许本文,焦群英.机械振动与模态分析基础[M].北京:机械工业出版社,1988.[2]方治华,贾宏玉,沈利.应用Matlab对有死区的振动系统进行仿真分析[J],包头钢铁学院学报,2004,12.[3张志涌等,精通MATLAB[M],北京:北京航空航天大学出版社,2000.
本文标题:基于Matlab对多自由度振动系统的数值分析机械工程
链接地址:https://www.777doc.com/doc-4508212 .html