[工程科技]第二章SIMULINK仿真基础.ppt

上传人:文库蛋蛋多 文档编号:2815412 上传时间:2023-02-25 格式:PPT 页数:56 大小:2.85MB
返回 下载 相关 举报
[工程科技]第二章SIMULINK仿真基础.ppt_第1页
第1页 / 共56页
[工程科技]第二章SIMULINK仿真基础.ppt_第2页
第2页 / 共56页
[工程科技]第二章SIMULINK仿真基础.ppt_第3页
第3页 / 共56页
[工程科技]第二章SIMULINK仿真基础.ppt_第4页
第4页 / 共56页
[工程科技]第二章SIMULINK仿真基础.ppt_第5页
第5页 / 共56页
点击查看更多>>
资源描述

《[工程科技]第二章SIMULINK仿真基础.ppt》由会员分享,可在线阅读,更多相关《[工程科技]第二章SIMULINK仿真基础.ppt(56页珍藏版)》请在三一办公上搜索。

1、Matlab和Simulink,Matlab是集数值计算、符号运算和图形处理功能于一身的超级科学计算语言;与其它计算语言相比,Matlab在功能、开放性和易学性等方面独占鳌头;Matlab的核心是数值计算,Simulink是建立系统框图和仿真的环境;,*Battery(s)V0 43 0 DC 15V;V1 39 0 DC 15V;*DISCHARGEV_0 41 0 PULSE(-15 15 196ms 10us 10us 20ms 200ms);*OFFSETV_1 5 0 PULSE(5-5.7 150ms 10us 10us 50ms 200ms);*PIBIASV_2 1 0 PUL

2、SE(10-10 190ms 2us 2us 10ms 200ms);*Misc.TRAN 10us 210ms 0s 10ms UIC,语句方式,框图方式,SIMULINK仿真基础,在工程实际中,控制系统的结构往往很复杂,如果不借助专用的系统建模软件,则很难准确地把一个控制系统的复杂模型输入计算机,对其进行进一步的分析与仿真。1990年,Math Works软件公司命名为SIMULAB,1992年正式将该软件更名为SIMULINK,使得仿真软件进入了模型化图形组态阶段。,SIMULINK的名称表明了该系统的两个主要功能:Simu(仿真)和Link(连接),即该软件可以利用鼠标在模型窗口上绘制

3、出所需要的控制系统模型,然后利用SIMULINK提供的功能来对系统进行仿真和分析。,Simulink Basics,click the Simulink button,the Simulink window,click the“new”button,the simulink model window,Simulink Basics,create a new model or open an existing one,第一节 SIMULINK简介,SIMULINK与MATLAB语言的主要区别在于使用户把更多的精力投入到系统模型的构建,而非语言的编程上。SIMULINK提供了一些按功能分类的基本的

4、系统模块,用户只需要知道这些模块的输入输出及模块的功能,而不必考察模块内部是如何实现的,通过对这些基本模块的调用,再将它们连接起来就可以构成所需要的系统模型(以.mdl文件进行存取),进而进行仿真与分析。,一、什么是SIMULINK,三、SIMULINK的模块库介绍,SIMILINK模块库按功能进行分类,主要包括以下8类子库:Continuous(连续模块)Discrete(离散模块)Function&Tables(函数和平台模块)Math(数学模块)Nonlinear(非线性模块)Signals&Systems(信号和系统模块)Sinks(接收器模块)Sources(输入源模块),1、连续模

5、块(Continuous)continuous.mdlIntegrator:输入信号积分Derivative:输入信号微分State-Space:线性状态空间系统模型Transfer-Fcn:线性传递函数模型Zero-Pole:以零极点表示的传递函数模型Memory:存储上一时刻的状态值Transport Delay:输入信号延时一个固定时间再输出Variable Transport Delay:输入信号延时一个可变时间再输出,2、离散模块(Discrete)discrete.mdlDiscrete-time Integrator:离散时间积分器Discrete Filter:IIR与FIR滤

