Simulink及振动微分方程的数值解法
- 格式:pdf
- 大小:1.34 MB
- 文档页数:15
基于Simulink的振动模态分析引言振动模态分析是一种常用的工程分析方法,用于研究结构体在不同频率下的振动特性和模态。
本文将介绍如何使用Simulink软件进行振动模态分析。
Simulink简介Simulink是一种基于模型的设计和仿真工具,常用于解决动态系统建模和仿真问题。
该软件提供了丰富的工具箱,便于用户搭建模型和进行模拟实验。
振动模态分析步骤1. 结构体建模:首先,需要将待分析的结构体进行建模。
在Simulink中,可以使用各种元件来描述结构体的物理特性,例如质量、弹性等参数。
2. 模态分析设置:在建模完成后,可以设置模态分析的参数,包括分析频率范围、模态数量等。
这些参数会影响模态分析的精度和计算效率。
3. 模型求解:通过在Simulink中运行模型求解器,可以得到结构体在不同频率下的振动模态。
求解过程可以得到每一个模态对应的频率、振型和阻尼比等信息。
4. 结果分析:最后,可以对求解得到的振动模态进行进一步分析和可视化。
比如,可以绘制模态频率与振型的关系图,用于评估结构体的振动特性。
模态分析应用领域振动模态分析在工程领域有着广泛的应用。
它可以帮助工程师了解结构体的固有振动特性,从而优化设计和改进结构体的性能。
在航空航天、汽车工程、建筑设计等领域,振动模态分析被广泛应用于结构体的优化和故障诊断。
结论通过Simulink软件进行振动模态分析是一种简单而高效的方法。
它可以帮助工程师更好地理解结构体的振动特性,并在实际工程项目中起到重要作用。
在使用Simulink进行振动模态分析时,合理设置参数和精确分析结果对于获得准确的振动特性信息尤为重要。
【转@总结】simulink常微分⽅程的数值求解~ode45ode45,常微分⽅程的数值求解。
MATLAB提供了求常微分⽅程数值解的函数。
当难以求得微分⽅程的解析解时,可以求其数值解,Matlab 中求微分⽅程数值解的函数有七个:ode45,ode23,ode113,ode15s,ode23s,ode23t,ode23tb在⽤odesolver(ode45, ode15s, …)来解微分⽅程的时候,最基本的⽤法是:[t, y] = odesolver(odefun, tspan, y0);这⾥的odefun是待求的微分⽅程。
那么odefun中⼀般会含有多个系统参数,通常要通过改变参数来观察系统动态的变化。
那么如何在调⽤odesolver的时候传递参数呢?以前,我都是⽤全局变量的写法,将参数在主函数和⼦函数中分别都定义为global,这样做有⼀个弱点:针对系统不同,参数的表达与数量有变化的时候,程序通常要做变化,通⽤性不强。
那么最好是在调⽤的时候进⾏传递,⽅法如下:实际上很简单,就是将⼀切其他的参数都写在括号中就可以了!但是要注意的是:odesolver的第四个参数⼀定是options,也就是对微分⽅程添加补充功能的参数(类型为structure,要⽤odeset来定义),那么其他系统参数就只能从第五个参数写起。
也就是说,第四个参数不可以为空,⼀定要定义某种option加进去,或者⽤使⽤空⽩矩阵(placeholder)。
这样调⽤的时候格式就是:[t, y] = odesolver(odefun, tspan, y0, options, parameter1, parameter2);或者[t, y] = odesolver(odefun, tspan, y0, [], parameter1, parameter2);然后定义微分⽅程的时候也要有参数的地⽅:function dydt = odefun(t, y, parameter1, parameter2)dydt = [ eqn-1; eqn-2; …];就OK了。
利用MATLAB求解微分方程数值解的相关命令利用MATLAB求解微分方程数值解的相关命令1 指令函数及调用格式1.1 指令函数:dsolve注:此指令函数用于求解微分方程(组)的符号(解析)解。
1.2 单变量常微分方程的调用格式:f=dsolve(‘eq’, ‘cond’, ‘v’)注:此调用格式用于求符号微分方程的通解或特解,其中eq代表微分方程,cond代表微分方程的初始条件(若缺少,则求微分方程的通解),v为指定自变量(如未指定,系统默认t为自变量)。
1.3 常微分方程组的调用格式:f=dsolve(‘eq1’, ‘eq2’,…, ‘eqn’, ‘cond1’, ‘cond2’,…, ‘condn’, ‘v1’, ‘v2’, …, ‘vn’)注:此调用格式用于求解符号常微分方程组。
其中eq1,...,eqn 代表n个微分方程构成的微分方程组;cond1,...,condn代表微分方程组的初始条件(若缺少,则求微分方程组的通解),v1 , (v)为指定自变量(如未指定,系统默认t为自变量)。
1.4 记述规定:MATLAB中,用D(注意:一定是大写)记述微分方程中函数的导数。
当y是因变量时,用‘Dny’表示‘y的n阶导数’。
如,Dy表示y的一阶导数y ',Dny表示y的n阶导数。
Dy(0)=5表示y ' (0)=5。
D3y+D2y+Dy-x+5=0表示微分方程y'''+y''+y'-x+5=0。
2 实例演示例1、求微分方程2'22xy xy xe-+=的通解命令输入:>> y=dsolve('Dy+2*x*y=2*x*exp(-x^2)','x')得结果为:y =(x^2+C1)*exp(-x^2)若输入命令:>>y=dsolve('Dy+2*x*y=2*x*exp(-x^2)')则系统默认t为自变量,而把真正的自变量x当作常数处理,把y 当作t的函数,得到错误的结果:y =exp(-2*x*t-x*(x-2*t))+exp(-2*x*t)*C1例2、求微分方程22420250d x dxxdt dt-+=的通解命令输入:>> x=dsolve('4*D2x-20*Dx+25*x=0')得结果为:x =C1*exp(5/2*t)+C2*exp(5/2*t)*t%系统默认t 为自变量例3、求微分方程'''54100y y y +-+=在条件'006,4x x y y ====下的特解。
第五章 控制系统仿真§5.2 微分方程求解方法以一个自由振动系统实例为例进行讨论。
如下图1所示弹簧-阻尼系统,参数如下: M=5 kg, b=1 N.s/m, k=2 N/m, F=1NF图1 弹簧-阻尼系统假设初始条件为:00=t 时,将m 拉向右方,忽略小车的摩擦阻力,m x 0)0(= s m x /0)0(=•求系统的响应。
)用常微分方程的数值求解函数求解包括ode45、ode23、ode113、ode15s 、ode23s 等。
wffc1.m myfun1.m一、常微分方程的数值求解函数ode45求解 解:系统方程为 F kx x b x m =++•••这是一个单变量二阶常微分方程。
将上式写成一个一阶方程组的形式,这是函数ode45调用规定的格式。
令: x x =)1( (位移))1()2(••==x x x (速度) 上式可表示成:⎥⎦⎤⎢⎣⎡--=⎥⎦⎤⎢⎣⎡=⎥⎥⎦⎤⎢⎢⎣⎡••)1(*20)2(*101)2()2()2()1(x x x x x x x 下面就可以进行程序的编制。
%写出函数文件myfun1.mfunction xdot=myfun1(t,x)xdot=[x(2);1-10*x(2)-20*x(1)];% 主程序wffc1.mt=[0 30];x0=[0;0];[tt,xx]=ode45(@myfun1,t,x0);plot(tt,yy(:,1),':b',tt,yy(:,2),'-r') legend('位移','速度')title('微分方程的解 x(t)')二、方法2:F kx x b x m =++•••251)()()(2++==s s s F s X s G%用传递函数编程求解ksys1.mnum=1;den=[5 1 2];%printsys(num,den)%t=0:0.1:10;sys=tf(num,den);figure(1)step(sys)figure(2)impulse(sys)figure(3)t=[0:0.1:10]';ramp=t;lsim(sys,ramp,t);figure(4)tt=size(t);noise=rand(tt,1);lsim(sys,noise,t)figure(5)yy=0.1*t.^2;lsim(num,den,yy,t)w=logspace(-1,1,100)';[m p]=bode(num,den,w);figure(6)subplot(211);semilogx(w,20*log10(m)); grid onsubplot(212);semilogx(w,p)grid on[gm,pm,wpc,wgc]=margin(sys)figure(7)margin(sys)figure(8)nyquist(sys)figure(9)nichols(sys)方法3:F kx x b x m =++•••125=++•••x x xx x x 4.02.02.0--=•••% 主程序wffc1.mt=[0 30];x0=[0;0];[tt,yy]=ode45(@myfun1,t,x0);figure(1)plot(tt,yy(:,1),':b',tt,yy(:,2),'-r') hold onplot(tt,0.2-0.2*yy(:,2)-0.4*yy(:,1),'-.k ')legend('位移','速度','加速度') title('微分方程的解')figure(2)plot(yy(:,1),yy(:,2))title('平面相轨迹')%写出函数文件myfun1.mfunction xdot=myfun1(t,x)xdot=[x(2);0.2-0.2*x(2)-0.4*x(1)];。
matlab求微分方程数值解利用matlab求微分方程数值解是一种常用的数学计算方法。
在实际工程和科学研究中,许多问题都可以用微分方程来描述,但是解析解往往难以求得,因此需要用数值方法求解微分方程。
求解微分方程的数值方法有很多种,其中比较常用的是欧拉法和龙格-库塔法。
欧拉法是一种基本的数值方法,它采用离散化的方法将微分方程转化为差分方程,然后通过迭代来求出数值解。
欧拉法的具体步骤是:首先将自变量和因变量离散化,然后利用微分方程的定义式将微分方程转化为差分方程,最后通过迭代求出数值解。
欧拉法的优点是简单易懂,但是精度较低,容易产生误差。
龙格-库塔法是一种高阶数值方法,它将微分方程转化为一系列的差分方程,并采用递推的方法求解数值解。
龙格-库塔法的优点是精度高,收敛速度快,适用于求解复杂的微分方程。
但是龙格-库塔法的计算量较大,需要进行多次计算,计算时间较长。
在使用matlab求解微分方程时,可以直接调用matlab中的ode 函数来求解微分方程。
ode函数是matlab中内置的求解微分方程的函数,它支持多种数值方法,包括欧拉法和龙格-库塔法等。
使用ode函数可以简化求解微分方程的过程,提高计算效率。
在使用ode函数求解微分方程时,需要先定义微分方程的函数表达式,然后将函数表达式作为参数传入ode函数中。
ode函数会自动选择合适的数值方法来求解微分方程,并返回数值解。
通过调整ode函数的参数,可以进一步提高求解微分方程的精度和计算效率。
除了ode函数外,matlab中还有很多其他的数值计算函数,如dsolve函数、pdepe函数等,它们可以用来求解不同类型的微分方程。
在实际应用中,需要根据具体问题选择合适的数值方法和函数来求解微分方程。
利用matlab求解微分方程数值解是一种常用的数学计算方法,可以通过调用matlab中的内置函数来实现。
在选择数值方法和函数时需要考虑精度和计算效率等因素,以便更好地解决实际问题。
simulink微分模块详解Simulink是一个用于建模、仿真和分析动态系统的工具,微分模块在Simulink中扮演着重要的角色。
微分模块用于描述系统中的微分方程,可以帮助我们建立动态系统的模型,并进行仿真和分析。
下面我将从几个方面详细介绍Simulink中的微分模块。
首先,微分模块在Simulink中通常用于描述动态系统的状态方程。
在实际工程中,许多系统可以通过微分方程来描述其动态行为,比如电路、机械系统、控制系统等。
微分模块可以帮助我们将这些微分方程直接转化为Simulink模型,从而实现对动态系统的建模和仿真。
其次,Simulink中的微分模块可以用于求解微分方程。
通过将微分方程转化为差分方程,Simulink可以利用数值求解方法(如欧拉法、龙格-库塔法等)来对微分方程进行数值求解,从而得到系统的时间响应和状态变化情况。
这对于分析系统的动态行为以及设计控制器非常有帮助。
另外,微分模块还可以用于实现系统的状态空间表示。
在控制系统工程中,状态空间表示是描述动态系统行为的一种常用方法。
Simulink中的微分模块可以帮助我们将系统的状态方程表示为状态空间模型,从而进行状态空间分析和设计。
除此之外,Simulink中的微分模块还可以与其他模块结合,实现更复杂的系统建模和仿真。
比如可以将微分模块与控制器模块、传感器模块等连接起来,构建完整的控制系统模型,进行闭环仿真和分析。
总之,Simulink中的微分模块在动态系统建模和仿真中具有重要作用,可以帮助工程师们更方便地描述和分析动态系统的行为,是Simulink工具中不可或缺的一部分。
希望以上内容能够对你有所帮助。
欢迎使用百度文库
MATLAB/Simulink及振动微分方程的数值解法
李鹤
hli@
Simulink是基于MATLAB的图形化仿真平台,进行动态系统建模、仿真和综合分析的集成软件包。
MATLAB主窗口
Simulink主窗口/Simulink模型库浏览器
Simulink模型编辑器
加速度表达式
21u u u u
激振幅值
激振频率
经过积分一
次:速度
经过积分二
次:位移
u
u
u
u u
位移—时间曲线位移—速度相图
(5)设置速度初始值
双击设置速度初始值
Simulink求解振动微分方程的基本步骤(续)
(6)设置位移初始值
双击设置位移初始值
Simulink求解振动微分方程的基本步骤(续)
(7)设置Simulink 仿真参数:
积分时间步长:
1.保证积分收敛;
2.可以选外激振力周期的
1/n 。
积分起始时间积分终止时间
求解器:定步长4阶龙格库塔法
(8)开始计算,观察结果计算开始按钮
双击Scope或XYGraph察看结果
打印参数设置
视图整体缩放X 轴缩放Y 轴缩放
保存当前坐标轴设置恢复坐标轴设置
悬浮开关
去除坐标轴选择
悬浮时信号选择器
视图自动缩放
(9) Scope 工具栏详解
1222u u f n n u 单自由度有阻尼自由振动方程0
22 u u u n n u u u n n 22
1222u u f n n u 单自由度有阻尼强迫振动方程
t r u u u n n sin 22 t r u u u n n sin 22
范德波尔方程(自激振动)杜芬方程
31122u u u f u 012 u u u u u u u u 12 023 u u u u 32u u u u 12112u u u f u。