Simulink及振动微分方程的数值解法(2012.3.19)
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 δ=称为衰减运动的临界值。
微分方程数值求解方法

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机械振动仿真

③
:分子分母为多项式形式的传递函数。 双击该模块,弹出传递函数的参数对话框,设置框图中的参 数后,该传递函数显示如下:
:零极点增益形式的传递函数。 双击该模块,弹出传递函数的参数对话框,设置框图中 的参数后,该传递函数显示如下:
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常微分⽅程的数值求解~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 仿真二阶微分方程的求解专业:信息****** 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与微分方程组数解

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与微分方程组数解讲课讲稿

计算开始时 间
计算结束时 间
计算方法
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项 内
信号加:
可将+改成-, 或增加+,表 示多个信号
加
Simulink机械振动仿真简例分析

1.单自由度无阻尼自由振动
运行仿真,查看示波器显示的结果
曲 线 不 光 滑 ?
1.单自由度无阻尼自由振动
打开仿真参数对话框 Ctrl+E 修改最大步长为0.01
1.单自由度无阻尼自由振动
再次运行,曲线明显光滑了许多
1.单自由度无阻尼自由振动
• 用到的模块:
积分模块,将输入信号经过数值 积分,在输出端输出相应结果。 增益模块,在输入信号基础上乘 以一个特定数据,然后输出。 示波器模块,将输入信号输入到 示波器显示出来。
据此在Simulink中画出框图
5.单自由度有阻尼+正弦激励
• 参数设置: 令k=4,m=1,c=0.2 • 初始状态: 初始速度为0,位移为0.05 • 在框图中: 分别修改对应模块的数值
5.单自由度有阻尼+正弦激励
Hale Waihona Puke • 响应趋于稳态的过程5.单自由度有阻尼+正弦激励
示波器输出为质量块的位移信号
• 参数设置:k=100N/m, m=1kg →n=10rad/s • sin wave参数:Amplitude 1; Frequency 8,10,12 • 初始状态:①x0=1, v0=0→=90; ②x0=0, v0=1→=0; ③ x0=1, v0=10→=45; ④ x0=1, v0=−10→=135; ⑤ x0=0, v0= −1→=180 Sine Wave XY Graph • XY Graph参数 1 1 s s x-min -2; x-max 2; Integrator Integrator1 Gain Scope y-min -2; y-max 2
4.衰减振荡的阻尼比的估计
• 参数:k=100,m=10, c=2 • 初始条件:x0=1, v0=0 • 初始振幅为1,约7个周期时衰减 为0.25,对数减幅: =(ln4)/70.099 阻尼比/20.032 • 理论值=0.5c(km)−0.5 0.032
求微分方程数值解

求微分方程数值解
微分方程数值解是一种数学方法,用于解决一些复杂的微分方程,特别是那些无法通过解析方法求解的微分方程。
通过数值解法,我们可以得到微分方程的近似解,并且可以在计算机上进行实现,以便更好地理解和分析问题。
我们需要将微分方程转化为差分方程,这样就可以利用数值方法进行求解。
差分方程是一种以离散形式表示微分方程的方法,通过近似替代微分表达式,将连续问题转化为离散问题,从而实现计算机求解。
常见的数值方法包括欧拉方法、龙格-库塔方法等,它们通过不断迭代求解差分方程,逼近微分方程的解。
在应用数值解法求解微分方程时,需要注意选择合适的步长和迭代次数,以确保数值解的准确性和稳定性。
步长过大会导致数值误差增大,步长过小则会增加计算量,影响计算效率。
因此,需要在准确性和效率之间寻找平衡点,选择合适的参数进行计算。
在使用数值解法时,还需要考虑边界条件和初值条件的设定。
这些条件对于微分方程的求解至关重要,不同的条件设定可能会导致不同的数值解,甚至无法得到有效的解。
因此,在进行数值计算之前,需要对问题进行充分的分析和理解,确定合适的条件,以确保数值解的准确性和可靠性。
总的来说,微分方程数值解是一种强大的工具,可以帮助我们解决
复杂的微分方程,探索未知的领域。
通过合理的数值方法和参数选择,我们可以得到准确的数值解,从而更好地理解和应用微分方程的理论。
希望通过不断的探索和实践,我们可以更深入地理解微分方程数值解的原理和方法,为科学研究和工程实践提供更多有益的帮助。
simulink解微分方程