6、波器Discrete State-Space:离散状态空间系统模型Discrete Transfer-Fcn:离散传递函数模型Discrete Zero-Pole:以零极点表示的离散传递函数模型First-Order Hold:一阶采样和保持器Zero-Order Hold:零阶采样和保持器Unit Delay:一个采样周期的延时,3、Function&Tables(函数和平台模块)function.mdlFcn:用自定义的函数(表达式)进行运算MATLAB Fcn:利用matlab的现有函数进行运算S-Function:调用自编的S函数的程序进行运算Look-Up Table:建立输入信号的

7、查询表(线性峰值匹配)Look-Up Table(2-D):建立两个输入信号的查询表(线性峰值匹配),4、Math(数学模块)math.mdlSum:加减运算Product:乘运算Dot Product:点乘运算Gain:比例运算Math Function:包括指数函数、对数函数、求平方、开根号等常用数学函数Trigonometric Function:三角函数,包括正弦、余弦、正切等MinMax:最值运算Abs:取绝对值Sign:符号函数,Logical Operator:逻辑运算Relational Operator:关系运算Complex to Magnitude-Angle:由复数输入

8、转为幅值和相角输出Magnitude-Angle to Complex:由幅值和相角输入合成复数输出Complex to Real-Imag:由复数输入转为实部和虚部输出Real-Imag to Complex:由实部和虚部输入合成复数输出,5、Nonlinear(非线性模块)nonlinear.mdlSaturation:饱和输出,让输出超过某一值时能够饱和。Relay:滞环比较器,限制输出值在某一范围内变化。Switch:开关选择,当第二个输入端大于临界值时,输出由第一个输入端而来,否则输出由第三个输入端而来。Manual Switch:手动选择开关,6、Signal&Systems(信号

9、和系统模块)sigsys.mdlIn1:输入端。Out1:输出端。Mux:将多个单一输入转化为一个复合输出。Demux:将一个复合输入转化为多个单一输出。Ground:连接到没有连接到的输入端。Terminator:连接到没有连接到的输出端。SubSystem:建立新的封装(Mask)功能模块,7、Sinks(接收器模块)sinks.mdlScope:示波器。XY Graph:显示二维图形。To Workspace:将输出写入MATLAB的工作空间。To File(.mat):将输出写入数据文件。,8、Sources(输入源模块)sources.mdlConstant:常数信号。Clock:时

10、钟信号。From Workspace:来自MATLAB的工作空间。From File(.mat):来自数据文件。Pulse Generator:脉冲发生器。Repeating Sequence:重复信号。Signal Generator:信号发生器,可以产生正弦、方波、锯齿波及随意波。Sine Wave:正弦波信号。Step:阶跃波信号。,(二)模型建立(ex1.mdl)下面以一个惯性环节的阶跃响应为例,说明模型的建立过程。要求得到系统G(s)=5/(0.1s+2)的阶跃响应曲线,用simulink来建立模型。)双击打开SIMULINK模块库中的信号源库(sources).)选择信号源库中的s

11、tep模块,使用鼠标右健将其拖入自己的模型窗口,模型窗口中出现了一个step模块,设置它的跳跃时间、初值和终值。)双击打开SIMULINK的线性系统库(Continuous),使用鼠标右键将其中的传递函数模块 拖入自己的模型窗口。双击这一模块,设置传递函数的表达式,如传递函数为5/(0.1s+2),参数Numerator填入:,参数Denominator中填入0.1,2。,)打开SIMULINK的显示库(sinks),使用鼠标右键将其中的示波器模块 拖入自己的模型窗口。)模型外侧的和分别表示信号的输出和输入。为了联结两个模块,使用鼠标的任意按钮,点击输入或输出端口,但鼠标变为形式时,拖动十字图

12、标到另一个窗口,然后释放鼠标按钮,则带箭头的连线表示了信号的流向。如上得到的数学模型如图所示。,(三)仿真 在模型窗口的simulation菜单中选择start,就开始仿真。双击scope模块,可以看到仿真的结果。上述惯性环节的阶跃响应仿真结果如图所示。,(四)模型保存 在模型窗口中的file菜单下,有save菜单,使用该菜单可以将模型保存为一个文件,待下次使用时打开,也可以使用save as菜单改名保存文件。MATLAB5.0以后版本保存的文件扩展名为.mdl,以前的版本为.m文件。在MATLAB的命令窗口中,键入模型文件名,就可以打开模型文件。,仿真题目及图形,习题图所示的系统,求系统在阶

