simulink仿真实验报告

              

控制系统仿真与CAD实验报告

                                     自动化1103

                                 张天赐                  

                                       201123910415 

启动Simulink软件包

Simulink仿真模型编译器界面

通过把模块送入编译器,可建立模型进行仿真

例5-1 已知系统的输入为一个幅值为1的正弦波信号,输出为此正弦波信号与一个常数的乘积。要求建立系统模型,并以图形方式输出系统运算结果。

 第一步:选择模块

启动Simulink并新建一个系统模型文件,打开Simulink公共模块库,在Sources中选择Sine Wave模块,用以产生一个正弦波信号;在Math中选择Gain模块,用以产生一个常数(即信号增益);在Sinks中选择Scope模块,用以图形方式显示结果。选择相应的系统模块后,将其拷贝(或拖动)到新建的系统模型中,如图所示。

第二步:添加连接线。
在完成所需模块选择之后,按照系统信号流动方向,将各系统模块连接起来。具体做法是将光标指向起始块的输出端口,此时光标变成“+”,单击鼠标左键并拖动到目标模块的输入端
口,在接近到一定程度时光标变成双十字。这时松开鼠标键,连接完成。完成后在连接点处出现一个箭头,表示系统中信号的流向

第三步:输入信号与输出信号对比的实现
在Simulink公共模块库的Signal Routing(信号流向模块库)中选择Mux模块,以实现将输入信号和输出信号同时输入到一个示波器中

第四步:仿真运行
首先,进行系统模块参数和仿真参数设置。逐一双击系统中的模块,打开其参数设置对话框,输入合适的模块参数,结果图形如下

 

5.1.2 Simulink仿真参数的设定

图所示的仿真过程是在系统默认仿真参数条件下完成的,但是有时候系统默认仿真参数并不能得到理想的仿真结果,需要对系统仿真参数做调整

1)设置仿真时间
设置仿真时间非常重要,它决定了模型仿真的时间或取值区域,其设置完全根据待仿真系统的特性来确定,反映在输出显示上就是示波器的横轴坐标值的取值范围。“Start time”和“Stop time”项分别用以设置仿真开始时间(或取值区域下限)和终止时间(或取值区域上限),默认值分别为0.0和10.0s。

2)选择仿真算法
         在Simulink的仿真过程中选择合适的算法是很重要的。仿真算法是求常微分方程、传递函数、状态方程解的数值计算方法,主要有欧拉法(Eular)、阿达姆斯法(Adams)和龙格-库塔法(Runge-Kutta)。由于动态系统的差异性,使得某种算法对某类问题比较有效,而另外算法对另一类问题更有效。因此,对不同的问题,可以选择不同的适应算法和相应的参数,以得到更准确、快速的解

2.仿真诊断
在仿真过程中若出现错误,Simulink将会终止仿真运行,并弹出一个标题为“Error Dialog”的带有明显出错图标的错误提示框。

3.示波器的属性设置
Scope(示波器)模块是Simulink仿真中非常重要的一个模块,既可以显示仿真结果,而且可以同时保存波形数据,是人机交互的重要手段。

点击“示波器参数”按键,弹出示波器参数设置界面,其中有两个功能,分别是General(常规)功能和Data history(数据)功能

5.1.3子系统的创建

首先选择能够完成一定功能的一组模块,然后选择Simulink模型创建编辑器中Edit菜单下的Create Subsystem,即可建立子系统并将这些模块封装到此子系统中,Simulink自动生成子系统的输入与输出端口。
用鼠标双击生成的子系统图标就可打开生成的子系统。

5.1.4子系统的封装

封装子系统(Mask)指的是将已经建立好的具有一定功能的子系统进行“包装”,其目的在于生成用户自定义的模块,此模块与子系统的功能完全一致

当选择了需要封装的子系统后,单击鼠标右键选择Mask subsystem,或使用Edit菜单项中的相应命令进行子系统封装,出现如图5-19所示的封装编辑器,在此可以进行图标编辑、参数设置、初始化及帮助文本等操作

5.1.5 Simulink与MATLAB的接口设计

由MATLAB工作空间变量设置系统模块参数
用户可以使用MATLAB工作空间中的变量设置系统模块参数,这一点对于多个模块的参数均依赖于同一个变量时非常有用。由MATLAB工作空间中的变量设置模块参数有直接使用MATLAB工作空间中的变量设置模块参数和使用变量的表达式设置模块参数两种形式

  5.2控制系统仿真综合实例

习题

某系统框图如图5-47所示,试用Simulink进行仿真,求取系统的单位阶跃响应曲线,并与没有饱和环节时系统的仿真结果进行对比。

建立模型如图所示

总结:通过本次实验,让我学会了用simulink进行仿真,可以快速准确的作出图像,相信在以后的解决实际问题时,会是个非常好的工具。

 

第二篇:Simulink 仿真实验报告

使用Simulink 仿真,仿真模型建立如下图

图1  仿真模型

设置参数后运行,得到示波器输出图形如下图:

其中示波器通道1,2,3所显示分别是误差、系统输出、输入的时域波形图

图2  示波器输出波形

编程获取误差及输出,并求取误差表达式

clc;

clear all;

close all;

num1=10;

den1=[0.1 1 0];

G1=tf(num1,den1);

num2=0.5;

den2=[0.4,1];

G2=tf(num2,den2);

G0=2*G1*G2;

G=feedback(G0,1);

H=G/(G-1)

display('系统各误差传递函数为')

display(H)

运行程序的结果如下:

误差传递函数为

H =

                -0.4 s^3 - 5 s^2 - 10 s - 100

  ---------------------------------------------------------

  0.0016 s^6 + 0.04 s^5 + 0.33 s^4 + 1.4 s^3 + 6 s^2 + 10 s

 Continuous-time transfer function.

相关推荐