matlab程序——无阻尼自由振动不同初速度对位移影响

合集下载

MATLAB系统仿真报告——有阻尼受迫振动系统

MATLAB系统仿真报告——有阻尼受迫振动系统

MATLAB系统仿真报告——有阻尼受迫振动系统摘要:本报告通过MATLAB系统仿真,研究了一维受阻尼受迫振动系统的运动规律。

首先建立了该系统的运动方程,然后通过数值计算方法进行了模拟,并进行了参数分析和振动图像绘制。

结果表明,阻尼系数和外力频率对系统的振动性质有重要影响,阻尼系数越大,振动幅度越小,外力频率的谐振区域越窄。

关键词:阻尼受迫振动系统,MATLAB系统仿真,运动方程,数值计算,参数分析。

1.引言阻尼受迫振动系统是振动学中的基础问题之一,具有很广泛的应用,如建筑物结构的抗震设计、电子设备的振动控制等。

通过数值计算方法对系统进行仿真研究,可以直观地了解系统的振动规律,为工程实际应用提供理论依据。

2.系统建模考虑一维阻尼受迫振动系统,其运动方程可表示为:m*x'' + b*x' + k*x = F0*cos(ω*t) (1)其中,m为质量,b为阻尼系数,k为弹性系数,F0为外力幅值,ω为外力频率。

将该二阶常微分方程转化为一阶微分方程组,得到:x'=v(2)v' = (F0*cos(ω*t) - b*v - k*x)/m (3)3.数值计算通过使用MATLAB的ode45函数,可以对方程组进行数值求解。

根据方程(2)和(3),定义函数damp_force_vibration来求解微分方程组的右侧项:function dx = damp_force_vibration(t, x)m=1;b=0.1;k=1;F0=1;omega = 0.5;dx = zeros(2,1);dx(1) = x(2);dx(2) = (F0*cos(omega*t) - b*x(2) - k*x(1))/m;end然后,使用ode45函数进行数值求解:tspan = [0 100]; % 时间范围x0=[00];%初始条件,位移和速度均为04.参数分析通过修改阻尼系数和外力频率的值,可以观察系统振动的不同特性。

Matlab作业Simulink 振动仿真

Matlab作业Simulink 振动仿真

山东大学Matlab 课程作业学院:机械工程学院专业:姓名:学号:基于Simulink仿真得振动学问题解决实例1.单自由度无阻尼自由振动仿真表达式:仿真框图:参数设置:k=100N/m m=4kg初始状态:初速度为0 初始位移为5仿真结果:2.简谐波形得里沙茹图形分析仿真框图:参数设置:K=100m=4→rad/sSin wave参数设置:Amplitude1 ;Frequency 5 1015初始状态:①→φ=②→φ=③=1,=5→φ=45;④=1,=−5→φ=135;⑤=0,=−1→φ=180XY Graph参数x-min -2;x-max 2;y-min—2; y-max 2Frequency 5时仿真结果:Frequency 10时仿真结果:Frequency 15时仿真结果:3.单自由度有阻尼自由振动表达式:仿真框图:参数设置:ﻫ令k=100,m=10,c=10 初始状态:ﻫ初始速度为0,位移为1仿真结果:4、衰减振荡得阻尼比得估计参数:k=100,m=10,c=2初始条件:x0=1,v0=0仿真图框:初始振幅为1,约7个周期时衰减为0、25,对数减幅:δ=(ln4)/7≈0、099阻尼比§≈δ/2≈0、032理论值§=0、5c(km)−0、5≈0、0325、单自由度有阻尼+正弦激励表达式:令激励则方程变形为参数设置:令k=4,m=1,c=0、2初始状态:ﻫ初始速度为0,位移为0、05 仿真框图:仿真结果:6、利用速度共振得里沙茹图进行固有频率与阻尼系数分析仿真框图:改变激励频率:=1、2;1、6;1、8;1、9;1、95;2;2、05;2、1;2、2等7、两自由度无阻尼系统自由振动表达式:参数设置:m1=1,m2=2 k1=1,k2=1,k3=2初始状态:①速度0,m1、m2位移均为1②速度0,m1位移1,m2位移−0、5③速度0,m1位移1,m2位移0 仿真结果:①②③。

matlab机械原理运动解析

matlab机械原理运动解析

matlab机械原理运动解析MATLAB机械原理运动解析是指使用MATLAB软件进行机械系统的运动学和动力学分析的过程。

通过建立数学模型,运用MATLAB进行编程计算,可以实现对机械系统的运动规律、动态特性和性能进行评估和预测。

具体来说,MATLAB机械原理运动解析包括以下步骤:1.建立数学模型:根据机械系统的物理模型,建立相应的数学模型,包括运动学和动力学方程。

这些方程可以描述系统的位移、速度、加速度、力矩等物理量之间的关系。

2.编写MATLAB程序:根据建立的数学模型,使用MATLAB编程语言编写程序,进行数值计算和分析。

MATLAB提供了丰富的数值计算函数库和图形界面工具,方便用户进行数据处理和可视化。

3.数值求解:通过MATLAB的数值计算功能,求解数学模型中的方程,得到机械系统的运动学和动力学特性。

这包括求解位置、速度、加速度等物理量的时间历程,以及分析系统的稳定性和振动等动态行为。

4.结果分析和优化:根据计算结果,对机械系统的性能进行分析和评估。

如果需要改进系统的性能,可以对数学模型进行优化设计,并重新进行数值计算和验证。

至于具体的MATLAB机械原理运动解析示例,比如平面连杆机构的分析,可以通过封闭矢量多边形法求解位置方程,得到构件的位置、速度和加速度;或者采用解析法进行机构运动分析,通过建立数学模型并对其进行封闭矢量多边形法求解,得到构件的运动规律。

此外,还可以使用MATLAB对其他类型的机械系统进行运动学和动力学分析,例如齿轮传动系统、凸轮机构等。

总之,MATLAB机械原理运动解析是一种基于数学模型的计算机辅助分析方法,通过MATLAB编程实现机械系统的运动学和动力学分析,有助于优化机械系统的设计和性能。

[整理]matlab二自由度系统振动.

[整理]matlab二自由度系统振动.

利用Adams 和Matlab 对二自由度系统振动进行仿真与分析一、实验思想Adams 是一种可以对一些典型运动进行高效仿真的软件,本实验是利用Adams 对二自由度系统振动进行仿真及分析,再和理论公式对比,并用另外一种常见的仿真软件Matlab 的仿真结果进行对比,观察两者的差异,分析软件仿真产生差异的原因,加深对二自由度系统振动的理解。

二、二自由度系统振动分析固有频率取决于系统本身物理性质,而与初始条件无关。

对于二自由度的振动系统是有两种频率的简谐波组成的复合运动,这两个频率都是系统的固有频率。

主振型是当系统按固有频率作自由振动时,称为主振动。

系统作主振动时,任何瞬时各个运动坐标之间具有一定的相对比值,即整个系统具有确定的振动形态,称为主振型。

强迫振动是振动系统在周期性的外力作用下,其所发生的振动称为强迫振动,这个周期性的外力称为驱动力。

三、二自由度系统自由振动1.建立二自由度系统振动模型1)创建底座:先生成一个尺寸合适的长方体基体,再使用add to part 指令创建底座的侧壁。

2)使用new part 指令分别创建两个滑块,创建滑块时应注意滑块与滑块、滑块与侧壁之间的尺寸适当。

3)弹簧连接:分别用弹簧链接滑块、侧壁的中心点。

弹簧生成后,依次选中弹簧,在modify 选项中的stiffness and damping 下拉菜单中将damping coefficient 设置成no damping,即弹簧无阻尼。

添加约束:底座和地面固定,滑块和底座用滑动副连接。

弹簧刚度分别改为1、1、2(newton/mm)滑块质量分别为1.0 2.0滑块与机体滑动副的阻尼改为1.0E-0072.模型展示3.运动仿真结果设置x10=12经过Adams 运算后,滑块1、2 运动状态如图所示:4.matlab验证程序:k1=1000;k2=1000;k3=2000;m1=1;m2=2;a=(k1+k2)/m1;b=k2/m1;c=k2/m2;d=(k2+k3)/m2;[x1x2]=dsolve('D2x1+2000*x1-1000*x2=0','2*D2x2-1000*x1+3000*x2=0','x 1(0)=0.012','x2(0)=0','Dx1(0)=0','Dx2(0)=0','t')t1=0:0.01:2;;x1=subs(x1,'t',t1);x2=subs(x2,'t',t1);figureplot(t1,x1,'-');title('系统响应x(1)曲线');xlabel('时间/s');ylabel('位移/m');figureplot(t1,x2,'-');title('系统响应x(2)曲线');xlabel('时间/s');ylabel('位移/m');计算结果:5.结果分析存在差异的原因是Adams 仿真中并没有完全忽略摩擦力,而Matlab 计算时没有考虑摩擦,故存在差异,但是在允许范围内。

