Simulink及振动微分方程的数值解法(2012.3.19)
- 格式:pdf
- 大小:1.33 MB
- 文档页数:15
欢迎使用百度文库MATLAB/Simulink及振动微分方程的数值解法李鹤hli@Simulink是基于MATLAB的图形化仿真平台,进行动态系统建模、仿真和综合分析的集成软件包。
MATLAB主窗口Simulink主窗口/Simulink模型库浏览器Simulink模型编辑器加速度表达式21u u u u激振幅值激振频率经过积分一次:速度经过积分二次:位移uuuu 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 单自由度有阻尼自由振动方程022 u u u n n u u u n n 221222u 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。
振动线性微分方程模型数学科学学院 数学与应用数学 10 汉本 ***摘要:振动是日常生活和工程技术中常见的一种运动形式。
例如,单摆,弹簧的振动,RLC 电路的电磁振荡等。
在一定条件下振动问题可归结为二阶线性常系数微分方程的问题来讨论。
这篇文章中以弹簧振动为具体的微分方程模型,利用常系数线性微分方程的理论讨论有关振动的问题并通过对其解的分析,阐明有关的物理现象。
关键词: 线性 临界值 特征方程 共振线性振动的弹簧振动模型质量为m 的指点固定在弹簧上沿水平轴振动,平衡位置0x =。
由受力分析可知水平方向上质点受弹簧弹力与介质阻力(例如与水平面及空气的摩擦力)。
由胡克定律F kx =-知质点所受弹力为kx -,其中k 为弹簧系数。
又由介质阻力与质点运动速度dx dt 成正比,阻力为dx a dt -,由牛顿第二定律有22()d x dx m kx a f t dt dt =--+ (1)其中()f t 为外力。
(1)即为线性振动的数学模型。
l.简谐振动(无阻尼运动)当外力()0f t =,阻力0dx a dt -=,则(1)写为220d x m kx dt += ,即 0mx kx +=这时的振动称之为简谐振动,(1)化为2+w 0x x =,其中2k w m =,解特征方程220w λ+= 解得 wi λ=±可知(1)的通解为12()cos sin sin()x t C wt C wt A wt ϕ=+=+ A = 12arctan C C θ=ⅰ) 对于给定的弹簧,k 为常数 w = 为一固定常数,则余弦函数的周期 2T wπ=此时,弹簧的振动是稳定的,运动的位置与速度都随时间 t 周期性变化ⅱ) k 增大(弹力F 增大)或质点m 减小时ѡ增大,T 减小,这与我们高中时所学的知识是相符的⒉ 衰减振动(有阻尼自由振动)当外力()0f t = 但阻力 0dx adt-≠ 时,(1)写成 '0mx ax kx ++= 这时的振动称为衰减振动,方程化为 '0a k x x x m m ++= ,记2a m δ= ,2k w m =特征方程2220w λδλ++= 解得1,2=-λδ讨论:对于固定弹簧ⅰ) 当 22w δ> 特征方程有两个不同的负实根,这时方程的通解为1212()t t x t C e C e λλ=+可以看出对于位移X ,t →∞时,0x →,振动迅速衰减,振动速度衰减,并趋于0而停止,振动也停止,运动不再具有振动性质ⅱ) 当 22w δ< 特征方程有两个不同复根,记1,2=i λαβ± ,其中 αδ=- ,方程通解为12()[cos sin ]t x t e C t C t δββ-=+ ,此时随着t →∞ 振幅x 减小,0x → ,运动趋于停止,存在T 为一常数但它并不是严格意义上的周期函数,只是从一个最大振幅便到另一个最大 振幅所用的时间相等为Tⅲ) 当 22w δ= 特征方程有实重根 12λλδ==- 这时方程的通解为 12()()t x t C t C e δ-=+ 当t →∞时,位移X 与速度均趋于0而停止,运动 不再具有振动性质,而w δ=称为衰减运动的临界值。
【转@总结】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了。
SimuLink 仿真二阶微分方程的求解专业:信息****** 1031020118****** 1031020124****** 1031020217指导老师:***日期:2012—12—25题目:二阶微分方程的求解一、实验目的1、熟悉Simulink 基本用法。
2、了解simulink 的一些模块的意义。
3、掌握模块的选取、复制、删除操作。
4、学会simulink 模块的连接以及模块参数的设置。
二、实验仪器1、计算机2、MATLAB 软件环境三、实验内容1、求解二阶微分方程x(t)0.4x(t)0.9x(t)0.7u(t)++=的方程解,其中u(t)是脉冲信号。
需要使用Simulink 求解x(t)。
2 、求解二阶微分方程x(t)0.2x(t)0.4x(t)0.2u(t)++=,其中u(t)是脉冲信号。
需要使用Simulink 求解x(t)。
3、求解二阶微分方程x(t)0.5x(t)0.8x(t)0.9u(t)++=的解x(t);其中初值为 ,并且 是一个余弦信号。
四、实验过程1、求解二阶微分方程x(t)0.4x(t)0.9x(t)0.7u(t)++=的方程解,其中u(t)是脉冲信号。
需要使用Simulink 求解x(t)。
1.1)用matlab 求解此二阶微分方程:在matlab 中输入程序: syms t y;u=sin(t); uu=0.7*u;y=dsolve(['D2y+0.4*Dy+0.9*y=',char(uu)]);程序运行结果:y =exp(-1/5*t)*sin(1/10*86^(1/2)*t)*C2+exp(-1/5*t)*cos(1/10*86^(1/2)*t)*C1-7/17*sin(t)-28/17*cos(t) 1.2)利用simulink 求解此二阶微分方程x(0)1x(0)3=⎧⎨=⎩u(t)cos(t)=1.21使用simulink创建微分方程:创建m文件:function Ts=yuejiewqqt=0:.1:20;y=heaviside(t);Ts=[t',y'];用Simulink做所得模块:1.22设置模块属性:设置模块pulse的模块属性:设置模块add的模块属性:1.23 运行simuliksimulink结果运行图:2、求解二阶微分方程x(t)0.2x(t)0.4x(t)0.2u(t)++=,其中u(t)是脉冲信号。
求微分方程数值解
微分方程数值解是一种数学方法,用于解决一些复杂的微分方程,特别是那些无法通过解析方法求解的微分方程。
通过数值解法,我们可以得到微分方程的近似解,并且可以在计算机上进行实现,以便更好地理解和分析问题。
我们需要将微分方程转化为差分方程,这样就可以利用数值方法进行求解。
差分方程是一种以离散形式表示微分方程的方法,通过近似替代微分表达式,将连续问题转化为离散问题,从而实现计算机求解。
常见的数值方法包括欧拉方法、龙格-库塔方法等,它们通过不断迭代求解差分方程,逼近微分方程的解。
在应用数值解法求解微分方程时,需要注意选择合适的步长和迭代次数,以确保数值解的准确性和稳定性。
步长过大会导致数值误差增大,步长过小则会增加计算量,影响计算效率。
因此,需要在准确性和效率之间寻找平衡点,选择合适的参数进行计算。
在使用数值解法时,还需要考虑边界条件和初值条件的设定。
这些条件对于微分方程的求解至关重要,不同的条件设定可能会导致不同的数值解,甚至无法得到有效的解。
因此,在进行数值计算之前,需要对问题进行充分的分析和理解,确定合适的条件,以确保数值解的准确性和可靠性。
总的来说,微分方程数值解是一种强大的工具,可以帮助我们解决
复杂的微分方程,探索未知的领域。
通过合理的数值方法和参数选择,我们可以得到准确的数值解,从而更好地理解和应用微分方程的理论。
希望通过不断的探索和实践,我们可以更深入地理解微分方程数值解的原理和方法,为科学研究和工程实践提供更多有益的帮助。