13、跃作用下的动态响应,并分析当比例系数K增大时系统动态响应的变化。(ex2.mdl),Simulink仿真及结果,如图,当K=0.01时如右图,可以看出输出是发散的,当K=1时如右图所示,输出有延迟且趋于收敛,当K=10时如右图,可以看出输出是收敛、稳定的的,例:求解Van Der pol方程,则可以列写出如下的状态方程模型 function xdot=vdpol(t,x)u=1;xdot=zeros(2,1);%a column vectorxdot(1)=x(2);xdot(2)=-u*(x(1)2-1)*x(2)-x(1);,解 选择状态变量,根据该状态方程编写一个m函数vdpol.m,t

14、0=0;tf=20;tol=1e-6;y0=-0.2;-0.7;t,y=ode45(vdpol,0 20,y0);subplot(1,2,1);plot(t,y),legend(y1,y2),subplot(1,2,2);plot(y(:,1),y(:,2),Simulink模型举例,mu=1;x01=1;x02=-2;%输入参数的值和变量的初值plot(tout,yout),figure,plot(yout(:,1),yout(:,2)%画出时间响应曲线和相平面曲线,Van Der pol方程的Simulink的表示,Van Der pol方程的仿真结果,带x-y示波器的Simulink模型

15、,x-y示波器的显示,带示波器的Simulink模型,默认示波器显示,Simulink搭建数字逻辑电路,Simulink中的数学函数模块组中提供了“逻辑算子”(Logic operator)模块,可以搭建数字逻辑电路。例:利用Simulink搭建下面的逻辑关系式:,subplot(311),plot(tout,yout(:,1),set(gca,ylim,-0.1,1.1,Box,off)subplot(312),plot(tout,yout(:,2),set(gca,ylim,-0.1,1.1,Box,off)subplot(313),plot(tout,yout(:,3),set(gca,

16、ylim,-0.1,1.1,Box,off),Z,A,B,例:对采样控制系统结构,要求利用Simulink得到信号阶跃响应曲线。,采用Discrete模块库中的零阶保持器,并设置其采样周期为0.1。仿真完成后,可以由Matlab命令stairs(tout,yout)得出信号阶跃响应曲线。,采样系统阶跃响应,对含有磁滞回环非线性环节的控制系统的仿真,例:对下图含有磁滞回环非线性环节的控制系统利用Simulink求得阶跃响应曲线。,磁滞回环非线性环节采用非线性模块库中的Backlash模块表示,仿真之前给磁滞宽度c1赋值:c1=1,并设置终止仿真时间为3,启动仿真过程,仿真结束,在Matlab空间

17、自动生成两个变量tout,yout,plot(tout,yout,color,r),c1=1,不同的c1值,c1=2,c1=1,c1=0.5,输入幅值为3,输入幅值为0.6,不同的幅值,例:系统的传递函数模型如下,利用Simulink求得系统的阶跃响应的数值解,分别用欧拉法和4阶RK法。(ex3.dml),利用Simulink求得系统的数值解,plot(tout,yout)AXIS(0 100 0 1.1),欧拉法,欧拉法和4阶RK法,SIMULINK中仿真过程的命令化,1、启动仿真过程除了使用相应的Simulation菜单外,还可以使用命令 sim()函数来完成,t,x,y=sim(mode

18、l,timespan,options),A,B,C,D=linmod(model-name,x,u)函数提取Simulink模型在工作点附近 线性化的状态方程模型。,求取系统的线性化模型,可以使用函数 linmod(),例如:下面的Simulink的模型为:,可以用下面的 MATLAB的指令获得Simulink模型的线性化的模型:,A,B,C,D=linmod(t3706);num,den=ss2tf(A,B,C,D);sys=tf(num,den)step(sys),Transfer function:8.882e-016 s2+2.22e-015 s+1.624-s3+3 s2+2 s+1.624,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号