simulink解微分方程Simulink是一种常用的基于数学模型的仿真工具,它能够方便地解微分方程。
本篇文章将就如何使用Simulink解微分方程进行分步骤的阐述。
第一步:建立模型在Simulink中,首先需要建立模型。
打开Matlab软件,在命令窗口输入命令simulink即可进入Simulink工作界面。
然后,在工具栏上找到“New”按钮,选择“Model”新建一个模型,名称可根据自己的需求起。
第二步:添加微分方程在Simulink工作界面上,从左侧库浏览器中选择数学运算库,找到并拖动“Derivative”这个方块到建立的模型中。
然后,在你的系统中加入微分方程。
假设你的微分方程为:y'' + 3y' + 2y = 5sin(2t),其中y(0) = 1,y'(0) = 0则在Simulink中,根据上面拖进来的微分器,你可以设置以下示例模型:在此模型中,“x”表示自变量t,“F”表示右侧的常函数5sin(2t),“y_out”输出表示y的解,其中“1”代表初值y(0) = 1,“2”代表初值y'(0) = 0。
第三步:设置参数接下来,需要为模型设置参数。
双击建立的微分器之后,在“Derivative”对话框中,你需要将其“Parameters”选项中的“Gains”设置成2,并在“Initial Conditions”中将它们设置为y(0) = 1,y'(0) = 0。
最后保存设置。
第四步:运行模型现在,你已经完成了模型的建立和参数的设置,就开始运行模型。
点击Simulink工具箱中的“运行”按钮,在工具栏菜单中选中“Simulation”和“Start”来运行模型。
Simulink将会求出模型中的微分方程的解,并在y_out输出端口输出运算结果。
第五步:输出结果在模型运行完毕后,我们需要在Simulink中输出结果。
点击工具栏菜单“Display”中的“Scope”即可将结果以波形图的形式进行展示。
基于Simulink进行系统仿真(微分方程、传递函数)

