simulink 仿真教程(从入门到入土)+报告(真)
- 格式:pdf
- 大小:1.11 MB
- 文档页数:25
第2章Simulink仿真⼊门第2章Simulink仿真⼊门Simulink是基于MATLAB的图形仿真设计环境。
它⽀持:1、线性和⾮线性系统;2、连续时间系统、离散时间系统;3、多进程的。
使⽤图形的系统模块对动态系统进⾏描述,并在此基础上采⽤MATLAB引擎对动态系统在时域进⾏求解。
MATLA计算引擎主要对系统微分⽅程和差分⽅程求解。
MATLAB主要求解的是数值解。
1) SIMULINK重要求解常微分⽅程等,求解这些问题的解主要⽤到数值计算⽅法,那么数值解和通常所说的解析解有什么不同?(什么是数值解)1. 解析解:所谓的解析解是⼀种包含分式、三⾓函数、指数、对数甚⾄⽆限级数等基本函数的解的形式。
⽤来求得解析解的⽅法称为解析法〈analytic techniques、analytic methods〉,解析法即是常见的微积分技巧,例如分离变量法等。
解析解为⼀封闭形式〈closed-form〉的函数,因此对任⼀独⽴变量,我们皆可将其带⼊解析函数求得正确的相依变量。
2. 数值解:当⽆法借由微积分技巧求得解析解时,这时便只能利⽤数值分析的⽅式来求得其数值解了。
数值⽅法变成了求解过程重要的媒介。
在数值分析的过程中,⾸先会将原⽅程式加以简化,以利后来的数值分析。
例如,会先将微分符号改为差分符号等。
然后再⽤传统的代数⽅法将原⽅程式改写成另⼀⽅便求解的形式。
这时的求解步骤就是将⼀独⽴变量带⼊,求得相依变量的近似解。
因此利⽤此⽅法所求得的相依变量为⼀个个分离的数值〈discrete values〉,不似解析解为⼀连续的分布,⽽且因为经过上述简化的动作,所以可以想见正确性将不如解析法来的好。
2.1simulink基本操作上机操作,主要包括:*模块的操作:选择(⼀个或多个)模块标签*信号线:模块间连接;线段的移动;节点的移动;分⽀信号线、删除信号线,信号线标签,信号线的折叠2.2 运⾏仿真及参数简介仿真前,必须对各种参数进⾏配置。
Simulink动态系统仿真入门Simulink是基于MA TLAB的图形化仿真设计环境,是MATLAB 提供的进行动态系统建模、仿真和综合分析的集成软件包。
它使用图形化的系统模块对动态系统进行描述,并在此基础上采用MATLAB 的计算引擎对动态系统在时域内进行求解。
它可以处理的系统包括:线性、非线性、离散、连续及混合、单任务、多任务离散事件等。
在MATLAB7.X版本中,可以直接在Simulink环境中运作的工具箱和模型库很多,已经覆盖了航天、航空、通信、控制、信号处理等等诸多领域,涉及内容专业性很强。
1、Simulink系统的启动由于Simulink和MATLAB是高度集成在一起的,因此启动Simulink必须先启动MA TLAB。
在MA TLAB启动Simulink可以通过在命令窗口输入Simulink,或者点击MATLAB工具栏的Simulink 快速启动图标。
启动Simulink后,出现Simulink的主窗口,选择主菜单File中的New\model,即可以打开系统模型编辑器。
下图依次是MATLAB 主窗口、Simulink主窗口和系统模型编辑窗口,图中的箭头表示了操作顺序。
在打开一个新的系统模型文件以后,用户可以从Simulink模块库中选择适合的系统模块或自定义模块来建立系统模型。
我们通过一个简单的例子来分步说明Simulink建模和仿真的能力。
1)在MATLAB 窗口运行Simulink。
打开Simulink模块库浏览器。
2)点击Source子库前的“+”展开库,可以看到各种信源模块。
3)点击新建图标,打开一个空白型的模型窗口。
4)用鼠标选中需要的信源模块,把它拖入新建的空白模型编辑窗口,生成一个正弦波的复制品。
5)同样将信宿库Sinks中的示波器Scope拷贝到模型窗口。
6)利用鼠标完成两个模块的连线操作,完成一个简单的模型。
7)为进行仿真,双击示波器模块,打开示波器显示屏。
simulink仿真实验报告一、实验目的本次实验的主要目的是通过使用Simulink软件来进行仿真实验,掌握Simulink仿真工具的基本使用方法,并且了解如何应用Simulink软件来进行系统建模和仿真分析。
二、实验内容1. Simulink软件的基本介绍2. Simulink仿真工具的使用方法3. Simulink模型建立与参数设置4. Simulink仿真结果分析三、实验步骤及方法1. Simulink软件的基本介绍Simulink是一种基于模块化编程思想的图形化编程工具,可以用于建立各种系统模型,并且进行系统仿真分析。
在Simulink中,用户可以通过拖动不同类型的模块来搭建自己所需要的系统模型,并且可以对这些模块进行参数设置和连接操作。
2. Simulink仿真工具的使用方法首先,在打开Simulink软件后,可以看到左侧有一系列不同类型的模块,包括数学运算、信号处理、控制系统等。
用户可以根据自己需要选择相应类型的模块,并将其拖入到工作区域中。
然后,用户需要对这些模块进行参数设置和连接操作,以构建出完整的系统模型。
最后,在完成了系统模型的构建后,用户可以进行仿真分析,并且观察系统的运行情况和输出结果。
3. Simulink模型建立与参数设置在本次实验中,我们主要是以一个简单的控制系统为例来进行仿真分析。
首先,我们需要将数学运算模块、控制器模块和被控对象模块拖入到工作区域中,并将它们进行连接。
然后,我们需要对这些模块进行参数设置,以确定各个模块的输入和输出关系。
最后,在完成了系统模型的构建后,我们可以进行仿真分析,并观察系统的运行情况和输出结果。
4. Simulink仿真结果分析在完成了Simulink仿真实验之后,我们可以得到一系列仿真结果数据,并且可以通过Simulink软件来对这些数据进行进一步的分析和处理。
例如,在本次实验中,我们可以使用Simulink软件来绘制出控制系统的输入信号、输出信号和误差曲线等图形,并且可以通过这些图形来判断系统是否满足预期要求。
Simulink仿真摘要:simulink作为matlab的衍生模组,具有强大的仿真能力。
原则上你可以将任意具有明确映射关系的物理量进行仿真模拟。
对于相互间关系不明确的物理量,则可以通过输入输出数据的采集,然后通过模糊控制的方案替代明确的映射关系。
本文主要针对的是以电焊机电路为主,其他仿真为辅的教程性质的文章。
关键词:matlab Simulink 仿真电焊机教程第一章初识软件 (2)1.1 simulink 简介 (2)1.2 simulink基础页面 (2)1.3 常用库的介绍 (3)1.3.1 simulink库 (4)1.3.1.1 常用模块库 (4)1.3.1.2 其他常用子库模块 (6)1.3.2 电气库Simscape (7)1.3.2.1 Electrical库 (7)1.3.2.2 Specialized Technology库 (8)1.4模块连接 (9)第二章简单仿真系统的建立 (11)2.1传递函数S信号仿真 (11)2.1.1 运放环节的等效替代 (11)2.1.2 等效变换 (12)2.1.3 逻辑仿真 (13)2.2电气库仿真 (13)2.3子系统和模块的建立 (15)2.3.1 子系统的建立 (15)2.3.2 模块的建立 (16)第三章复合仿真 (18)3.1 m函数模块 (18)3.1.1 简单编程 (18)3.1.2 部分函数介绍 (19)3.2 整体模型 (21)3.3 仿真注意事项 (22)3.3.1 注意事项1 (22)3.3.2 注意事项2 (23)3.3.3 注意事项3 (24)3.3.4 注意事项4 (24)结语 (25)第一章初识软件Matlab作为一块应用广泛的软件,在许多领域中具有广泛的应用,所以掌握matlab的一些基础运用是一个很有用的技能。
Matlab广泛应用于数字图像处理,程序控制,仿真模拟等多个领域之中。
这款软件的核心基础在于强大的矩阵计算能力,无论是程序处理还是仿真计算,其本质就是通过矩阵运算的方式得出解。
Simulink仿真摘要:simulink作为matlab的衍生模组,具有强大的仿真能力。
原则上你可以将任意具有明确映射关系的物理量进行仿真模拟。
对于相互间关系不明确的物理量,则可以通过输入输出数据的采集,然后通过模糊控制的方案替代明确的映射关系。
本文主要针对的是以电焊机电路为主,其他仿真为辅的教程性质的文章。
关键词:matlab Simulink 仿真电焊机教程第一章初识软件 (2)1.1 simulink 简介 (2)1.2 simulink基础页面 (2)1.3 常用库的介绍 (3)1.3.1 simulink库 (4)1.3.1.1 常用模块库 (4)1.3.1.2 其他常用子库模块 (6)1.3.2 电气库Simscape (7)1.3.2.1 Electrical库 (7)1.3.2.2 Specialized Technology库 (8)1.4模块连接 (9)第二章简单仿真系统的建立 (11)2.1传递函数S信号仿真 (11)2.1.1 运放环节的等效替代 (11)2.1.2 等效变换 (12)2.1.3 逻辑仿真 (13)2.2电气库仿真 (13)2.3子系统和模块的建立 (15)2.3.1 子系统的建立 (15)2.3.2 模块的建立 (16)第三章复合仿真 (18)3.1 m函数模块 (18)3.1.1 简单编程 (18)3.1.2 部分函数介绍 (19)3.2 整体模型 (21)3.3 仿真注意事项 (22)3.3.1 注意事项1 (22)3.3.2 注意事项2 (23)3.3.3 注意事项3 (24)3.3.4 注意事项4 (24)结语 (25)第一章初识软件Matlab作为一块应用广泛的软件,在许多领域中具有广泛的应用,所以掌握matlab的一些基础运用是一个很有用的技能。
Matlab广泛应用于数字图像处理,程序控制,仿真模拟等多个领域之中。
这款软件的核心基础在于强大的矩阵计算能力,无论是程序处理还是仿真计算,其本质就是通过矩阵运算的方式得出解。
本文将主要介绍的是其用于仿真的simulink 模块。
1.1simulink 简介Simulink是matlab的仿真模组。
其内部集成了具有各种映射关系的库。
Simulink的仿真主要就是熟练的运用各个不同库中的模块。
(因为simulink的仿真不单单是电气上的仿真,所以一般不把各个仿真用的“单元”称为器件,而是称为模块,同时将整个仿真图称为仿真模型)下面介绍simulnk的基础页面和库的介绍。
1.2 simulink基础页面首先自然要创建simulink仿真模型的空白页面。
Simulink的仿真页面无需像其他软件一样需要也先设置各种参数。
在matlab主界面的主页选项,选择新建下拉菜单,然后选择simulink,即可建立空白的simulink仿真页面。
在simulink页面则可以直接点击完成新建或者打开的simulink的仿真页面。
图1-1 simulink仿真页面各个快捷键的介绍,第一栏为菜单栏,所有的软件都具有的一栏,大部分情况下并不会用到,这里就只针对快捷键进行说明。
第一栏快捷键从左往右以此为新建/打开,保存,撤销界面操作,恢复界面操作,退出当前子模型,库,仿真设置,当前模块列表及搜索,后撤仿真步数,开始仿真,逐步仿真,暂停,记录,仿真时长,模块指引,仿真模型建立。
左侧竖列分别为隐藏/显示文件名,放大指定区域,最佳视图,没什么用的,插入文字,插入图片。
基本上simulink的仿真建立应用上述快捷键就足够了。
Simulink的仿真界面与其他仿真软件还有点不同的是其仿真界面可以视为无穷大,不需要提前设置图纸大小,其图纸大小会随着你建立的仿真图形而改变。
然后虽然因为simulink无法实现跨图纸连接仿真,但是通过子系统的封装,完全可以将两个大的模型封入子系统然后将必要的接口相互连接,所以不存在一个界面存在太多器件而导致仿真杂乱不堪。
1.3 常用库的介绍Simulink中有数目众多的库,不同的库具有不同的仿真侧重点。
所以本节会对一些常用的库进行简单的介绍。
Simulink的库为层级结构。
不断选中自己所需的类别,然后找到自己所需要的元件。
实际上simulink的库其实也是模型文件,只不过是不能更改的模型文件,每一个层级其实就是模型的一个子系统,每一个子系统打开,如果子系统中还包含子系统就继续可以打开,其他的不可打开的就是可用的模块了,为了库分类而做的子系统一般是没有输入输出端口的。
图1-2 simulink库展示1.3.1 simulink库以simulink本身命名的库,自然是simulink中最重要的库同时也是使用频率最高的库。
当然前面也提到过了,本文主要针对的是焊机电路的仿真为主的教程,所以一些相对这个主题不重要的库就不在这里介绍了。
将会介绍的库有,commonly Used Blocks(常用模块库),Continuous(连续量模块库),logic and bit operations(逻辑变换库),Math Operation(数学变换库),signal routing(信号传递库),sinks(终端库),sources(信号源库),user-defined functions(用户自定义库)。
在本文中主要使用的库就是上述几个库。
1.3.1.1 常用模块库常用模块库,顾名思义将simulink库中除自身外其当子系统库中的常用模块集中到一起的库,所以这个小库中的模块都是比较有用的模块。
选取其中典型的模块进行大致功能的介绍。
常数模块,很简单双击打开后可以修改参数。
这个模块的作用就是输出恒定常数信号,当然如果采用一些手段也可以做到在仿真过程中进行参数的变化,实际上对于一些仿真比较慢的模型,你可以直接在仿真过程中进行参数的修改(仅限于部分模块,并不是所有模块都可以在仿真过程中进行参数的修改,这个在后续章节中会讲述)。
可以输出所有参数类型(注意事项1)。
gain,比例环节,通过这个环节的信号将会根据设定的参数比例进行缩放。
使用方法与上相同,具有输入端的gain环节可以接受所有参数类型信号,同时可以单独设置输出信号类型,所以这个模块除了用于信号的放大缩小以外还可以用于信号类型转换,这在simulink中是一个相当有用的作用。
,out & in 主要用于子系统的输入输出端口建立,当子系统需要添加输入输出端口时,就是采用这两个模块完成的。
,MUX & Demux混合和分离模块,混合后的信号存贮方式为,时间数组+信号1数组+信号2数组,2个不同的信号将会存在于同一个节点当中,同时又是相互分开独立的存在。
然后通过分离变量可以将其重新分离成两个信号。
存贮方式按信号的输入位置从上往下依次排序,同理分离时也按相同的情况处理。
输入输出端口是双击打开后,通过参数可调的,有一种特殊情况就是分离输出端口少于混合输入端口,这时候会按照除法进行等量分配,多于部分从上往下分配。
如7个输入,3个输出,则输出1号口分配到3个信号,2,3端口分配到2个信号,且各自的信号为1号后输出1,2,3信号,2号输出4,5信号,3号输出6,7信号。
基本上输入输出的安排就是这个规律进行的。
混合的信号来源必须为同一类型的参数变量,不同类型的参数变量无法混合,会报错(如double无法和unit8混合)。
积分模块,最常用的连续变量传递函数模块,常常用作误差积分进行反馈环节的设计。
and模块,与与门具有相同的功能,输入信号可以是任意形式的参数变量,但输出确定为boolean逻辑变量。
所以如果后续需要参与其他类型变量的变化需要通过gain进行类型转换。
同时这个模块双击打开后可以进行输入端口数量的设置,同时可以进行逻辑功能的选择,有与,或,非,与非,或非,同或,异或7个常见逻辑功能的选择。
关于逻辑变量,逻辑变量分类为0和非零值,对于输入其识别为0为假,非零为真,即无论多小的数甚至负数对于模块而言都视为真。
输出假为0,真为1,对于常数模块设定1以外的真变量,同时设定为逻辑变量其输出依旧为1。
乘法模块,输入端口数目可调,输出为所有的输入的乘积,输入信号可以为任意参数类型,输出为逻辑变量以外的参数类型。
逻辑判断模块,可以有>, <, >=, <=, ==, isinf, Isnan, isfinite这几个功能可选,输入参数类型可以为任意类型,输出参数类型恒为逻辑变量。
限幅模块,所有通过这个模块的信号都会被限制在指定幅值区域内,双击打开后可以设置上限值和下限值。
示波器模块,可以设置输入端口数(同时改变内部窗口数,不会在同一窗口显示),想要在同一窗口显示,则需要将两个信号通过混合模块进行混合后输入到示波器当中,这样就会在同一个窗口显示波形。
默认信号颜色为从1号到5号,黄粉浅蓝红深蓝,往后就是循环了。
加法(或者减法),通过双击可以选择端口数量和+-符号,可以对多个数值进行加减运算,最后输出。
输入可以为任意信号,输出可以是逻辑变量以外的任意信号。
常用器件库中,将会用的模块都在上面进行了介绍。
下面则是simulink库中其他子库中一些比较实用的模块介绍。
1.3.1.2 其他常用子库模块连续量模块库中的模块,零极点模块,通过设定零极点来确定传递函数的模块。
同一个库中的另一个模块,两者效果其实是一样的,只不过传递函数模块,直接设定不同阶数的系数设定传递函数。
上面讲过了积分模块,自然这里有相应的微分模块形式上是导数。
积分模块还有一个衍生模块,有限积分模块,只能积分到上下限值,不会出现无限积分的情况。
这个库中还有一个更直接的模块,PID 模块,直接就是个PID环节,直接设置比例,积分,微分参数即可。
设定一个参数值和判断条件,在输入符合条件时输出逻辑真,否则为否,即1和0的逻辑变量。
from & go 信号传递库中的模块,其作用相当于电路仿真的网络标号一样,通过设定想多的标签,可以使两端完成“无线”连接。
电压表或者电流表异或其他表,用于显示连接信号线数值的模块。
存储模块to file,将时间信号和对应信号线的数值记录并存储到.mat文件当中。
与之对应的是from file,从对应的.mat文件中读取数据,双击打开可以设置文件名,同样不允许有中文。
与之类似的有&to workspace &from workspace,只不过存储位置变成了工作空间,即matlab的内存空间,这里的数据可以由matlab的其他应用调取,但在内存清除后会消失,而之前的to file会确实的保存在硬盘当中。
在信号源库中存在着多种信号和信号来源途径,比较常用的信号源有依次为周期脉冲,锯齿波,阶跃,斜坡,时钟,简弦,有限白噪声。