Simulink及振动微分方程的数值解法(2012.3.19)

合集下载

Simulink及振动微分方程的数值解法

Simulink及振动微分方程的数值解法

欢迎使用百度文库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 δ=称为衰减运动的临界值。

微分方程数值求解方法

微分方程数值求解方法
在t1时刻,曲线上点 y t1 可以切线上的点代替,则
y t1 y t0 f t0 , y t0 t1 t0
写成迭代格式
yn1 yn hf tn , yn
t0 t1
3. 龙格库塔法
龙格-库塔法(Runge-Kutta)是用于常微分方程求解的一类重要迭代方 法,由数学家卡尔·龙格和马丁·威尔海姆·库塔于1900年左右发明。对于 如下方程
3. 龙格库塔法
k1 f t n , yn h h k 2 f t n , yn k1 2 2 h h k3 f t n , y n k 2 2 2 k 4 f t n h, yn hk3 k k1 2k 2 2k3 k 4 6 yn 1 yn hk
u 1 u2
2 u u1 2 F cos t 2 nu2 n
每一种方法的区别 在于,如何从前一 个点得到下一点。
2. 欧拉法
以如下微分方程为例
yt f t , y t
y t0 y0
已知A0点坐标 t0 , y t0 ,过A0点的切线方程为
y y t0 yt0 t t0 f t0 , y t0 t t0
yt f t , yt
yt0 y0
龙格-库塔法的基本格式如下 1 yn1 yn h k1 2k2 2k3 k 4 6 k1 f t n , yn
yn1 yn hf tn , yn
h h k 2 f tn , yn k1 2 2 h h k3 f t n , y n k 2 2 2 k 4 f t n h, yn hk3

Simulink机械振动仿真

Simulink机械振动仿真


:分子分母为多项式形式的传递函数。 双击该模块,弹出传递函数的参数对话框,设置框图中的参 数后,该传递函数显示如下:
:零极点增益形式的传递函数。 双击该模块,弹出传递函数的参数对话框,设置框图中 的参数后,该传递函数显示如下:
Math 库 该库包含描述一般数学函数 的模块。双击 即弹出右 图。 该库中模块的功能就是 将输入信号按照模块所 描述的数学运算函数计 算,并把运算结果作为 输出信号输出。
[说明]若不设置仿真参数,则采用Simulink缺省设置.
1 Simulink 基本操作
1.3 系统仿真运行 1. Simulink模型窗口下仿真 步骤 ③ 仿真运行和终止:在模型窗口选取菜单【Simulation: Start】, 仿真开始,至设置的仿真终止时间,仿真结束。若在仿真过程 中要中止仿真,可选择【Simulation: Stop】菜单。也可直接点 击模型窗口中的 (或 )启动(或停止)仿真。
Simulink下的机械振动仿真
主要内容如下:
1 2 3 4 Simulink基本操作 基本模块 系统仿真 Simulink仿真举例

Simulink 中的“Simu”一词表示可用于计算机仿真,而 “Link”一词表示它能进行系统连接,即把一系列模块 连接起来,构成复杂的系统模型。作为MATLAB的一 个重要组成部分,Simulink由于它所具有的上述的两大 功能和特色,以及所提供的可视化仿真环境、快捷简 便的操作方法,而使其成为目前最受欢迎的仿真软件 。 介绍Simulink的基本功能和基本操作方法,并通过举例 介绍如何利用Simulink进行系统建模和仿真。

当设置幅值为0.8,阶跃时间 为1秒时,阶跃波形如下图 所示:
Sinks 库

【转@总结】simulink常微分方程的数值求解~ode45

【转@总结】simulink常微分方程的数值求解~ode45

【转@总结】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仿真实验

SIMULINK仿真实验

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)是脉冲信号。

第四章 Simulink与微分方程组数解