实验四 基于Simulink 进行系统仿真(微分方程、传递函数)一.实验目的1) 熟悉Simulink 的工作环境;2) 掌握Simulink 数学工具箱的使用;3) 掌握在Simulink 的工作环境中建立系统仿真模型。
二.实验内容 系统微分方程:)(10)(10)(10)(83322t u t y dt t dy dt t y d =++ 系统传递函数:8328101010)()()(++==s s s U s Y s G1)(=t u ,)314sin()(t t u =,)90314sin()(o t t u +=模型微分方程时的过程Ut=1时u=时)(tt314)sin(tu+=时t)90314sin()(o传递函数时的过程u时)(1ttu 时)(tsin()314tu+=时)(ot)90314sin(结论及感想从两种种不同方法的仿真结果,我们可以看出分别用微分方程和传递函数在Simulink中,仿真出来的结果没有很明显的区别,说明两种方法的精度都差不多。
但是,不同的电压源得出的仿真结果不一样,阶跃电源开始时震荡,后来幅度逐渐变小,趋近于1;正弦电源,初相不同时,初始时刻的结果也不相同,有初相时开始震荡会更剧烈,但最后都会变为稳态值,即为正弦值。
通过本次实验,我认识到了建模与仿真的一般性方法,收获甚多,也更进一步了解了Matlab,Matlab 不仅仅在平时的编程方面功能强大,在仿真方面也熠熠生辉。
matlab振动微分方程轨迹曲线

matlab振动微分方程轨迹曲线要画出振动微分方程的轨迹曲线,首先需要解出微分方程的解析解或数值解。
下面以一个简单的单自由度系统为例进行说明。
假设系统的振动微分方程为:$$m\frac{d^2x}{dt^2}+c\frac{dx}{dt}+kx=F_0\sin(\omega t)$$ 其中,$m$为质量,$c$为阻尼系数,$k$为刚度系数,$F_0$为外力幅值,$\omega$为外力频率。
初始时刻,质点位于平衡位置$x_0$,速度为$v_0$。
解析解方法:使用拉普拉斯变换或复数变换的方法可以求解该微分方程的解析解,最终可以得到质点的位移$x(t)$的表达式。
根据这个表达式,就可以画出质点的轨迹图。
数值解方法:1.使用常微分方程数值解法求解可以使用欧拉法、梯形法、龙格-库塔法等数值解法来求解该微分方程。
最终得到质点的位移$x(t)$的近似解$x_i$,然后将$x_i$与$t$画出曲线就是轨迹图。
2.使用matlab内置函数ode45求解如果你使用的是matlab,可以利用ode45函数直接求解微分方程的数值解,具体步骤如下:1)将微分方程转换为函数句柄形式(将方程的右边看作一个函数):```function dxdt = myfun(t,x)m=1; %质量c=0.1; %阻尼系数k=1; %刚度系数F0=1; %外力幅值w=1; %外力频率dxdt(1) = x(2)dxdt(2) = (F0*sin(w*t)-c*x(2)-k*x(1))/m;dxdt = dxdt(:);end```该函数句柄名为myfun,该函数句柄输入参数为时间$t$和位移$x$,输出为位移和速度的变化率。
2)使用ode45函数求解微分方程:```[t,x] = ode45(@myfun,[0 10],[0 1]);```其中,第一个参数是函数句柄名,第二个参数是时间范围,第三个参数是初始条件(这里的初始条件为$x(0)=0$,$v(0)=1$)。
6 SIMULINK仿真基础之数值积分法仿真

(t k ) hk 1 /(|
m
0
y
k
| 1)
则有 hk 1 ( 0(| y
( 0 / ek )
1
k|1) / (t k ))
1
m
m m { 0(| y |1)hk /[ek (| y |1)]} k k
1
m
h
k
3)若ek> ε0,本步失败,但仍采用上式,重新进行积分。
(2)初始化程序:完成各类初始数据的准备工作,如设 置工作单元、给定变量初值和系统仿真参数等。
若 ek 0
k
m
ek (t k ) hk /(|
m
y
k
| 1)
则表示本步积分成功,可以用ek来确定下一步的最大步长hk+1 了。
2)假定hk+1足够小,即认为 (t k hk 1) (t k ) m 得 ek 1 (t k 1) hk 1 /(| y | 1)
6.1 数值积分法
6.1.1 概述
数字仿真模型、算法及仿真工具
控制系统的数字仿真是利用数字计算机作为仿真工具,采用数学上的各 种数值算法求解控制系统运动的微分方程,得到被控物理量的运动规律。 通常,计算机模拟被控对象是用一定的仿真算法来实现被控对象的运动规 律,这是基于被控对象的数学模型来完成的。
6.3 面向微分方程的仿真程序设计
6.3.1 通用仿真程序的一般结构及工作原理 1. 通用仿真程序的基本结构 以数字计算机作为仿真工具,使用适当的算法语言来 编制通用的仿真程序,可以针对不同的系统进行相应的仿真 处理。按常规组成结构,通用仿真程序可分为3个层次,即 主程序块、功能程序块、基本子程序块。 各模块功分析能如下: (1)主程序:完成仿真逻辑控制,实现各功能模块的 调用、模型的转换、系统运行、输入输出的控制等。
基于Simulink进行系统仿真(微分方程、传递函数)