MATLAB计算方法和技巧6_2阻尼振动

MATLAB计算方法和技巧6_2阻尼振动

弹簧振子的阻尼振动[问题]一弹簧振子的质量为m ,倔强系数为k 。

振子还受到与速度大小成正比、方向相反的阻力,比例系数为γ。

当振子从静止开始运动时,初位移为A 。

物体的运动规律是什么?不同的阻尼下的运动曲线和速度曲线有什么特点?[数学模型]根据牛顿运动定律,物体运动的微分方程为22d d d d x x m kx t t γ=--,(6.2.1)取k /m =ω02,γ/m =2β,ω0就是无阻尼时物体的固有角频率,β是阻尼因子。

物体的运动方程可表示为2202d d 20d d x x x t tβω++=。

(6.2.2)设微分方程的解为x =e rt ,代入上式可得特征方程r 2-2βr +ω02=0。

(6.2.3)特征方程的解为r β=-±,(6.2.4)设α=,α可以是实数和零以及虚数,则r 1=-β+α,r 2=-β–α,r 1和r 2可以是实数或复数。

微分方程的解为121212e e e (e e )r t r t t t t x C C C C βαα--=+=+,(6.2.5)其中C 1和C 2是由初始条件决定的常数。

物体的速度为12112212d e e e [()e ()e ]d r t r t t t t x v C r C r C C tβααβαβα--==+=-++--。

(6.2.6)当t =0时,x =A ,v =0,因此可得A =C 1+C 2,0=C 1(-β+α)+C 2(-β-α),(6.2.7)如果β≠ω0,即α≠0,解得两个常数分别为12C A αβα+=,22C A αβα-=。

因此物体的位移为e [()e ()e ]2t t t A x βαααβαβα--=++-。

(6.2.8)[讨论]①当β>ω0时,即α>0,上式就是过阻尼的情况。

②当β→ω0时,即α→0,不论用罗必塔法则还是用公式e αt →1+αt 和e -αt →1-αt ,都可得00(1)e t x A t ωω-=+。

MATLAB在分析物体振动方面的应用

MATLAB在分析物体振动方面的应用

《MATLAB语言》课程论文MATLAB在分析物体振动方面的应用姓名:邢晓佳学号:12010245256专业:通信工程班级:2010级通信班指导老师:汤全武学院:物理电气信息学院完成日期:2011年12月10日MATLAB在分析物体振动方面的应用(邢晓佳 12010245256 2010级通信班)[摘要]运用MATLAB语言很容易的解决了物理中常见的物体振动方面的题目,通过用MATLAB 计算阻尼振动中的单摆,简谐运动,弹簧振子的问题,更加鲜明的显示出了MATLAB的强大功能,实验结果表明这一方法具有操作简单明了!运算速度快,计算误差可控制等优点。

形象直观的显示图形和结论,利于研究和学习。

