1、南京航空航天大学南京航空航天大学基于基于MATLAB/SIMULINKMATLAB/SIMULINK的系的系统建模与仿真统建模与仿真 任课教师:刘燕斌任课教师:刘燕斌 二一零年三月二一零年三月2022-12-17基于MATLAB/SIMULINK的系统建模与仿真SimulinkSimulink仿真实例仿真实例xxxxx 44)23(2 例题例题1 1,使用使用SimulinkSimulink创建系统创建系统,求解非求解非线性微分方程线性微分方程 .其初始其初始值为值为 ,绘制函数的波形绘制函数的波形.2)0(,0)0(xx 创建仿真系统为创建仿真系统为2022-12-17基于MATLAB/SI
2、MULINK的系统建模与仿真SimulinkSimulink仿真实例仿真实例2022-12-17基于MATLAB/SIMULINK的系统建模与仿真SimulinkSimulink仿真实例仿真实例 例题例题2 2,力,力-质量系统,要拉动一个箱子质量系统,要拉动一个箱子(拉力(拉力f=1N)f=1N),箱子质量为,箱子质量为M(1kg)M(1kg),箱子与地,箱子与地面存在摩擦力面存在摩擦力(b=0.4N(/m/s),(b=0.4N(/m/s),其大小与车其大小与车子的速度成正比。子的速度成正比。2022-12-17基于MATLAB/SIMULINK的系统建模与仿真SimulinkSimulin
3、k仿真实例仿真实例 其运动方程式为其运动方程式为xMxbf 拉力作用时间为拉力作用时间为2s2s,建构的模型为,建构的模型为2022-12-17基于MATLAB/SIMULINK的系统建模与仿真SimulinkSimulink仿真实例仿真实例 因有摩擦力存在,箱子最终将会停止前因有摩擦力存在,箱子最终将会停止前进。进。2022-12-17基于MATLAB/SIMULINK的系统建模与仿真SimulinkSimulink仿真实例仿真实例 例题例题3 3,力,力-弹簧弹簧-阻尼系统,假设箱子与地面阻尼系统,假设箱子与地面无摩擦存在,箱子质量为无摩擦存在,箱子质量为M(1kg)M(1kg),箱子与墙
4、壁间有,箱子与墙壁间有线性弹簧线性弹簧(k=1N/m)(k=1N/m)与阻尼器与阻尼器(b=0.3N/ms(b=0.3N/ms-1-1)。阻尼器。阻尼器主要用来吸收系统的能量,吸收系统的能量转变成主要用来吸收系统的能量,吸收系统的能量转变成热能而消耗掉。现将箱子拉离静止状态热能而消耗掉。现将箱子拉离静止状态2cm2cm后放开,后放开,试求箱子的运动轨迹。试求箱子的运动轨迹。2022-12-17基于MATLAB/SIMULINK的系统建模与仿真SimulinkSimulink仿真实例仿真实例 运动方程式为运动方程式为0 xbkxxM 构建的模型为构建的模型为2022-12-17基于MATLAB/
5、SIMULINK的系统建模与仿真SimulinkSimulink仿真实例仿真实例 因有阻尼器存在,故箱子最终会停止运因有阻尼器存在,故箱子最终会停止运动。动。2022-12-17基于MATLAB/SIMULINK的系统建模与仿真SimulinkSimulink仿真实例仿真实例 例题例题4 4,下图所示简单的单摆系统,下图所示简单的单摆系统,假假设杆的长度为设杆的长度为L,L,且质量不计且质量不计,钢球的质量为钢球的质量为m.m.单摆的运动可以以线性的微分方程式来单摆的运动可以以线性的微分方程式来近似近似,但事实上系统的行为是非线性的但事实上系统的行为是非线性的,而而且存在粘滞阻尼且存在粘滞阻尼
6、,假设粘滞阻尼系数为假设粘滞阻尼系数为bkg/msbkg/ms-1-1.2022-12-17基于MATLAB/SIMULINK的系统建模与仿真SimulinkSimulink仿真实例仿真实例 选取选取b=0.03,g=9.8,L=0.8,m=0.3,b=0.03,g=9.8,L=0.8,m=0.3,所构所构建的模型建的模型 mLbLmgsin 单摆系统的运动方程式为单摆系统的运动方程式为2022-12-17基于MATLAB/SIMULINK的系统建模与仿真SimulinkSimulink仿真实例仿真实例2022-12-17基于MATLAB/SIMULINK的系统建模与仿真SimulinkSim
7、ulink仿真实例仿真实例 例题例题5 5:蹦极跳系统蹦极跳系统:当你系着弹力:当你系着弹力绳从桥上跳下来时,会发生什么?这里,绳从桥上跳下来时,会发生什么?这里,以蹦极跳作为一个连续系统的例子。以蹦极跳作为一个连续系统的例子。自由下落的物体满足牛顿运动定自由下落的物体满足牛顿运动定律:律:F=ma.F=ma.假设绳子的弹性系数为假设绳子的弹性系数为k k,它的拉伸影响系统的动力响应,如果它的拉伸影响系统的动力响应,如果定义人站在桥上时绳索下端的初始位定义人站在桥上时绳索下端的初始位置为置为0 0位置,位置,x x为拉伸位置,那么用为拉伸位置,那么用b(x)b(x)表示绳子的张力。表示绳子的张
8、力。2022-12-17基于MATLAB/SIMULINK的系统建模与仿真SimulinkSimulink仿真实例仿真实例 0,00,)(xxkxxb 设设m m为物体的质量,为物体的质量,g g是重力加速度,是重力加速度,a1,a2a1,a2是空气阻尼系数,系统方程可以是空气阻尼系数,系统方程可以表示为表示为xxaxaxbmgxm 21)(2022-12-17基于MATLAB/SIMULINK的系统建模与仿真SimulinkSimulink仿真实例仿真实例 在在MATLABMATLAB中建立这个方程的中建立这个方程的SimulinkSimulink模模型,这里需要使用两个积分器。型,这里需要
9、使用两个积分器。2022-12-17基于MATLAB/SIMULINK的系统建模与仿真SimulinkSimulink仿真实例仿真实例 一旦一旦x x和它的导数已经搭好,就可以使用和它的导数已经搭好,就可以使用一个增益模块表示空气阻力比例系数,使用一个增益模块表示空气阻力比例系数,使用FunctionFunction模块表示空气阻力中的非线性部分。模块表示空气阻力中的非线性部分。2022-12-17基于MATLAB/SIMULINK的系统建模与仿真SimulinkSimulink仿真实例仿真实例 b(x)b(x)是通过门槛为是通过门槛为0 0的的x x条件式确定的,条件式确定的,可以使用一个可
10、以使用一个SwitchSwitch模块来实现判断条件。模块来实现判断条件。2022-12-17基于MATLAB/SIMULINK的系统建模与仿真SimulinkSimulink仿真实例仿真实例 最终系统最终系统SimulinkSimulink模型方块图为模型方块图为2022-12-17基于MATLAB/SIMULINK的系统建模与仿真SimulinkSimulink仿真实例仿真实例 仿真过程中,设绳索长度仿真过程中,设绳索长度-30m-30m,起始速,起始速度为度为0 0;物体质量为;物体质量为90kg90kg,g g为为9.8m/s2,9.8m/s2,弹性弹性系数系数k k为为2020,a1
11、a1和和a2a2均为均为1.1.2022-12-17基于MATLAB/SIMULINK的系统建模与仿真SimulinkSimulink仿真实例仿真实例 仿真曲线为仿真曲线为2022-12-17基于MATLAB/SIMULINK的系统建模与仿真SimulinkSimulink仿真实例仿真实例 假设未伸长时绳索的端部距地面为假设未伸长时绳索的端部距地面为50m,50m,为了得到更真实的曲线,将为了得到更真实的曲线,将5050减去输出位置减去输出位置2022-12-17基于MATLAB/SIMULINK的系统建模与仿真SimulinkSimulink仿真实例仿真实例 可以看到,眺跃者已经撞到了地上。
12、可以看到,眺跃者已经撞到了地上。仿真曲线为仿真曲线为2022-12-17基于MATLAB/SIMULINK的系统建模与仿真SimulinkSimulink仿真实例仿真实例 首先在例首先在例1 1模型中添加一个模型中添加一个outputoutput模块,并将模型文件保存为模块,并将模型文件保存为bungee_cmdbungee_cmd,然后建立一个脚本文件试验不同的然后建立一个脚本文件试验不同的k k值,值,当地面的距离为正时停止仿真。当地面的距离为正时停止仿真。例题例题6 6,通过例题,通过例题5 5的仿真,可以看的仿真,可以看到,跳跃者的身体碰到了地面上!现在到,跳跃者的身体碰到了地面上!现
13、在想选择一个安全的绳索,编写一个脚本想选择一个安全的绳索,编写一个脚本文件尝试不同的弹性常数,以保证文件尝试不同的弹性常数,以保证9090千千克重的身体安全的最小弹性常数值。克重的身体安全的最小弹性常数值。2022-12-17基于MATLAB/SIMULINK的系统建模与仿真SimulinkSimulink仿真实例仿真实例2022-12-17基于MATLAB/SIMULINK的系统建模与仿真SimulinkSimulink仿真实例仿真实例2022-12-17基于MATLAB/SIMULINK的系统建模与仿真SimulinkSimulink仿真实例仿真实例 例题例题7 7,模型和模块的属性中包含
14、回调函,模型和模块的属性中包含回调函数。下图是蹦极跳的模型方块图,当运行这数。下图是蹦极跳的模型方块图,当运行这个模型时,并不需要设置参数,这是因为蹦个模型时,并不需要设置参数,这是因为蹦极模型文件中先执行回调函数。极模型文件中先执行回调函数。2022-12-17基于MATLAB/SIMULINK的系统建模与仿真SimulinkSimulink仿真实例仿真实例2022-12-17基于MATLAB/SIMULINK的系统建模与仿真SimulinkSimulink仿真实例仿真实例 例题例题8 8,建立一个积分器,输入为,建立一个积分器,输入为1 1,初,初始条件为始条件为-50-50,如果输出超过
15、,如果输出超过2020,则重置为,则重置为-100100。2022-12-17基于MATLAB/SIMULINK的系统建模与仿真SimulinkSimulink仿真实例仿真实例2022-12-17基于MATLAB/SIMULINK的系统建模与仿真SimulinkSimulink仿真实例仿真实例2022-12-17基于MATLAB/SIMULINK的系统建模与仿真SimulinkSimulink仿真实例仿真实例2022-12-17基于MATLAB/SIMULINK的系统建模与仿真SimulinkSimulink仿真实例仿真实例 例题例题9 9,重置弹力球。一个弹力球以,重置弹力球。一个弹力球以1
16、5m/s15m/s的速度从距水平设置的速度从距水平设置10m10m的高度抛向空的高度抛向空中,球的弹力为中,球的弹力为0.80.8,当球到达球面时,重新,当球到达球面时,重新设置其初始速度为设置其初始速度为0.8x0.8x,x x是重置时刻球的速是重置时刻球的速度,即积分器的状态。度,即积分器的状态。球的抛物线运动满足下列公式球的抛物线运动满足下列公式mhgtvhsmvgtvv10,5.0/15,0200 2022-12-17基于MATLAB/SIMULINK的系统建模与仿真SimulinkSimulink仿真实例仿真实例v0vg 其中,其中,为球的速度,为球的速度,为球的初始速为球的初始速度,度,为重力加速度,为重力加速度,为球从起始位置开为球从起始位置开始的高度,始的高度,为球的初始高度,即球距地面为球的初始高度,即球距地面的高度,因此球距地面的实际高度为的高度,因此球距地面的实际高度为 。h0h0hh 2022-12-17基于MATLAB/SIMULINK的系统建模与仿真SimulinkSimulink仿真实例仿真实例2022-12-17基于MATLAB/SIMULINK的系统建模与仿真SimulinkSimulink仿真实例仿真实例