实验四 基于Simulink 进行系统仿真(微分方程、传递函数)一.实验目的1) 熟悉Simulink 的工作环境;2) 掌握Simulink 数学工具箱的使用;3) 掌握在Simulink 的工作环境中建立系统仿真模型。
二.实验内容 系统微分方程:)(10)(10)(10)(83322t u t y dt t dy dt t y d =++ 系统传递函数:8328101010)()()(++==s s s U s Y s G1)(=t u ,)314sin()(t t u =,)90314sin()(o t t u +=模型微分方程时的过程Ut=1时u=时)(tt314)sin(tu+=时t)90314sin()(o传递函数时的过程u时)(1ttu 时)(tsin()314tu+=时)(ot)90314sin(结论及感想从两种种不同方法的仿真结果,我们可以看出分别用微分方程和传递函数在Simulink中,仿真出来的结果没有很明显的区别,说明两种方法的精度都差不多。
但是,不同的电压源得出的仿真结果不一样,阶跃电源开始时震荡,后来幅度逐渐变小,趋近于1;正弦电源,初相不同时,初始时刻的结果也不相同,有初相时开始震荡会更剧烈,但最后都会变为稳态值,即为正弦值。
通过本次实验,我认识到了建模与仿真的一般性方法,收获甚多,也更进一步了解了Matlab,Matlab 不仅仅在平时的编程方面功能强大,在仿真方面也熠熠生辉。
实验九:利用Simulink仿真

实验九:利用Simulink仿真一、实验目的熟悉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.4x’(t)+0.9x(t)=0.7u(t)的方程解,其中u(t)是脉冲信号。
需要使用Simulink求解x(t)。
3、求解非线性微分方程(3x-2x^2)x’-4x=4x’’。
其中x和x’都是x(t)和x’(t),其初始值,x’(0)=0,x(0)=2。
求解该方程的数值解,并绘制函数的波形。
需要使用Simulink求解x(t)。
四、实验过程1、求解二阶微分方程x’’(t)+0.4x’(t)+0.9x(t)=0.7u(t)的方程解,其中u(t)是脉冲信号。
需要使用Simulink求解x(t)。
使用Simulink创建微分方程:设置“Pulse Generator”模块的属性设置“SUM”模块的属性仿真结果:2、使用传递函数模块求解二阶微分方程x’’(t)+0.4x’(t)+0.9x(t)=0.7u(t)的方程解,其中u(t)是脉冲信号。
需要使用Simulink求解x(t)。
使用Simulink创建传递函数:设置转换函数模块“Transfer Fcn”模块的属性仿真结果3、求解非线性微分方程(3x-2x^2)x’-4x=4x’’。
其中x和x’都是x(t)和x’(t),其初始值,x’(0)=0,x(0)=2。
求解该方程的数值解,并绘制函数的波形。
需要使用Simulink求解x(t)。
使用Simulink创建微分方程设置“Fcn”模块的属性设置“Product”模块的属性设置“Integrator”模块的属性仿真结果五、实验的收获、心得、问题、困难和建议本次实验使用Simulink解决了一些方程的求解,熟悉了Simulink基本用法。
用simulink求解二阶微分方程

用simulink求解二阶微分方程
Simulink是由MathWorks公司开发的图形化建模、仿真和代码生成分析工具,可用于模拟和分析系统动态行为。
可以用它来求解二阶微分方程。
首先,要求用户根据二阶微分方程,建立支持索取解答结果的Simulink模型。
因为Simulink中包含多种建模、仿真和代码生成分析工具,可以构建具有各种复
杂结构的模型,所以用户可以灵活地将他们的二阶微分方程建模为一个Simulink
模型。
接着,用户可以设置仿真参数,仿真起始时间和仿真结束时间,以及希望仿真
的步长。
然后,用户还可以添加显示元件,选择数据可视化的显示方式,如曲线或数据表,以便对仿真结果进行分析。
最后,用户可以启动仿真,Simulink系统开
始根据模型自动求解二阶微分方程,生成解决方案,并将结果以可视化形式呈现出来,方便用户查看和比较分析仿真结果。
总之,Simulink提供了用于求解二阶微分方程的强大分析工具,帮助用户快
速有效地获得解决方案,极大提升了工程师和研究人员求解二阶微分方程的效率,促进了新技术在工程和科学领域的应用,为社会发展和科技进步做出了贡献。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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模型编辑器