[关键词MATLAB 计算振动李萨如图简谐运动一、问题的提出振动是物体的一种很普通的运动形式,所谓机械振动是物体在一定位置附近所作的周期性往返运动。

例如,在心脏的跳动、钟摆的摆动、活塞的往复运动、固体原子的振动等等。

物体振动这样一个看似简单但又包含着很多计算的运动中,在人为的计算是很难精确的实现,而通过MATLAB可以处理诸多科学中的许多问题,利用它来研究物理学中的机械振动,不仅特别还特别有效。

这种运动都是在某一数值附近作往复的周期性运动,而在我们所学过的知识中,我们仅仅能解决的只是一些非常理想的振动—无阻尼振动,在处理这些问题时,遇到的问题都是容易解决的,不需要很复杂的变换,以及涉及一些特殊角度问题,以及在绘制振动图形时也会存在着一定的复杂性和难度,这些问题在MATLAB中都可以很容易解决。

下面就来简单介绍一下MATLAB在物体振动方面的具体应用。

MATLAB语言是当今国际上科学界 (尤其是自动控制领域) 最具影响力、也是最有活力的软件。

,MATLAB语言是美国Math Works 公司开发的计算机软件,经过多年的发展与完善。

现已成为国际上最流行的科学与工程计算的软件工具。

它集数值分析、矩阵运算、信号处理和图像处理等功能于一体,提供了一个方便的、界面友好的用户环境,而且还具有可扩展性特征。

Matlab软件在单摆自由振动中的应用探索

Matlab软件在单摆自由振动中的应用探索

Matlab软件在单摆自由振动中的应用探索作者:郭娜朱奕奕来源:《电子技术与软件工程》2015年第10期自由振动主要是指在系统振动的整个过程中,没有激励作用产生的振动,可以分为阻尼振动或者是无阻尼振动两种。

本文主要利用Matlab软件对产生的单摆自由振动进行深入的分析与探究,分别讲述了大角度自由振动具有的单摆周期以及其中的角振幅具有的基本关系,进行大角度自由振动单摆具有的相图以及大角度进行阻尼振动具体的单摆相图等内容。

【关键词】Matlab软件单摆自由振动应用探索单摆不受到任何的激励作用得出一种最简单的自由振动基本模型,进行大角度摆动的过程中,其中的动力学方程属于一种非线性的方程。

所以,会表现出具有非线性系统特性的一种非常复杂的行为,并成为了经典力学与非线性力学重要的沟通桥梁。

想要说明非线性力学的相关内容非常的复杂,只有应用Matlab软件中具有的微分方程进行求解并使用其中的可视化功能,才能真正的表述清楚。

本文主要利用Matlab软件对单摆自由振动进行了深入的研究,并从直观的角度分析了单摆在主要的几种条件下具体的振动运动情况。

1 大角度自由振动具有的单摆周期以及其中的角振幅具有的基本关系想要准确的分析机械结构具有的振动特性,首先需要删除一些比较次要的因素,并将其合理的简化成一种简单的动力学模型,与此同时,确定具体的自由度数。

例如,摆动,其中最简单就是在固定的保守力场中,形成的无阻尼单摆基本模型。

2 进行大角度自由振动单摆具有的相图相图表示的是相互平衡系统以及一些重要的参数包括角度或者是能量之间具有的基本关系图,利用图像进行仔细的观察与分析能够准确的判断系统具有的稳定性,或者是渐近稳定性。

如果E 2mgl,这就表示摆在势场中将会进行定向运动,并且它的轨迹将会是两条永远不相交的曲线。

其中的θ 趋向于± ∞。

如果E =2mgl,表示整个运动处于一种临界的状态,并且下一时刻出现的一些运动行为并没有确定性,出现非线性情况。

matlab计算单自由度振动反应的程序

matlab计算单自由度振动反应的程序

一、引言在工程领域中,单自由度振动系统是一种常见的动力学模型,其在建筑结构、机械设备等领域都有重要的应用。

而计算单自由度振动系统的反应是工程设计和分析中的重要任务之一,对于系统的稳定性、安全性等具有重要意义。

为了快速而准确地计算单自由度振动系统的反应,工程师和研究人员常常使用MATLAB编写程序来实现计算。

二、MATLAB在单自由度振动反应计算中的优势1. 灵活性:MATLAB是一种功能强大的编程语言和工具,可以实现复杂的算法和数学模型,能够满足工程设计和分析中的各种需求。

2. 可视化:MATLAB具有丰富的绘图和可视化功能,可以直观地展示单自由度振动系统的反应结果,使工程师和研究人员更好地理解系统的运动特性。

3. 高效性:MATLAB提供了丰富的计算和求解工具,可以快速而准确地计算单自由度振动系统的反应,节约了工程师和研究人员的时间和精力。

三、MATLAB编写单自由度振动反应计算程序的基本步骤1. 确定系统参数:首先需要确定单自由度振动系统的质量、刚度、阻尼系数等参数,这些参数将影响系统的振动响应。

2. 构建系统模型:根据系统的参数和运动方程,可以利用MATLAB编写对应的单自由度振动系统模型。

3. 求解运动方程:利用MATLAB提供的求解工具,可以求解单自由度振动系统的运动方程,得到系统的振动响应。

4. 可视化结果:最后可以利用MATLAB的绘图和可视化工具,将系统的振动响应以图表的形式展现出来,便于工程师和研究人员对系统的运动特性进行分析和评估。

四、MATLAB编写单自由度振动反应计算程序的示例代码以下是一个简单的MATLAB示例代码,用于计算单自由度振动系统的阻尼比为0.2时的阻尼比对应的阻尼比比,供读者参考。

```matlab定义系统参数m = 1; 质量k = 10; 刚度zeta = 0.2; 阻尼比omega_n = sqrt(k / m); 自然频率计算阻尼比对应的阻尼比比omega_d = omega_n * sqrt(1 - zeta^2);disp(['阻尼比对应的阻尼比比为:', num2str(omega_d /omega_n)]);```通过上述示例代码,可以看出MATLAB的编写方式简单明了,利用MATLAB可以快速计算单自由度振动系统的各种响应参数。

第三章 MATLAB在力学中的应用

第三章  MATLAB在力学中的应用

3-3 机械振动物体在平衡位置附近的往返叫做振动或机械振动。

振动的传播称为波,机械振动的传播称为机械波。

振动和波动是涉及物理及众多领域的一种非常普遍而重要的运动形式,研究振动和波动的意义已远远超过了力学的范围。

本节利用MATLAB 来处理机械振动的一些问题。

3.3.1简谐振动质点在线性回复力作用下围绕平衡位置的运动称为简谐远动,它是最基本的振动。

下面,我们通过两个例子来讨论简谐运动的动力学和运动学特征。

(1) 弹簧振子系统的简谐运动·题目(ex3311)设弹簧阵子系统由质量为m 的滑块和劲度系数为k 的弹簧所组成已知t=0时,m 在A 处,即x 0=A ,并由静止开始释放。

试研究滑块的运动规律。

·解题分析以x 表示质点相对原点的位移,线性回复力f=-kx 。

由牛顿第二定律以及题设条件,可写出弹簧振子的振动微分防尘及初始条件为22t 0(0)(0)0d x k x dtm x A dx v dt=+====滑块速度分别为22dx v dy d x a dt==令2,k mω=用符号法求解上述微分方程,求出运动方程、速度和加速度,并绘制出,()x t v x a x ---相轨迹和曲线。

(2) 单摆·题目(ex3313)设单摆的摆长为l ,摆锤质量为,将摆锤拉开一角度θ,然后放开使其自由摆动。

在不计空气阻力的情况下,分小摆角和大摆角两种情况,讨论单摆的角位移θ随时间t 的变化规律。

·解题分析由牛顿第二定律,有222sin sin ,d g dtlθθωθω=-=-=其中,g 为重力加速度。

① 小角摆动假定角位移很小,sin θ≈θ,上式为220d g dtlθθ+=② 大角摆动222sin sin d g dtlθθωθ=-=-上式是非线性方程。

为了方便起见,将θ用y 来表示,上式又可以写为下列一阶微分方程组1221;sin()dy dy g y y dtdtl==-用MATLAB 编程解此方程组。

车辆滑移 卡尔曼滤波 matlab

车辆滑移 卡尔曼滤波 matlab

车辆滑移卡尔曼滤波MATLAB一、概述1.1 车辆滑移问题在汽车运动过程中,由于路面的特性以及车辆自身的动力、悬挂等特点,会产生车辆滑移的现象。

这种滑移会对车辆的操控性能产生影响,因此对车辆滑移进行准确的检测和控制是非常重要的。

1.2 卡尔曼滤波卡尔曼滤波是一种利用系统的动力学方程和观测方程,通过对系统状态的概率分布进行推断,实现对系统状态进行估计的一种最优滤波方法。

在车辆滑移问题中,通过采集车辆速度、角速度等传感器的数据,可以利用卡尔曼滤波对车辆的滑移状态进行估计和预测。

1.3 MATLABMATLAB是一种强大的科学计算软件,具有丰富的数学工具箱和绘图功能,能够很好地用于车辆动力学模拟和滤波算法的实现。

二、车辆滑移检测2.1 传感器数据采集在进行车辆滑移检测时,需要利用车辆上安装的速度传感器、陀螺仪等传感器采集车辆的运动数据,如车速、横摆角速度等信息。

2.2 车辆动力学模型根据车辆的动力学特性,可以建立车辆的运动方程和状态方程,用于描述车辆在运动过程中的状态变化,如车速、横摆角速度等。

2.3 卡尔曼滤波算法利用卡尔曼滤波算法,可以对传感器采集的数据进行处理和融合,得到对车辆滑移状态的估计。

通过不断地更新滤波器的状态和观测方程,可以实现对车辆滑移状态的精确估计。

2.4 MATLAB实现利用MATLAB编程工具,可以将车辆动力学模型和卡尔曼滤波算法进行实现和仿真,对车辆的滑移状态进行检测和分析。

三、结果分析3.1 仿真数据通过MATLAB对车辆滑移检测算法进行仿真,可以得到车辆滑移状态随时间的变化曲线,以及滤波器对真实状态的估计曲线。

3.2 精度评估根据仿真结果,可以对滤波器的估计精度进行评估和分析,比较滤波器估计结果与传感器真实数据的差异,从而评价滤波算法的准确性和稳定性。

3.3 算法调优根据分析结果,可以对滑移检测算法的参数进行调优和改进,以提高算法对车辆滑移状态的准确估计能力。

四、结论4.1 算法优势通过车辆滑移检测的仿真与实验分析,可以得出结论,利用卡尔曼滤波算法结合MATLAB编程工具,可以较为准确地对车辆滑移状态进行估计和检测,为车辆操控性能的提升提供有效手段。

基于MATLAB的振动模态分析

基于MATLAB的振动模态分析

摘要振动系统是研究机械振动的运动学和动力学,研究单自由系统的振动有着实际意义,因为工程上有许多问题通过简化,用单自由度系统的振动理论就能得到满意的结果。

模态是振动系统的一种固有振动特性,模态一般包含频率、振型、阻尼。

振动系统问题是个比较虚拟的问题,比较抽象的理论分析,对于问题的分析可以实体化建立数学模型,通过MATLAB可以转化成为图像。

单自由度频率、阻尼、振型的分析,我们可以建立数学模型,最后通过利用MATLAB编程实现数据图形;多自由度主要研究矩阵的迭代求解,我们在分析抽象的理论的同时根据MATLAB编程实现数据的迭代最后可以得到所要的数据,使我们的计算更加简便。

利用MATLAB编程并验证程序的正确性。

通过程序的运行,能快速获得多自由度振动系统的固有频率以及主振型,为设计人员提供了防止系统共振的理论依据,也为初步分析各构件的振动情况以及解耦分析系统响应奠定了基础。

关键词:振动系统;单自由度;MATLAB;多自由度AbstractVibration system is to study the kinematics and dynamics of mechanical vibration, the vibration of a single free system has practical significance, because there are many engineering problems by simplifying, using the vibration theory of a single degree of freedom system can be satisfied with the results.Vibration system problems is a relatively virtual problems, more abstract and theoretical analysis, problem analysis for a mathematical model can be materialized by MATLAB can be converted into images. Single degree of freedom frequency, damping, mode shape analysis, we can create mathematical models, the final program data through the use of MATLAB graphics; many degrees of freedom main matrix iterative solution, our analysis based on abstract theory, while MATLAB programming The last iteration of data can be the desired data, so our calculations easierUsing MATLAB programming and verify the correctness of the program.Through the process of operation, can quickly obtain multiple degrees of freedom vibration system and the main vibration mode natural frequency for the design to prevent resonance provide the theoretical basis for the preliminary analysis of the vibration of each component, and laid the decoupling of system response basis.Key words:vibrating system; Single Degree of Freedom ;MATLAB; multiple degree offreedom辽宁工程技术大学毕业设计(论文)1 绪论1.1问题的提出机械振动是一门既古老又年轻的科学,随着人类科学技术的不断进步振动理论得到不断的发展和完善。

基于Matlab 的发动机悬置系统的固有频率和主振型计算

基于Matlab 的发动机悬置系统的固有频率和主振型计算

基于Matlab 的发动机悬置系统的固有频率和主振型计算(二)3 运用MATLAB 对动力总成悬置系统固有特性的计算3.1 理论计算动力总成系统固有特性的计算, 即计算系统的固有频率和振型。

动力总成悬置系统无阻尼的自由振动微分方程:式中: M——对称正定惯性矩阵;K——对称正定刚度矩阵。

求多自由度振动系统的固有频率, 从数学上讲就是求特征值的问题:设式(13)的解为: X=Xsin(ωt+a)代入式(13)化简后得: KX=ω2MX左乘M- 1 得: M- 1KX=ω2X (14)令M- 1K=A, 则: AX=ω2X (15)ω2 即为A 阵的特征值, X 为其特征向量。

由于M 对称正定, K 也是对称阵, 因而式(13)是广义特征值问题。

可用广义特征值的方法求得特征值及特征向量, 所求特征值即为系统的固有频率。

3.2 MATLAB 计算过程Matlab 是Matrix Laboratory (矩阵实验室)的缩写, 它是由美国Mathwork 公司于1967 年推出的软件包, 已发展为一种功能强大的计算机语言, 特别适合于科学与工程计算。

(1)将动力总成系统质量参数代入式(6)可得惯性矩阵M。

(2)将各悬置点的位置参数及悬置块的主刚度代入, 可得EiBiDi。

再根据式(12)求得总体的刚度矩阵K。

(3)编制Matlab 程序, 由上述(1)、(2)得到矩阵M, K, 由式(14)、(15)即可求得A。

(4)由式(15), 通过Matlab 命令eig (A),即可求出矩阵A 的特征值ω2。

利用公式ω2=2πf,即可得到悬置系统的各个振动固有频率f。

4 振动占优方向的判定在系统定坐标系中, 根据系统的质量矩阵[M] 及振型矩阵, 可以求出系统在做各阶主振动时的能量分布, 将它写成矩阵形式, 定义为能量分布矩阵[EG]j。

当系统以第j 阶固有频率振动时,此矩阵的(k, j)元素为:式中:[M]kl——质量矩阵的(k, j)元素;{u( j)}k——第j 阶振型列阵的第k 个元素;{u( j)}1——第j 阶振型列阵的第l 个元素;ωj——为第j 阶固有频率。

试析MATLAB在汽车振动分析及控制中的运用

试析MATLAB在汽车振动分析及控制中的运用

试析MATLAB在汽车振动分析及控制中的运用摘要:随着汽车振动会对汽车造成一定的危害,影响汽车的正常运行,因此要对汽车振动的原因进行分析,并提出合理的解决对策。

而MATLAB在汽车有巨大的作用,既能够应用与汽车的振动分析和控制中,还能够预测到汽车的反映,在实际中有较高的使用价值。

关键词:汽车振动;MATLAB;控制;应用在实际中汽车振动具有巨大的危害,因此一方面为了减少振动对汽车的零部件和使用性能造成的损害,另一方面还要针对汽车振动进行研究,尽量把汽车振动运用到汽车设计的服务中来,同时还要尽量利用振动的原理来制造推动机,减少汽车部件工作的强度,从而来提高工作效率。

1.汽车振动产生的原因分析机械的振动实际上是一种形式特殊的运动,构成振动系统的主要因素有阻尼、弹性、质量以及激励。

汽车本身就是具有阻尼、弹簧以及质量的系统,在汽车内部各部分具有不同的频率,因而汽车在平时的行驶中就往往会因为路面不平坦、运动方向以及车速的改变、发动机车轮与传送系统不平衡、汽车齿轮之间的冲击等各种内部与外部的激振作用造成汽车的局部或者是整体发生强烈的振动。

这种振动现象就会使汽车在运动时由于动力性能没有得到充分的发挥就容易出现一些问题。

另外,振动还会对汽车操作的平顺性与稳定性以及汽车的通过性造成不利的影响,还会使乘员在乘坐时产生不舒服的感觉,严重情况下还会对汽车的零部件造成损坏,缩短汽车正常的使用寿命。

2. 汽车振动的理论分析2.1.汽车振动的模型在实际中当一个振动系统比较复杂的时候,而建立的相应的模型也比较复杂,就越接近于真实的情况,相应的模拟情况就越真实,但是这却增加了对系统分析的难度,所以在建立振动的力学模型时就需要在逼真模拟与系统分析之间找出一个平衡点。

在进行汽车振动分析时需要把握的一个关键因素就是在实际中要根据研究的要求和研究内容,把研究的对象和外界的作用力进行简化,同时还要保证简化的模型能够与原来的系统模型在动态分析方面进行等效对比。

结构动力学使用中心差分法计算单自由度体系动力反应的MATLAB程序

结构动力学使用中心差分法计算单自由度体系动力反应的MATLAB程序

中心差分法计算单自由度体系动力反映的报告前言基于叠加原理的时域积分法与频域积分法一样,都假设结构在在全部反应过程中都是线性的。

而时域逐步积分法只是假设结构本构关系在一个微小的时间步距内是线性的,相当于分段直线来逼近实际的曲线。

时域逐步积分法是结构动力问题中研究并应用广泛的课题。

中心差分法是一种目前发展的一系列结构动力反应分析的时域逐步积分法的一种,时域逐步积分法还包括分段解析法、平均常加速度法、线性加速度法、Newmarket−β和Wilson−θ法等。

中心差分法(central difference method)原理中心差分法的基本思路将运动方程中的速度向量和加速度向量用位移的某种组合来表示,将微分方程组的求解问题转化为代数方程组的求解问题,并在时间区间内求得每个微小时间区间的递推公式,进而求得整个时程的反应。

中心差分法是一种显示的积分法,它基于用有限差分代替位移对时间的求导(即速度和加速度)。

如果采用等时间步长,∆t i=∆t(∆t为常数),则速度与加速度的中心差分近似为u i=u i+1+u i−12∆t(1)üi=u i+1−2u i+u i−1∆t2(2)用u表示位移,离散时间点的运动为:u i=u(t i),u i=u̇(t i),u i=ü(t i)(i=0,1,2…)体系的运动方程为mü(t)+cu̇(t)+ku(t)=P(t)(3)将速度和加速度的差分近似公式(1)和(2)代入(3)中得出在t i时刻的运动方程,将方程整理得到u i+1由u i 和u i−1表示的两步法的运动方程(4):(m ∆t2+c2∆t)u i+1=P i−(k−2m∆t2)u i−(m∆t2−c2∆t)u i−1(4)这样就可以根据t i及以前的时刻的运动求得t i+1时刻的运动。

中心差分法属于两步法,用两步法计算时存在起步问题,必须要给出相邻的两个时刻的位移值,才能逐步计算。

对于地震作用下结构的反应问题和一般的零初始条件下的动力问题,可以用(4)直接计算,因为总可以假设初始的两个时间点(一般取i=0,−1)的位移等于零。

Matlab软件在单摆自由振动中的应用_李硕

Matlab软件在单摆自由振动中的应用_李硕

在单摆的摆动问题中, 系统自由度为 1 , 选取广义 坐标 θ 来 描 述 单 摆 的 运 动。 系 统 动 能 为 T =
· 1 m( lθ ) 2 , 势能为 V = mgl( 1 - cos θ) , 能量关系为 2
也是简谐振动 式( 2 ) 是单摆小角摆动时的微分方程, 的动力学方程, 式( 2 ) 的解为 ( 3) θ = A θ cos( ω0 t + α) Aθ 、 α 是由初值条件来决定的待定常数 。 式中, 不能近似用 sin θ ≈ θ, 微分方程由 若大角度摆动, 式( 1 ) 改为 g d2 θ sin θ = 0 ( 4) 2 + l dt 小角度单摆的周期为 T0 = 2 π l g

( 5)
(
)
图1
大角度单摆的周期变化
图3
不同能量单摆的相图
第 11 期

硕, 等: Matlab 软件在单摆自由振动中的应用
67
点) , 由此出现了非线性 下一刻的运动具有不确定性, [13 ] , , 在非线性振动中 轻微扰动会使系统出现间 现象 断和分岔。
l = l0 + mg / k, 让摆在竖直平面内自由摆动。 系统自由 度为 2 , 设 r 为摆球到固定点的距离, 摆角为 θ。 系统 的拉格朗日函数为 1 · L = m[ ( r) 2
性力学不借助 Matlab 软件的微分方程求解及可视化 [39 ] 。本文利用 Matlab 软件[10-11]研 功能是很难说明的 究了单摆自由振动时的一些问题 , 主要包括: 大角度自 由振动单摆周期与角振幅的关系曲线、 大角度自由振 动单摆的相图、 大角度阻尼振动单摆的相图和弹簧单 摆的微分方程求解及动画效果, 从而直观地显示了单 摆在不同条件下自由振动时的运动情况 。

MATLAB在车辆振动分析中的应用研究

MATLAB在车辆振动分析中的应用研究

MATLAB在车辆振动分析中的应用研究1. 引言1.1 背景介绍车辆振动是指车辆在行驶过程中由于路面不平整或其他外界因素引起的车辆整体或部件的振动现象。

振动会导致车辆性能下降、舒适性降低、疲劳损伤加速等问题,影响车辆的安全性和乘坐舒适度。

对车辆振动进行深入的分析和研究具有重要的意义。

随着汽车工业的发展和人们对车辆安全性和舒适性要求的不断提高,车辆振动分析成为工程领域研究的重要方向。

通过建立合理的数学模型和采用有效的分析工具,可以更好地理解车辆振动的特性,为改进车辆设计和优化车辆性能提供基础支持。

1.2 研究意义车辆振动是指车辆在行驶或运动过程中产生的颠簸、震动等现象。

研究车辆振动分析对于提高车辆性能、减少燃料消耗、延长车辆寿命等方面具有重要意义。

通过对车辆振动进行深入研究,可以帮助我们更好地了解车辆振动的产生机理,从而指导车辆设计中的材料选择、结构设计和优化,提高车辆的舒适性和安全性。

车辆振动分析可以帮助人们更好地了解车辆在不同道路条件下的振动特性,为道路设计和维护提供重要参考,提高道路的舒适性和安全性。

对于减少车辆的燃料消耗和排放也具有重要意义。

通过减少车辆的振动,可以降低车辆的能量损耗,从而减少燃料消耗和减少尾气排放,对于环境保护和节能减排具有积极意义。

研究车辆振动分析在提高车辆性能、改善道路条件、减少燃料消耗和减少排放等方面具有重要意义,对于推动车辆工程领域的发展具有积极的促进作用。

1.3 研究方法研究方法是整个研究过程中非常重要的一部分,它决定了研究的有效性和可信度。

在本研究中,我们主要采用了以下几种方法:我们对车辆振动的基本原理进行了深入的研究和理解,包括车辆的动力学模型、受力分析以及振动特性等方面。

这为后续的实验设计和数据分析奠定了基础。

我们利用MATLAB软件建立了车辆振动分析模型,包括车辆的结构模型、路面激励模型以及悬挂系统模型等。

通过这些模型,我们可以对车辆在不同路况下的振动特性进行仿真分析。

基于MATLAB抛体运动的分析

基于MATLAB抛体运动的分析

基于MATLAB 抛体运动的分析作者:昊学长本文将采用MATLAB 对抛体运动中的有阻尼抛体运动和无阻尼抛体运动的运动轨迹进行分析。

一、理论分析我们研究的抛体运动为斜抛运动,设物体斜抛的初速度为0v ,重力加速度为g,在无阻尼抛体运动中,我们不计空气阻力,在无阻尼抛体运动中,物体的斜抛运动是水平方向的匀速直线运动和竖直上抛运动的合运动,物体的运动方程为⎪⎩⎪⎨⎧-⋅=⋅=20021sin cos gt t v y t v x θθ消除t 可得轨迹方程θθ2202cos 2tan v gx x y -=令0=y ,可得水平射程gv X θ2sin 20=在有阻尼抛体运动中,设阻尼系数为b,物体质量为m,我们近似认y x O v 0θv 0xv 0y为阻力F 只与速度v 的量值成正比,即bvF -=抛体在xy 平面内运动,其运动的微分方程为⎪⎪⎩⎪⎪⎨⎧--=-=y y x x bv mg dtdv m bv dt dv m 设当0=t ,0x x v v =,0y y v v =,对上式进行一次积分后,得到⎪⎩⎪⎨⎧-⎪⎭⎫ ⎝⎛+====--b mg e v b mg v y e v v x m bt mbt y y x x 00 再进行一次积分,并设0=t ,0=x ,0=y ,则得⎪⎪⎩⎪⎪⎨⎧-⎪⎭⎫ ⎝⎛-⎪⎪⎭⎫ ⎝⎛+=⎪⎭⎫ ⎝⎛-=--t b mg e b mv b g m y e b mv x m bt m bt y x 110220消除t,得到轨道方程为θθθθθtan cos sin cos ,sin ln 000000000022000==∴==⎪⎪⎭⎫ ⎝⎛--⎪⎪⎭⎫ ⎝⎛+=v v v v v v v v bx mv mv b g m x v v bv mg y x y x y x x x y x即⎪⎪⎭⎫ ⎝⎛--⎪⎪⎭⎫ ⎝⎛+=bx mv mv b g m x bv mg y x x x 00220ln tan θ二、程序设计(1)初速度0v 相同,θ不同,有阻尼与无阻尼的比较clear v0=10;g=9.8;m=5;b=0.2;theta=15:15:75;th=theta*pi/180;x1=linspace(0,11,1000);x2=linspace(0,11,1000);[TH,X1]=meshgrid(th,x1);[TH2,X2]=meshgrid(th,x2);Y1=X1.*tan(TH)-g*X1.^2/v0^2/2./cos(TH).^2;Y2=(m.*g./b./v0./cos(TH2)+tan(TH2)).*X2-m.^2.*g./b.^2.*log(m.*v0.*cos(TH)./…(m.*v0.*cos(TH)-b.*X2));plot(x1,Y1(:,1),x2,Y2(:,1))hold onplot(x1,Y1(:,2),x2,Y2(:,2))hold onplot(x1,Y1(:,3),x2,Y2(:,3))hold onplot(x1,Y1(:,4),x2,Y2(:,4))hold onplot(x1,Y1(:,5),x2,Y2(:,5))hold on axis([01105])title('有阻力与无阻力的抛体运动,初速度相同θ不同')xlabel('x/m')ylabel('y/m')grid on(2)初速度θ相同,0v不同,有阻尼与无阻尼的比较cleartheta=45;g=9.8;m=5;b=0.2;v0=10:10:50;th=theta*pi/180;x1=linspace(0,260,1000);x2=linspace(0,220,1000);[V0,X1]=meshgrid(v0,x1);[V02,X2]=meshgrid(v0,x2);Y1=X1.*tan(th)-g*(X1.^2)./V0.^2/2/cos(th).^2;Y2=(m.*g./b./V02./cos(th)+tan(th)).*X2-m.^2.*g./b.^2.*log(m.*V02.*cos(th)./…(m.*V02.*cos(th)-b.*X2));plot(x1,Y1(:,1),x2,Y2(:,1))hold onplot(x1,Y1(:,2),x2,Y2(:,2))hold onplot(x1,Y1(:,3),x2,Y2(:,3))hold onplot(x1,Y1(:,4),x2,Y2(:,4))hold onplot(x1,Y1(:,5),x2,Y2(:,5))hold onaxis([0270065])title('有阻力与无阻力的抛体运动,θ相同初速度不同')xlabel('x/m')ylabel('y/m')grid on(3)在0v、θ相同的情况下,改变阻尼系数b的情况cleartheta=45;g=9.8;m=5;b=1:4;v0=10;th=theta*pi/180;x=linspace(0,9);[B,X]=meshgrid(b,x);Y=(m*g./B/v0/cos(th)+tan(th)).*X-m.^2.*g./B.^2.*log(m.*v0.*cos(th)./…(m.*v0.*cos(th)-B.*X));figureplot(x,Y(:,1))hold onplot(x,Y(:,2))hold onplot(x,Y(:,3))hold onplot(x,Y(:,4))hold onaxis([0902.5])title('v0、θ相同,改变b(阻尼系数)的情况')xlabel('x/m')ylabel('y/m')grid on(4)在0v、θ相同的情况下,改变质量m的情况cleartheta=45;g=9.8;m=1:4;b=0.2;v0=10;th=theta*pi/180;x=linspace(0,15,1000);[M,X]=meshgrid(m,x);Y=(M*g./b/v0/cos(th)+tan(th)).*X-M.^2.*g./b.^2.*log(M.*v0.*cos(th)./…(M.*v0.*cos(th)-b.*X));plot(x,Y(:,1))hold onplot(x,Y(:,2))hold onplot(x,Y(:,3))hold onplot(x,Y(:,4))hold onaxis([01503])title('v0、θ相同,改变m(质量)的情况')xlabel('x/m')ylabel('y/m')grid on(5)在0v、θ相同的情况下,我们发现当︒θ的时候,射程最大,=45所以程序设计如下:clearv0=10;g=9.8;b=0.2;theta=15:15:75;th=theta*pi/180;x=linspace(0,11,1000);[TH,X]=meshgrid(th,x);Y=X.*tan(TH)-g*X.^2/v0^2/2./cos(TH).^2;plot(x,Y(:,1))hold onplot(x,Y(:,2))hold onplot(x,Y(:,3))hold onplot(x,Y(:,4))hold onplot(x,Y(:,5))hold onaxis([01105])xlabel('x/m')ylabel('y/m')thm=asin(max(sin(2*th)))/2;text((v0^2*sin(2*thm)/g)/2,v0^2*sin(thm)^2/2/g,'h=2.5510m','FontSize', 12)text(v0^2*sin(2*thm)/g-0.5,-0.4,'Sm=10.2041m','FontSize',12)text(8,3,'θm=pi/4','FontSize',12)三、心得体会此次程序设计,是用MATLAB研究抛体运动的有阻尼与无阻尼的运动轨迹,看似简单,实际操作时候却一点都不简单,我在设计中遇到很多问题,其中让我印象最深刻的就是在代码的输入时,由于对代码的不熟悉,所以输入的代码显得冗长,后来经过大量查找资料,才把代码精简到现在的程度,另外,还有在设计有阻尼抛体运动时候,对于阻尼系数与运动轨迹存在什么样的关系并不了解,在推导运动方程的时候遇到障碍,后来是参考了周衍柏的《理论力学》一书,才完成了有阻尼抛体运动的分析理解。

振动信号预处理方法-平滑处理及其MATLAB实现

振动信号预处理方法-平滑处理及其MATLAB实现

本科生毕业论文振动信号预处理方法-平滑处理及其MATLAB实现作者姓名学院:机电工程学院专业:班级:学号:指导教师:职称〔或学位〕:2016年5月1原创性声明本人郑重声明:所呈交的论文〔设计〕,是本人在导师的指导下,独立进行研究工作所取得的成果.除文中已经注明引用的内容外,本论文〔设计〕不含任何其他个人或集体已经发表或撰写过的作品成果.对本论文〔设计〕的研究做出重要贡献的个人和集体,均已在文中以明确方式标明.本人完全意识到本声明的法律结果由本人承担.学生签名:年月日指导声明本人指导的同学的毕业论文〔设计〕题目大小、难度适当,且符合该同学所学专业的培养目标的要求.本人在指导过程中,通过网上文献搜索及文献比对等方式,对其毕业论文〔设计〕内容进行了检查,未发现抄袭现象,特此声明.指导教师签名:年月日目录1 绪论12 振动信号预处理算法分析12.1 算术平均值法12.2 加权平均值法22.3 中值法22.4 滑动平均值法32.5 五点三次平滑法32.6 模糊控制算法43 基于MATLAB的振动信号平滑处理43.1 MATLAB简介43.2 算例53.3 计算代码错误!未定义书签。

3.4 算法机理84 结果分析85 总结9致谢:10参考文献:10振动信号预处理方法-平滑处理及其MATLAB实现作者姓名〔宋体四号,居中〕〔机电工程学院指导教师:##X〕<楷体五号,居中>摘要:进行振动信号测试时往往由于外界干扰的存在,使得测量信号不光滑,质量差,严重时后续分析难以展开,可见振动信号预处理是必要的步骤.本文对振动信号预处理算法进行详细分析,讨论若干种平滑处理算法,并以五点三次平滑法与滑动平均值法为例,具体讨论了平滑处理的流程.结果表明结果表明五点滑动平均法与五点三次平滑法两种算法都简单明了,可以以很小的计算量实现良好预处理效果,提高振动信号质量.两种算法都是有效的预处理方法,借助于MATLAB软件平台实现简便,因此有很强的实用价值.关键词:振动信号;平滑处理;平均值;MATLABVibration signal preprocessing methods - smoothing processing byMATLABName of authorCollege of Mechanical and Electrical Engineering, Advisor: ##XAbstract:When the vibration signal is tested, the measurement signal is not smooth and low quality because of outside interference. If the situation is serious, it is difficult to carry out subsequent analysis, so vibration signal preprocessing step is necessary.This paper will dicuss the vibration signal preprocessing algorithm by the smoothing algorithms and five cubic smoothing the sliding average method. The result show that the two algorithms of five-point moving average and three fiver-point smoothing are both simple ,achieve good pretreatment effect with small amout of putation, imrove the quality of vibration signal. Both algorithms are effective pretreatment methods by using MATLAB software platform, which has a strong practical value.Keywords: Vibration signal; smoothing; mean; MATLAB1 绪论振动是自然界普遍存在的现象,大到地震、海啸等宏观振动,小到粒子热运动、布朗运动等微观运动.对于两个固有频率相同的物体,当一个物体发生振动时将导致另外一个物体产生相同频率振动,该现象即为共振,共振对于人类生产生活同时带来好处与危害.如何合理利用有利振动的同时克服有害振动,是人们普遍关注的问题.为更好地掌握振动规律,振动测试是必不可少的环节.但是在振动测试过程中,往往存在多种干扰,导致测试系统得到的数据并不准确,将偏离真实数值.因此在完成振动信号测试之后,应当对采集得到的数据进行预处理,进而提高数据的真实性与可用性,并分析振动信号的随机性,从而确定具体的处理手段.仪器分析过程中为了掌握信号参数,提高信噪比,常常要求进行曲线平滑、信号求导等一系列操作.实际振动信号测试过程中,小波动往往因为随机误差而产生,同时大的波动一般拥有有用信息.为此平滑技术有重要意义.早分析仪器的平滑技术中,大多是基于最小二乘多项式平滑的.通常经过数据采集器采样获得的振动信号大多有多种噪声,除了50Hz的工频及倍频程以外,还包含不规则的随机干扰信号,此类干扰信号频带宽,且高频成分多,使得最终得到的振动曲线出现很多毛刺,为提高振动曲线光滑度,平滑处理是极为有效的方法之一.本文将对振动信号的预处理方法进行分析,并详细讨论平均法与五点三次平滑法的运用.2 振动信号预处理算法分析数字滤波器在离散系统中有很强的适用性,可以对输入信号的波形以及频率进行加工,在目前振动信号预处理中得到广泛应用.信号的预处理方法主要包括两部分,即消除多项式趋势项与平滑处理两种.前者将多项式趋势项消除以后,可以将偏离基线的信号过滤掉,进而得到正确性更高的信号;后者则是将信号里的噪声除去,进而提升振动曲线光滑度.图2-1与2-2分别为振动信号原始曲线与完成消除趋势项与平滑处理以后得到的曲线.图2-1 原始信号图2-1 经过消除趋势项与平衡处理得到的信号常用的振动信号预处理算法包括算术平均值法、加权平均值法、五点三次平滑法、滑动平均值法、中值法、模糊控制法等.本章将对常用算法进行分析.2.1 算术平均值法算术平均值法首先确定一个值Y,使得Y和所有采样值误差的平方和最小,表达式如下:利用一元函数极限的求解方法可以得到Y值:通过上式实现的振动信号预处理就是算术平均值算法.假如每次测量得到信号Si 与噪声Ci,那么完成N 次同样测量之后,就可以得到所有测量值之和:通常使用均方根表征噪声强度大小,如果测量过程中的噪声是随机信号,完成N 次测量以后得到的噪声强度和如下式:用S 和C 分表代表信号与噪声的平均幅值,那么完成N 次测量以后,得到的算术平均信噪比如下:算术平均值算法应用范围广泛,主要针对在某一数值上下波动频繁的信号.在振动信号测量过程中,采用算术平均值算法时如果只选取一个采样值为依据得到的结果往往不理想.这种算法在处理脉冲性干扰时效果不佳,所以在脉冲性干扰相对严重的情况下慎用.采用算术平均值算法实现振动信号预处理的平滑程度直接取决于N 的大小,当N 很大时,平滑度高,然而此时灵敏度低.2.2 加权平均值法加权平均值法即对多次测量所得的采样值赋予加权系数,从而有效提高测量系统对干扰的灵敏度.采用加权平均值法时,对不同采样值取得不同比重,其计算公式如下:式中C k 即为C1、C2……、Cn,并且符合以下关系式:N C C C <⋯⋯<<<210 ,且C1、C2……、Cn 之和为1.C k 选取可以具体情况进行调整,最为常见的即为加权系数法,C1、C2……、Cn 分别如下取值:上式τ代表了控制对象时产生的滞后时长.加权平均值算法通常适用范围受限,多应用在系统的纯滞后时间常数偏大的情况下,这种情况下采样周期短,针对不同相对采样时间所测量的采样值赋予不同权重,进而对于干扰及其影响程度十分敏感.使用加权平均值算法需要不停地计算加权技术,导致控制速度缓慢,所以应用较少.2.3 中值法中值算法是针对某被测量进行多次连续采样,采样的次数一般为奇数次,将若干次采样值按照从小至大的顺序进行排列,然后取得其中的中间值当成本次采样值.使用中值算法能够有效避免偶然因素对结果的影响,主要是将采样器的不稳定性降至最低.但是中值算法多用于变化相对缓慢的被测参数,例如温度、液面高度等,然而针对速度、振动等信号往往效果不佳.2.4 滑动平均值法滑动平均值法的原理是依据某一测量点附近其他采样点的波动幅值对此点的波幅进行修正,进而使得振动曲线足够平滑,实现降噪目的.滑动平均值法通过对周围点进行简单平均,或者对附近点实现加权平均.通常取附近五个点进行平均,其依据以下公式:其中x 代表采样所得数据值;y 代表完成平滑处理之后的数据;m 为测量数据数量;N 是平均点数;h 是加权平均因子.加权平均因子的取值符合下式:如果采用简单平均法,则),...,2,1,0(121N n N h n =+=,因此有: 如果采用加权平均法,并且选择5点进行加权平均,此时N=2,则可按照如下方法取值: 其中h -2到h 2依次为1/9、2/9、3/9、2/9、1/9.滑动平均值法是常用的基于最小二乘法的平滑处理方法,主要针对离散数据有良好处理效果.五点滑动平均所采用的计算公式如下所示:其中,i 取3、4、,、……、m-2.滑动平均值算法与算术平均值算法以及加权平均值算法有共同点,即每当完成一次有效采样值的计算以后,都要求实现多次连续采样.如果由于测量设备问题导致采样速度不够快,以及振动数据四算速率很高的情况下〔比如实时系统〕,无论是算术平均法、加权平均法还是滑动平均值算法都难以适用.对于A/D 数据而言,进行数据采样时通常10次/秒,并且如果每秒需要输入四次数据,那么N 值应小于等于2.采用滑动平均值算法只需要一次采样,然后把这次采样得到的值与前N-1次共同求平均,进而得到有效采样值.滑动平均值算法的思想是将N 个采样数据作为同一序列,且其长度是N,每当获得新采样值以后,需要将采样结果放置在该序列的末尾,同时将序列第一个数据删除,即实现数据的更新.滑动平均算法的优势在于抗周期性噪声效果良好,且获得的振动曲线平滑程度很高,灵敏性优良,缺点在于无法高效地抑制了偶然性脉冲干扰的影响,因此如果脉冲干扰较多,不宜使用滑动平均算法,往往在高频振荡系统中应用较多.2.5 五点三次平滑法五点三次平滑法同样是处理离散数据常用的预处理手段,其主要针对等间距数值而言,并在此基础上实现数据处理.假设y 是x 的函数,任何y 均可以通过泰勒公式詹凯臣幂级数的形式,在数据测量过程中只需要前四项,因此有:y 〔x 〕=a 0+a 1x 1+a 2x 22+a 3x 33因此可以计算其方差和:依据最小二乘法原理,就可以得到下述等式关系:由于所取数值均为等距离的数值,方便起见,可以取xi=0所对应的5个点的值.=,进而可以得到a0到a3的值分别如下:联立方程组并将x 值带入,运用五点三次平滑法即可得到数据处理计算公式:根据上式就可以实现振动信号的预处理,从关系式不难发现,经过处理所得到的数据仅与处理前的数据,和另外五个数值相关,且与间隔及x 的选取是无关的.所以任何等间距数据均可以用五点三次平滑法进行处理.五点三次平滑法中节点个数要求至少为5,当节点个数大于5的情况下如下:五点三次平滑公司如下为了实现对称的目的,两端采用上述2-Y 、1-Y 、1Y 、2Y ,其余的都使用0Y 相应公式.从而实现所有子区间均采用不同的三次最小二乘多项式实现平滑处理.根据推导公式不难发现,针对等距节点而言,平滑公式仅仅是用到实验数据Y i ,而和节点X i 与节点间等距离h 无关.2.6 模糊控制算法在上述若干种平滑处理方法中,普遍运用了平均法的原理,只不过实现方法有差别,这些算法的计算公式均可用下式表示:根据该式子,其中x 代表了采样数据,而y 则表示经过平滑处理之后所得的数据.M 代表总的数据点数,其窗口宽度可以用2N+1表示,h 是加权平均因子.模糊平滑方法在近年来得到越来越多关注,并被认为是极其有发展潜力的数据处理手段,如今国内外学者相继提出模糊平滑算法、模糊加权中值算法、基于模糊逻辑的信号处理等.模糊平滑方法无论在时域还是频率上均有更多优势,尤其在振动测量中包括大量混合数据,模糊平滑方法有广阔应用前景.本文主要对滑动平均值法与五点三次平滑法进行分析,基于MATLAB 软件实现两种方法的平滑处理.3 基于MATLAB 的振动信号平滑处理3.1 MATLAB 简介MATLAB是一款基于M文件进行运行以及调试的软件,M文件属于解释性语言,其语法没有计算机高级语言复杂,结构及形式更加简便,因此便于使用者更快掌握,程序调试更容易,有很强的人机交互能力.MATLAB拥有强大的工具箱,其中绝大多数函数均通过M文件进行编制,其中有专门针对信号处理的工具箱,在振动测试中应用广泛,信号分析能力强,且可以直接调用相关函数,满足灵活的编程需求.本文研究主要对振动信号预处理方法进行讨论,MATLAB提供的图形程序可以极大方便计算过程可视化,进而对振动信号预处理效果进行观察对比.数据对比需要首先经过FFT分析,基于MATLAB的振动信号预处理流程如下:输入原始数据文件与采样频率,分别采用五点直线滑动平均法与五点三次平滑法进行平滑处理;输入平滑次数并得到输出平滑数据文件,与原始波形进行对比;选择窗函数之后进行短时傅里叶变换,输出分析数据文件,对输出的图形进行对比,分析两种平滑处理所得数据与原始数据的差别.3.2 算例为验证五点直线滑动平均法和五点三次平滑法进行振动信号预处理的效果,本文分别以某实测的振动信号为例进行分析,分别用五点直线滑动平均法与五点三次平滑法对其进行平滑处理,对比处理前后效果,验证算法可行性.3.3 计算代码五点滑动平均法fid = fopen<'C:\ph.txt','r'>;x= fscanf<fid,'%f',inf>;fclose<fid>;sf=1000;n=length<x>;t=<0:1/sf:<n-1>/sf>';a=x;m=3;for k=1:mb<1>=1/5*<3*a<1>+2*a<2>+a<3>-a<4>>;b<2>=1/10*<4*a<1>+3*a<2>+2*a<3>+a<4>>;for i=3:n-2b<i>=1/5*<a<i-2>+a<i-1>+a<i>+a<i+1>+a<i+2>>; endb<n-1>=1/10*<a<n-3>+2*a<n-2>+3*a<n-1>+4*a<n>>; b<n>=1/5*<-a<n-3>+a<n-2>+2*a<n-1>+3*a<n>>;a=b;endy=a;subplot<2,1,1>;plot<t,x>;grid on;subplot<2,1,2>;plot<t,y>;grid on;五点三次平滑法fid = fopen<'C:\ph.txt','r'>;x= fscanf<fid,'%f',inf>;fclose<fid>;sf=1000;n=length<x>;a=x;for k=1: mb<1> = <69*a<1> +4*<a<2> +a<4>> -6*a<3> -a<5>> /70;b<2> = <2* <a<1> +a<5>> +27*a<2> +12*a<3> -8*a<4>> /35;for j=3:n-2b <j> = <-3*<a<j-2> +a<j+2>> +12*<a<j-1> +a<j+1>> +17*a<j>> /35; endb <n-1> = <2*<a<n> +a<n-4>> +27*a<n-1> +12*a<n-2> -8*a<n-3>> /35;b <n> = <69*a<n> +4* <a<n-1> +a<n-3>> -6*a<n-2> -a<n-4>> /70;a=b;endy=a;subplot<2,1,1>;plot<t,x>;grid on;subplot<2,1,2>;plot<t,y>;grid on;消除多项式趋势项fid = fopen<'C:\gfj.txt','r'>;x= fscanf<fid,'%f'>;fclose<fid>;sf=1000;n=length<x>;t=<0:1/sf:<n-1>/sf>';m=3;a=polyfit<t,x,m>;y=x-polyval<a,t>;plot<t,y>;grid on;3.4 算法机理以五点直线滑动平均法为例,对算法机理进行讨论.基于MATLAB的振动信号预处理可以实现下述人机对话:将原始数据文件、采样频率〔1000HZ〕输入,并确定采用五点直线滑动平均法,平滑次数选择为四次,输出文件为txt格式,窗函数选择汉宁窗,输出分析文件为txt 格式.4 结果分析由于本次实测得到的信号中存在趋势项,且趋势项的存在会对二次积分位移信号产生一定影响,因此在计算代码中进行了多项式趋势项的消除.为了更好体现出消除趋势项的作用,针对采集得到的数据增加三阶趋势项,然后采用最小二乘法消除趋势项,得到消除趋势项前后的曲线如图4-1所示.原始波形消除多项式趋势项图4-1 消除多项式趋势项从图4-1可以看出,使用最小二乘法消除趋势项之后,原始信号趋势项被消除,得到的信号更加接近实测数据,使信号得到改善.消除趋势项与五点滑动平均处理以及五点三次平滑法相结合的预处理方法才能最大程度改善信号质量.利用最小二乘法消除高阶趋势项以后信号均值与方差对比如下:表4-1 最小二乘法消除高阶趋势项后信号均值与方差对比进行最小二乘法消除趋势项以后,然后分别采用五点滑动平均法与五点三次平滑法对信号进行平滑处理,处理结果分别如图4-1与图4-2所示.从原始波形图中发现,存在较多高频成分,波形图中毛刺较多,可见受外界干扰十分严重,该数据只有进行处理后方可使用.五点三次平滑法与五点滑动平均法都是有效的振动信号预处理方法,实现了平滑处理,进而使得测得振动信号质量更高.由于在进行本次实验之前完成了多项式趋势的消除,使得波形数据和实测数据更加符合.五点三次法有效提高波形图平滑程度,质量更高、而且五点三次法能够降低高频随机噪声,并且使得模态参数识别过程中提高拟合效果.五点平滑平均法导致谱曲线峰值有所下降,而且体型更宽,这就容易导致识别参数时误差变大.总而言之,本次实验有效地利用两种平滑算法对含噪声的信号进行平滑处理,降低了噪声信号不可预测性与高破坏性对信号结果的影响,进而提高信号处理结果可靠性,但两种平滑处理方法均使得部分信息丢失,五点三次平滑处理得到的波形相比五点滑动平均法保留了更多重要信息,在实际工程中应根据实际需求选择合理的平滑次数,从而使处理得到的波形数据与实际情况吻合度更高.图4-1 五点滑动平均法的平滑处理分析结果图4-2 基于五点三次平滑动法的平滑处理分析结果5 总结振动信号测试时往往由于干扰的存在,使得测量数据与真实数值之间存在误差,为此需要对所测数据实现预处理,进而提升数据的真实性与可用性.常见的预处理方法包括标定变换、消除多项式趋势项以及平滑处理,本文分析了常用的平滑处理手段,并以五点滑动平均法与五点三次平滑法为例分析振动信号预处理的过程及具体算法实现.为对比两种平滑处理方法,本文进行两个算例的对比.结果表明五点滑动平均法与五点三次平滑法两种算法都简单明了,可以以很小的计算量实现良好预处理效果,提高振动信号质量.但是,通过对两种算法的实现过程进行对比,直线滑动平均法平滑次数更少一些,采用五点三次平滑法需要同时针对时域与频域信号进行处理,才可以实现模态参数识别时更佳拟合效果.两种算法都是有效的预处理方法,借助于MATLAB软件平台实现简便,因此有很强的实用价值.致谢:本论文从选题到终稿均在导师##X的悉心指导下一步步完成,##X教授严谨的学术风格与扎实的理论均对我的成长起到积极作用,也使我对专业知识有了更深入的认识,再次诚挚感谢##X老师这段时间以来对我的指导与关心.本文的完成也离不开学校图书馆的帮助,查阅书籍以及文献资料是本文写作过程中必不可少的一部分.在此对学校、学院在四年来为我学习提供的优渥条件表示感谢.最后,我还要感谢##X、##X,你们在我论文写作过程中给予不少支持与帮助,没有你们的帮助本文将无法如期完成.参考文献:[1] 陈苏,陈国兴,戚承志等.振动信号批处理软件平台的搭建与应用[J].南京工业大学学报〔自然科学版〕,2014,36<4>:89-94.[2] 袁芳.多通道振动信号分析系统研究与设计[D].南京理工大学,2014.[3] 姬玉芳,孙运强,姚爱琴等.基于MATLAB的某产品振动信号处理[J].电子测试,2010,<5>:89-92.[4] 唐世振.基于MATLAB的振动信号采集与分析系统的研究[D].中国海洋大学,2007.[5] 于志伟,程圣国.一种用于三维滑坡模型试验数据处理的新方法[J].长江科学院院报,2014,31<5>:39-42,51.[6] 许福友,陈艾荣.信号预处理对桥梁颤振导数识别结果影响分析[J].武汉理工大学学报,2008,32<5>:783-785.[7] 高亚东,张曾锠.某旋翼试验台振动信号的采集与预处理系统[J].数据采集与处理,2008,9<23>:163-167。

用MATALAB分析阻尼运动

用MATALAB分析阻尼运动

《Matlab 语言》课程论文用 MATALAB分析阻尼运动姓名:刘莎学号: 12010245231专业: 2010 级通信专业指导老师:汤全武所在学院:物理电气信息学院完成日期: 2011 年 11 月 28 号用 MATLAB分析阻尼运动(刘莎12010245231 2010级通信专业)【摘要】:大学物理中的阻尼运动是一个比较繁琐的问题,物体在运动过程中受各种阻力(如摩擦力、空气阻力等)的影响,出现能量逐渐衰减而导致运动减弱的现象,这种运动被称为阻尼运动。

用 MATLAB语言解决是个很好的工具,可以解决方程、绘制图像、处理数据,这大大简化运算过程与方法,在实验处理方面给予了很大的帮助,节约了时间,同时也节约了计算量。

也可以把 MATALAB应用到实际问题当中,达到了学以致用,加深对阻尼运动的理解。

【关键词】:力学阻尼运动matlab语言绘图一、问题提出MATLAB语言是当今科学界最具影响力也是最具活力的软件。

是一种面向与工程的高级语言,它提供了强有力的科学用算,灵活的设计流程、高质量的图形可视化以及界面设计的便捷和其他语言接口等功能, MATLAB语言在各国高校与研究中发挥着重要的作用,它是一种集数据运算、符号运算,可视化建模、仿真和图形处理多方面与一体的语言,现在用 MATLAB解决物理中的阻尼运动也是很方便的事情。

可以用传统的方法通过 MATLAB实现其振动规律曲线,并改变其初始条件,实现一组曲线的脉冲过度函数。

二、模拟小球受阻尼运动通过把阻尼振动的小球的运动做投影,更好地观察在阻尼振动过程中,小球的振动衰弱情况,用ma tlab 把阻尼振动简化成较容易的程序设计。

小球受到阻力运动状态就会减弱,利用这种情况就可以分析阻尼运动的过程。

模拟弹簧阻尼振动的过程包括以下内容:(1)更新小球和弹簧的位置。

(2)更新水平线的位置和长度。

(3)实时地画出弹簧高度与时间的关系曲线。

(4)小球受到各种阻尼时,,合外力和加速度都会减小,运动会受到阻碍,用 MATLAB进行模拟。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档