第四章    Simulink与微分方程组数解
d X A XB u .....( 1 ) 此 为 状 态 方 程 , X 为 状 态 , U 为 输 入 d t Y C XD u ........(2 )此 为 输 出 方 程 ,为 Y 输 出 , 其 中 X 为 维 数 为 N 的 向 量 ,为 A NN 的 矩 阵 ,为 B NM 的 矩 阵 U 为 维 数 为 M 的 向 量 ,为 Y 维 数 为的 r 向 量 , C 为 rN 的 矩 阵 , D 为 rM 的 矩 阵 .
Function dy=f2(t,y) dy=[y(1)+y(2);y(1)-y(2)];
2. 一元高次微分方程数值求解
y a ( ty ,, yy ' ,' ' , . . . y ) y . . . 1
() n
( n 1 )
( n 1 )
a ( ty ,, yy ' ,' ' , . . . y ) y b ( ty ,, yy ' ,' ' , . . . y ) n
写好程序后保存到一文件,文件名一般与函数名相同 (2)调用函数quad(‘name’,tmin,tmax)求数值积分 Name:函数名,tmin,tmax,积分下限,上限 例:quad(‘f1’,0,pi/2)
NOTE:函数内*,/一般采用.*,./
例 : 编 写 函 数 2 1 0 . 5 * s i n( x )
(7)按SIMULATION—START开始仿真计算。 (8)点击SCOPE观察计算结果,或者查看WORKSPACE, 观看变量值,根据需要保存绘制计算值。
SCOPE:
•例2
已 知 直 流 发 动 机 的 控 制 系 统 的 微 分 方 程 为 : di L UR i C 1 dt d J Ci 2 M dt

最新第四章 Simulink与微分方程组数解讲课讲稿

最新第四章    Simulink与微分方程组数解讲课讲稿

计算开始时 间
计算结束时 间
计算方法
MATLAB6.5
(7)按SIMULATION—START开始仿真计算。 (8)点击SCOPE观察计算结果,或者查看WORKSPACE, 观看变量值,根据需要保存绘制计算值。
SCOPE:
•例2
已知直流发动机的控制系统的微分方程为:
Ldi dt
URi
C1
d
J dt C2iM
50
0
-50
-100
0
1
2
3
4
5
6
7
8
9 10
方法2:根据微分方程直接利用积分,微分, 求和绘制系统模型。
Ld d ti U R i C 1 .......Jd d tC 2 i M
积分
第1个方程
输入电 压U
转速 电流
第2个方程:
J
d
dt
C2i
M
负载
电流
设置输出点:
输出转速


输出点 2
输出点1
(1)根据上述方程定义矩阵A,B,C,D。
(2)设置矩阵,双击选项,出现设置菜单。
将默认值1修改成矩 阵常数或已经定义好
的矩阵变量
(3)设置输入,输出
设置输入值, 可以是向量 常数或是已 经定义的向
量变量
(4)设置计算选项,开始计算,并选取计算结果 电流计算结果
250
200
150
100
50
0
0
信号的+,-,比例放 大在Math Operation项 内
信号加:
可将+改成-, 或增加+,表 示多个信号
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

x 2x xx f u 2u 2 u 1 u 13
User-Defined Functions
拖拽Fcn: 双击:
加速度表达式
u u 1 u u 2
Simulink求解振动微分方程的基本步骤(续)
u f u, u r sin t
u u 1 u u 2
Simulink求解振动微分方程的基本步骤(续) (4)加入Simulink/Scope模块或XY Graph模块观察计算结果 :
Sinks
拖拽:
位移—时间曲线
连 接
位移—速度相图
Simulink求解振动微分方程的基本步骤(续) (5)设置速度初始值
设置速度初始值
单自由度有阻尼强迫振动方程
2 u 2 nu n u r sin t 2 u 2 nu n u r sin t 2 f u 2n u 2 n u 1
杜芬方程
u 2u u u3 0 u 2u u u
Simulink求解振动微分方程的基本步骤 (1) 首先把振动微分方程改写成加速度表达式形式,并使用 Simulink/Fcn模块(自定义函数模块)、Sine Wave模块(正弦 信号模块) 和Sum模块(求和器)等表示: 3 x 2 x x x 0 u f u, u r sin t 3 阻尼力与恢复力
Sources
外激振力 双击:激振幅值Fra bibliotek拖拽:
激振频率
Simulink求解振动微分方程的基本步骤(续)
u f u , u r sin t
Commonly Used Blocks
拖拽Sum:
连接:
Simulink求解振动微分方程的基本步骤(续) (2) 利用Simulink/Integrator(积分器)对加速度积分:
3
f u 2u 2 u 1 u 13
范德波尔方程(自激振动)
u u 2 1 u u 0 u u 2 1 u u




f u u 12 1 u 2 u 1


(9) Scope工具栏详解
参数设置 打印 视图整体缩放 X轴缩放 Y轴缩放
悬浮时信号选择器 去除坐标轴选择 视图自动缩放 悬浮开关
保存当前坐标轴设置
恢复坐标轴设置
单自由度有阻尼自由振动方程
2 u 2 nu n u0 2 u 2 nu n u 2 f u 2n u 2 n u 1
双击
Simulink求解振动微分方程的基本步骤(续) (6)设置位移初始值
设置位移初始值
双击
(7)设置Simulink仿真参数 :
积分起始时间
积分终止时间
积分时间步长:
求解器:定步长4阶龙格库塔法
1.保证积分收敛; 2.可以选外激振力周期的 1/n。
(8)开始计算,观察结果
计算开始按钮
双击Scope或XYGraph察看结果
u u u
Continuous
拖拽:
u
经过积分一 次:速度
u
连接:
u
经过积分二 次:位移
Simulink求解振动微分方程的基本步骤(续) (3)将速度、位移连接到Simulink/Fcn模块 :
Commonly Used Blocks
u
u
信号组合器Mux: 把速度、位移信号 组成一个数组,便 于后续计算。
MATLAB/Simulink及 振动微分方程的数值解法 李鹤 hli@
Simulink是基于MATLAB的图形化仿真平台,进行动态系统 建模、仿真和综合分析的集成软件包。 MATLAB主窗口
Simulink主窗口/Simulink模型库浏览器
Simulink模型编辑器
相关文档
最新文档