基于Matlab对多自由度振动系统的数值分析机械工程
- 格式:doc
- 大小:613.62 KB
- 文档页数:7
基于MATLAB的机械振动分析作者:朱妍张侗陈红来源:《价值工程》2014年第16期摘要:大多数情况下机械振动是有害的。
机械振动特别是在共振情况下,可使机器和仪器的功能受到影响,结构和构件损坏或产生变形,因此必须进行有效的控制。
利用MATLAB软件强大的计算分析功能,可以较好地分析振动情况,解决实际问题。
本文利用MATLAB软件对两自由度系统的振动进行了详细分析,通过改变参量的数值研究其运动规律,从而更好地理解振动特点,为实际生产提供理论参考。
Abstract: In most cases, mechanical vibration is harmful. Mechanical vibration, especially in the case of resonance, will affect the performance of the machinery and equipment. Therefore it should be controlled.MATLAB software is powerful in analysis. It can analyse vibration well so that to solve practical problems. The paper, making use of MATLAB, carries out a detailed analysis on two degrees of freedom vibration system by changing the parameters to research the movement. So vibration can be understood better, and a theoretical reference will be supplied for the actual production.关键词:机械振动;MATLAB;阻尼;两自由度Key words: vibration;MATLAB;damping;Two-DOF中图分类号:TH113.1 文献标识码:A 文章编号:1006-4311(2014)16-0035-021 概念综述MATLAB集计算、可视化及编程于一身。
2018年第1期时代农机TIMES AGRICULTURAL MACHINERY第45卷第1期Vol.45No.12018年1月Jan.2018作者简介:刘鸿智(1988-),男,辽宁沈阳人,硕士研究生,助教,主要研究方向:机械设计及理论、机械制造。
基于MATLAB 的机械振动分析研究刘鸿智(,458030)摘要:矩阵工厂的应用是在关于机械振动的问题应用,这说明矩阵实验室的应用可以用来解决一些在机械振动方面的比较复杂的计算和作图等问题,并且很方便且高效。
矩阵实验室对解决机械振动方面的问题有着很多的作用。
所以说,在一些机械振动方面的问题解决可以大力推广矩阵实验室的使用。
矩阵实验室对机械振动的一些系统理论的分析或研究有着一些特定的步骤。
一些系统运用矩阵实验室软件中的数值积分法来对该系统作出分析。
矩阵实验室软件可以用来计算也可以用来编程,在一些问题的提出和表达通常会采用数学描述方法来对一些机械振动的问题进行计算,而不是用传统的语言程序进行处理。
这样会使矩阵实验室成为一些应用程序得到良好的开发。
关键词:机械振动;MATLAB 软件;分析矩阵实验室是对于机械振动问题处理及数值计算的分析软件。
这个软件可以将一些数值及函数调用出来,对相关问题进行运算,这种特征对一些机械振动中经常会遇到的问题及所需要的公式计算提供较为便捷的途径及可以比较方便的去对机械振动涉及到的问题进行计算。
因此对于机械专业并且在学习机械振动又换问题过程中应当采用矩阵实验室软件,使得部分专业人员能够使用矩阵实验室软件进而对专业理论知识进行有效研究,也可以利用矩阵实验室软件来解决机械振动实际上所存在的问题。
机械振动是一个比较普遍的现象,是通过物体的来回运动而使物体发生位移等物理运动。
矩阵实验室软件的出现给一些工程问题的研究与解决带来了很大程度上的方便。
在其它应用软件的使用过程中,一些数值计算的问题可能没有那么容易操作,可能一些数据也没有那么可视化,而矩阵实验室相比之下有很大的改善,给一些机械问题带来很多的便利。
《机械振动基础》大作业(2016年春季学期)题目多自由度振动系统的固有频率和固有阵型姓名学号班级专业报告提交日期哈尔滨工业大学报告要求1.请根据课堂布置的2道大作业题,任选其一,拒绝雷同和抄袭;2.报告最好包含自己的心得、体会或意见、建议等;3.报告统一用该模板撰写,字数不少于3000字,上限不限;4.正文格式:小四号字体,行距为1.25倍行距;5.用A4纸单面打印;左侧装订,1枚钉;6.课程报告需同时提交打印稿和电子文档予以存档,电子文档由班长收齐,统一发送至:liuyingxiang868@。
7.此页不得删除。
评语:成绩(15分):教师签名:年月日基于MATLAB的对多自由度振动系统的固有频率和固有阵型的分析一、利用MATLAB编程求七自由度系统的固有频率和固有振型模型如下图所示系统中各质量为(kg):m1=2;m2=4;m3=5;m4=6;m5=5;m6=4;m7=2;各处弹性系数为(N/m)k1=5;k2=5;k3=5;k4=5;k5=5;k6=5;k7=5;二、实验程序如下:clearclosem1=2;m2=4;m3=5;m4=6;m5=5;m6=4;m7=2;k1=5;k2=5;k3=5;k4=5;k5=5;k6=5;m=[m1,0,0,0,0,0,0;0,m2,0,0,0,0,0;0,0,m3,0,0,0,0;0,0,0,m4,0,0,0;0,0,0,0,m5,0,0;0,0,0,0,0,m6,0;0,0,0,0,0,0,m7];k=[k1+k2,-k2,0,0,0,0,0;-k2,k2+k3,-k3,0,0,0,0;0,-k3,k3+k4,-k4,0,0,0;0,0,-k4,k4+k5,-k5,0,0;0,0,0,-k5,k5+k6,-k6,0;0,0,0,0,-k6,k6+k7,-k7; 0,0,0,0,0,-k7,k7];[V,D]=eig(k,m)for j=1:1:7w(j)=sqrt(D(j,j));for i=1:1:7absV(i,j)=abs(V(i,j)); endendmax=(absV);for j=1:1:7for i=1:1:7V(i,j)=V(i,j)/max(j);endwfigurex=1:7;for a=1:7subplot(3,4,a),plot(x,V(x,a));hold on;grid on;title('振型图');end三、将程序在MATLAB上运行,得到结果如下图(1)多自由度系统的固有频率得到振型图如下图(2)多自由度系统的固有阵型图(2)中分别为本实验条件下,模拟出来小车的振动的阵型图。
MATLAB在机械振动信号中的应用申振(山东理工大学交通与车辆工程学院)摘要:综述了现代信号分析处理理论、方法如时域分析(包括时域参数识别、相关分析等)、频域分析(包括傅立叶变换、功率谱分解等),并结合MATLAB中的相关函数来对所拟合的振动信号进行时域分析和频域分析,并对绘出的频谱图进行说明.关键词:时域分析频域分析 MATLAB信号是信息的载体,采用合适的信号分析处理方法以获取隐藏于传感观测信号中的重要信息(包括时域与频域信息等),对于许多工程应用领域均具有重要意义。
对获取振动噪声信号的分析处理,是进行状态监测、故障诊断、质量检查、源识别、机器产品的动态性能测试与优化设计等工作的重要环节,它可以预先发现机械部件的磨损和缺陷等故障,从而可以提高产品的质量,降低维护费用。
随着测试技术的迅速发展,各种信号分析方法也随之涌现,并广泛应用在各个领域[1]。
时域描述简单直观,只能反映信号的幅值随时间的变化,而不能明确的揭示信号随时间的变化关系。
为了研究信号的频率组成和各频率成分的幅值大小、相位关系,应对信号进行频谱分析,即把时域信号通过适当的数学方法处理变成频率f(或角频率 )为独立变量,相应的幅值或相位为因变量的频域描述。
频域分析法将时域分析法中的微分或差分方程转换为代数方程,有利于问题的分析[2].MATLAB是MathWorks公司于1982年推出的一种功能强大、效率高、交互性好的数值计算和可视化计算机高级语言,它将数值分析、矩阵运算、信号处理和图形显示有机地融合为一体,形成了一个极其方便、用户界面良好的操作环境。
随着其自身版本的不断提高,MATLAB的功能越来越强大,应用范围也越来越广,如广泛应用于信号处理、数字图像处理、仿真、自动化控制、小波分析及神经网络等领域[3].本文主要运用了MATLAB R2014a对机械振动信号进行分析.分析过程包括时域分析和频域分析两大部分,时域分析的指标包括随机信号的均值、方差以及均方值。
基于MATLAB语言的多自由度振动系统的固有频率及主振型
计算分析
文涛; 胡青春
【期刊名称】《《机械设计与制造工程》》
【年(卷),期】2007(036)001
【摘要】多自由度振动系统固有频率及主振型计算分析是研究其振动特性的基础,矩阵迭代法是计算固有频率及主振型的基本方法之一。
根据矩阵迭代的方法,利用MATLAB编程并验证程序的正确性。
通过程序的运行,能快速获得多自由度振动系统的固有频率以及主振型,为设计人员提供了防止系统共振的理论依据,也为初步分析各构件的振动情况以及解耦分析系统响应奠定了基础。
【总页数】4页(P78-81)
【作者】文涛; 胡青春
【作者单位】华南理工大学机械工程学院广东广州 510640
【正文语种】中文
【中图分类】TH113
【相关文献】
1.基于 MATLAB 多自由度单向串联振动系统的计算分析 [J], 于翔;周松
2.天线传动系统扭转振动固有频率计算分析 [J], 王宏杰
3.基于多自由度阻尼振动系统的动力吸振器的理论研究 [J], 杨兴国; 魏显坤; 王茂辉; 石英
4.多自由度非线性振动系统的主振型和主振动 [J], 刘鍊生;黄克累
5.多自由度无阻尼机械振动系统各阶固有角频率与主振型的计算 [J], 冯奇;魏力因版权原因,仅展示原文概要,查看原文内容请购买。
目 录1引言——机械振动的仿真原理 (5)1.1 Matlab Simulink 功能简述 (5)1.2机械振动的物理模型 (5)1.2.1简谐振动的物理模型 (5)1.2.2阻尼振动的物理模型 (6)1.2.3受迫振动的物理模型 (6)1.3 Matlab Simulink 仿真原理简述 (8)2简谐振动方程的解及其模拟仿真 (9)2.1简谐振动方程的求解 (9)2.2简谐振动模型的仿真研究 (9)2.2.1基本模型的建立 (9)2.2.2 速度、加速度的监测 (11)2.2.3 动能、势能、机械能监测 (12)2.3简谐振动的图像分析 (13)3阻尼振动方程的求解和仿真模拟 (15)3.1弹簧振子做阻尼振动方程的求解 (15)3.2弹簧振子做阻尼振动的模拟仿真研究 (15)3.3阻尼振动的图像分析 (18)4受迫振动的方程的求解和仿真模拟 (20)4.1弹簧振子做受迫振动方程的求解 (20)4.2弹簧振子做受迫振动的仿真模拟研究 (21)4.2.1策动力频率0ωω<时弹簧振子的受迫振动仿真模拟 (21)4.2.2策动力频率0ωω>时弹簧振子受迫振动的仿真模拟 (24)4.2.3策动力频率0ωω=时弹簧振子的仿真模拟 (26)4.3受迫振动的图像分析 (27)5几点补充说明与仿真模拟中问题分析 (29)5.1物理振动模型建立的补充说明 (29)5.2方程求解中的补充说明 (29)5.3仿真模拟中的问题分析 (29)6结语 (31)参考文献 (32)附录 (33)致谢 (34)摘要机械振动主要有简谐振动,阻尼振动,受迫振动三种。
对三种振动建立模型,列出振动方程,再对三种振动给定初始条件,就可以利用Matlab Simulink功能对三种振动进行仿真模拟,得出振动的位移,速度,加速度,动能,势能,机械能随时间的变化关系图像。
另外,我们对振动方程求解,得出振子位移关于时间的函数,再分别对其求一阶、二阶导数,就可以得出速度、加速度函数,再经过简单运算就可以得到动能、势能、机械能函数。
燕山大学课程设计(论文)任务书院(系):电气工程学院基层教学单位:说明:此表一式四份,学生、指导教师、基层教学单位、系部各一份。
年月日二、摘要1)MATLAB的简单介绍MATLAB是美国Mathworks公司开发的新一代科学计算软件:MATLAB是英文MATtrix LABoratory(矩阵实验室)的缩写;MATLAB是一个专门为科学计算而设计的可视化计算器。
利用这个计算器中的简单命令,能快速完成其他高级语言只有通过复杂此案出才能实现的数值计算和图形显示。
MATLAB是一种既可交互使用又能解释执行的计算机编程语言。
所谓交互使用,是指用户输入一条语句后立即就能得到该语句的计算结果,而无需像C语言那样首先编写源程序,然后对之进行编译,连接,才能最终形成可执行文件。
MATLAB语言可以用直观的数学表达式来描述问题,从而避开繁琐的底层编程,因此可大大提高工作效率。
MATLAB是解决工程技术问题的技术平台。
利用它能够轻松完成复杂的数值计算,数据分析,符号计算和数据可视化等任务。
MATLAB软件由主包和各类工具箱构成。
其中,主包基本是一个用C/C++等语言编写成的函数库。
该函数库提供矩阵(或数组)的各种算法以及建立在此基础上的各种应用函数和一些相关的用户有好操作界面。
而工具箱从深度和广度上大大扩展了MATLAB主包的功能和应用领域。
随着自身的不断完善和发展,MATLAB功能越来越强大,应用也越来越广泛。
2)信号测试技术与分析随着机械工业不断向自动化、高精度、智能化等方向的发展,在机械设备运行及生产过程中进行参量测试、分析与诊断等处理过程已成为必要环节,许多信号处理方法如时域统计分析、相关分析、相干分析、频谱分析等已经被广泛被应用与机械工程测试领域。
测试信号通常指的是被测对象的运动或状态信息。
测试信号可以用数学表达式描述,也可以用图形、图表等进行描述。
在工程测试中,有的信号可以用数学公式精确描述,而大量的测试信号却只能用数学公式来近似描述。
基于MATLAB的机械系统动力学建模与分析随着科技的不断发展,机械系统的动力学建模与分析在工程领域中变得越来越重要。
在这个过程中,MATLAB作为一种强大的数值计算软件工具,被广泛应用于机械动力学的建模与分析中。
一、MATLAB在机械系统动力学建模中的应用机械系统的动力学建模需要建立一些力学方程,用于描述系统的运动和力学行为。
MATLAB提供了丰富的数值计算和符号计算功能,可以方便地进行动力学方程的建立和求解。
通过MATLAB中的数值分析工具和符号计算工具,可以将机械系统的动力学问题转化为一些数学方程,并利用MATLAB进行求解和分析。
二、机械系统动力学建模的实例以机械摆锤系统为例,介绍MATLAB在机械系统动力学建模与分析中的应用。
摆锤系统是一个经典的振动系统,由摆锤、绳索和支撑点组成。
将摆锤的位置表示为角度,可以利用运动学方程和动力学方程描述系统的运动和力学行为。
1. 运动学建模首先,建立机械摆锤系统的运动学模型。
利用MATLAB中的符号计算工具,可以建立摆锤的角度与时间的关系。
运动学方程可以通过角度关于时间的导数来表示,利用MATLAB中的符号计算工具求解微分方程,得到摆锤角度与时间的关系。
2. 动力学建模其次,建立机械摆锤系统的动力学模型。
利用牛顿第二定律和力矩平衡原理,可以建立摆锤的动力学方程。
通过MATLAB中的数值计算工具,可以利用微分方程求解工具求解动力学方程,得到摆锤的角加速度与时间的关系。
3. 动力学分析最后,利用MATLAB进行机械摆锤系统的动力学分析。
通过数值计算和绘图工具,可以分析系统在不同参数下的动力学行为。
例如,可以研究摆锤的运动轨迹、运动周期和运动幅度等。
利用MATLAB中的数值计算和绘图功能,可以直观地展示系统的动力学性能。
三、MATLAB在机械系统动力学分析中的优势MATLAB作为一种强大的数值计算软件工具,在机械系统动力学分析中具有许多优势。
1. 灵活性MATLAB提供了丰富的数值计算和符号计算功能,可以方便地进行动力学方程的建立和求解。
基于MATLAB的机械振动问题的研究作者:李小保左鹏居荣誉来源:《科技创新与应用》2016年第17期摘要:通过具体的示例介绍MATLAB软件在机械振动问题中的应用,说明利用该软件解决机械振动中的一些复杂计算和作图非常方便高效。
该软件有很大的优势,对于解决机械振动中遇到的问题有很大作用。
所以,可推广使用MATLAB解决一些机械专业遇到的机械振动问题。
关键词:机械振动;MATLAB;应用实例引言MATLAB是一个功能十分强大的工程计算及数值分析软件,该软件自带有很多函数可以直接调用,为机械振动中常遇到的卷积和拉式反变换计算提供了方便快捷的途。
因此,在机械专业的学习过程中使用MATLAB软件,对机械专业人员的理论研究能力和解决实际工程问题的能力都大有裨益。
限于篇幅,下面仅就举出一些该软件在机械振动中的简单应用实例。
例1. 如图1所示为单自由度质量-弹簧-阻尼系统,已知:质量m=1kg,弹簧的刚度系数为k=100,黏性阻尼系数c=4;求在如下外力作用下强迫振动的x-t图像、v-t图像和a-t图像。
1 数学模型的建立(1)系统的振动微分方程的建立如下:(2)脉冲响应函数h(t)的求解:对微分方程的两边作拉氏变换得:设输入的力为单位脉冲,即F(s)=1,X(s)用极点、留数表示的方程为:p1和p2是X(s)两个极点,r1和r2则是对应的留数,则X(s)的拉普拉斯反变换为:即脉冲响应函数为:(3)强迫振动的波形就等于脉冲响应函数h(t)和外加力f(t)作卷积,卷积式如下:2 模型的求解2.1 % 程序m=1;c=4;k=100;dt=0.015; % 输入给定的参数num=[1];den=[m,c,k]; % 分子、分母系数赋值[r,p,k]=residue(num,den); % 求极点、留数t=0:dt:1.2; % 确定步长h=r(1)*exp(p(1)*t)+r(2)*exp(p(2)*t); %求解脉冲响应函数f=[1:10,10*ones(1,70)]; % 给出外加力的采样值x=conv(h,f)*dt; % 把h(t)和f(t)作卷积得x(t)v=diff(x)/dt; % x(t)求导得出速度v(t)a=diff(v)/dt; % v(t)求导得出加速度a(t)subplot(3,1,1),plot(t(1:80),x(1:80)),grid on; %绘x(t)图1subplot(3,1,2),plot(t(1:80),v(1:80)),grid on; %绘v(t)图2subplot(3,1,3),plot(t(1:80),a(1:80)),grid on; %绘a(t)图32.2 求解结果(如图2)3 应用拓展上述实例主要是叙述MATLAB在单自由度机械振动系统中的应用,对于更复杂的机械振动系统MATLAB仍然会发挥出很大的优势对于解决此类问题。
机械工程实验——matlab实验报告1. 引言机械工程是一个涵盖广泛的领域,其实验课程可以帮助学生理解和应用机械原理、设计和制造等方面的知识。
本实验报告将介绍一个基于Matlab软件的机械工程实验,在实验中我们将使用Matlab进行数据分析和建模。
通过这个实验,我们可以深入理解机械工程中的一些重要概念,并学习如何使用Matlab软件进行相关分析。
2. 实验目标本实验旨在通过使用Matlab软件来深入了解机械工程中的一些基本概念,包括数据分析、建模和仿真。
具体目标如下:•学习如何使用Matlab进行数据分析,包括数据的导入、处理和可视化。
•掌握Matlab中常用的数据建模和仿真方法。
•理解机械工程中的一些基本原理,并应用到实验中。
•分析实验结果并提出相应的结论。
3. 实验方法本实验主要分为四个步骤,分别是数据导入与处理、数据可视化、数据建模与仿真以及结果分析。
具体的实验方法如下:3.1 数据导入与处理首先,我们需要收集实验数据,并将数据导入到Matlab软件中。
可以使用Matlab的csvread函数将CSV格式的数据文件导入到Matlab。
然后,我们需要对数据进行预处理,例如去除异常数据和补充缺失数据等。
3.2 数据可视化在数据导入和处理完毕后,我们可以使用Matlab的数据可视化工具对数据进行可视化分析。
例如,可以使用Matlab的plot函数绘制数据的折线图,或者使用scatter函数绘制数据的散点图。
通过可视化分析,我们可以更清晰地了解数据的分布规律。
3.3 数据建模与仿真在数据可视化之后,我们可以使用Matlab的数据建模工具对数据进行建模和仿真。
例如,可以使用Matlab的回归分析工具对数据进行回归分析,并得到拟合的曲线。
此外,还可以使用Matlab的仿真工具对数据进行仿真实验,以验证建立的模型的准确性和有效性。
3.4 结果分析最后,我们需要对实验结果进行分析,并提出相应的结论。
可以比较实验结果与理论预期结果的差异,并对差异进行分析。
matlab编程实现求解基于振型叠加法的多自由度动力学系统的时域和频域响应动力学系统的时域和频域响应可以通过振型叠加法进行计算。
在MATLAB 中,可以通过编写程序来实现该方法的求解。
假设考虑的动力学系统是一个n自由度的系统,其动力学模型可以表示为:M*x'' + C*x' + K*x = F(t)其中,M是质量矩阵,C是阻尼矩阵,K是刚度矩阵,x是位移向量,F(t)是外力向量。
为了使用振型叠加法求解该系统的响应,需要先求解系统的固有振型和固有频率。
可以通过使用MATLAB中的eig函数来计算该系统的特征值和特征向量。
[V, D] = eig(K, M);其中,V是特征向量矩阵,D是特征值矩阵。
通过特征值和特征向量可以得到系统的固有频率和振型:omega_n = sqrt(diag(D)); % 固有频率Phi = V; % 固有振型接下来,可以根据零初条件来计算系统的响应。
可以通过定义初始位移和速度向量,以及外力向量,来求解系统的时域响应。
可以使用MATLAB中的ode45函数来求解非线性微分方程组。
% 定义初始状态向量x0 = [0; 0; ...; 0; 0]; % 位移和速度% 定义外力函数F = @(t) [f1(t); f2(t); ...; fn(t)];% 定义动力学方程odefun = @(t, x) [ x(n+1:2*n); ...; - inv(M)*(C*x(n+1:2*n) + K*x(1:n))+inv(M)*F(t) ];% 运行ode45函数[t, x] = ode45(odefun, [0, T], x0);另外,还可以通过FFT函数来求解该系统的频域响应。
可以通过计算系统的传递函数,并对输入信号进行快速傅里叶变换来得到系统的频域响应。
% 计算系统的传递函数H = inv(j*omega_n.*eye(n) - K + j*C*omega_n).*F;% 对输入信号进行FFT变换N = length(F);F_fft = fft(F);freq = linspace(0, 1/T, N);% 计算系统的频域响应X_fft = H .* F_fft;以上就是使用MATLAB实现基于振型叠加法求解多自由度动力学系统的时域和频域响应的方法。
Matlab技术在机械振动分析中的应用案例引言:机械振动作为机械工程领域中非常重要的研究方向,对于机械设备性能的评估和故障诊断具有关键作用。
随着计算机技术的飞速发展,Matlab作为一种功能强大的数学计算软件,被广泛应用于机械振动领域。
本文将通过介绍一些典型的应用案例,展示Matlab在机械振动分析中的优越性和实用性。
一、弹簧振动分析弹簧振动是机械系统中常见的一种振动形式。
通过Matlab可以方便地建立弹簧振动的数学模型,进行分析和仿真。
以弹簧单自由度系统为例,我们可以通过编写Matlab程序来求解该系统的振动特性,比如自然频率、阻尼比等参数。
此外,Matlab还提供了丰富的绘图功能,可以用来绘制系统的振动曲线和频谱图,进一步分析和评估系统的性能。
二、子午线摆振动分析子午线摆是一种简单而重要的振动系统,在物理实验教学中被广泛应用。
利用Matlab可以实现子午线摆的运动仿真和数据分析。
通过建立子午线摆的运动微分方程,我们可以利用Matlab的数值求解功能来模拟摆的运动过程,并绘制出摆角随时间的变化曲线。
此外,Matlab还可以计算出摆的周期和频率,提供了便捷的数据处理方法,方便进行实验数据的比对和验证。
三、转子系统振动分析转子系统的振动分析是机械工程中一项关键任务。
Matlab提供了大量的信号处理和频谱分析工具,可以用来对转子系统的动态性能进行评估和诊断。
首先,我们可以通过Matlab对转子系统的模态进行分析,求解出转子的模态频率和振型。
接着,利用Matlab的FFT函数进行频谱分析,可以得到转子系统的频谱图,并进一步分析出存在的谐波成分。
通过与参考频谱进行比较,我们可以判断转子系统是否存在异常振动,进而评估其工作状态。
四、车辆悬架系统振动分析车辆悬架系统的振动特性直接影响着驾驶员的驾驶感受和乘坐舒适度。
Matlab在车辆悬架系统的振动分析中发挥着重要作用。
通过建立车辆悬架系统的动力学模型,并利用Matlab进行模拟和仿真,我们可以得到车辆在不同路况下的振动响应。
研究生课程论文封面
课程名称:数值分析
论文题目:基于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;
%计算系统动力矩阵A
if n==1
A(:,:,n)=K\M;
elseif n~=1
A(:,:,n)=A(:,:,n-1)-(MP(:,n-1)\t(:,n-1))*f(:,n-1)*f(:,n-1)'*M;
end
%定义初始迭代向量X(1)
if n==1
X(:,1,n)=[1 1 1]';
elseif n==2
X(:,1,n)=[1 1 -1]';
elseif n==3
X(:,1,n)=[1 -1 1]';
end
%迭代过程,Y为中间矩阵,i为迭代次数
i=1;
Y(:,1,n)=A(:,:,n)*X(:,1,n);
X(:,2,n)=Y(3,1,n).\Y(:,1,n);
while
abs(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);
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 张志涌等,精通MA TLAB[M],北京:北京航空航天大学出版社,2000.。