控制系统MATLAB仿真基础
应用MATLAB控制系统仿真
01
根据系统性能要求,设计比例、积分、微分控制器参数,优化
系统性能。
状态反馈控制器设计
02
通过状态反馈控制器设计,实现系统的最优控制。
鲁棒控制器设计
03
针对不确定性系统,设计鲁棒控制器,提高系统对参数变化的
适应性。
04
控制系统仿真的动态行为,通过建立和求解微 分方程来模拟系统的动态响应。
性能等。
05
Matlab控制系统仿真实 例
一阶系统仿真
总结词:简单模拟
详细描述:一阶系统是最简 单的控制系统,其动态行为 可以用一个一阶微分方程描 述。在Matlab中,可以使用 `tf`函数创建一个一阶传递函 数模型,然后使用`step`函 数进行仿真。
总结词:性能分析
详细描述:通过仿真,可以 观察一阶系统的响应曲线, 包括超调和调节时间等性能 指标。使用Matlab的绘图功 能,可以直观地展示系统的 动态行为。
THANKS FOR WATCHING
感谢您的观看
适用于模拟数字控制系统、采样控制系统等。
实时仿真
01
在实际硬件上实时模拟控制系统的动态行为,通过将
控制算法嵌入到实际控制系统中进行实时仿真。
02
使用Matlab中的`real-time workshop`等工具箱进
行建模和仿真,可以方便地实现实时仿真。
03
适用于模拟实际控制系统、验证控制算法的正确性和
实时仿真
Matlab支持实时仿真,可以在实 际硬件上运行控制算法,进行系 统测试。
02
控制系统数学模型
线性时不变系统
线性时不变系统(LTI)是指系统的输出与输入之间的关系 可以用线性常数来描述的系统。在控制系统中,LTI系统是 最常见的系统类型之一。
控制系统Matlab仿真 (传递函数)
控制系统仿真[教学目的]掌握数字仿真基本原理控制系统的数学模型建立掌握控制系统分析[教学内容]一、控制系统的数学模型sys=tf(num,den) %多项式模型,num为分子多项式的系数向量,den为分母多项式的系%数向量,函数tf()创建一个TF模型对象。
sys=zpk(z,p,k) %z为系统的零点向量,p为系统的极点向量,k为增益值,函数zpk()创建一个ZPK模型对象。
(一)控制系统的参数模型1、TF模型传递函数num=[b m b m-1 b m-2…b1 b0]den=[a m a m-1 a m-2…a1 a0]sys=tf(num,den)【例1】系统的传递函数为。
>>num=[0 1 12 44 48];>>den=[1 16 86 176 105];>>sys=tf(num,den);>>sysTransfer function:s^3 + 12 s^2 + 44 s + 48-------------------------------------s^4 + 16 s^3 + 86 s^2 + 176 s + 105>>get(sys)>>set(sys)>>set(sys,'num',[2 1 2])>> sysTransfer function:2 s^2 + s + 2-------------------------------------s^4 + 16 s^3 + 86 s^2 + 176 s + 105【例2】系统的传递函数为。
>>num=conv([20],[1 1]);>>numnum =20 20>>den=conv([1 0 0],conv([1 2],[1 6 10]));>>sys=tf(num,den)Transfer function:20 s + 20-------------------------------s^5 + 8 s^4 + 22 s^3 + 20 s^2【例3】系统的开环传递函数为,写出单位负反馈时闭环传递函数的TF模型。
控制系统计算机仿真(内蒙古工业大学)MATLAB基础第6章 SIMULINK仿真基础
Transfer-Fcn:线性传递函数模型
Transport Delay:输入信号延时一个固定时间再输出 Variable Transport Delay:输入信号延时一个可变时间再输出 Zero-Pole:以零极点表示的传递函数模型
2、Discontinuities (非线性模块) Backlash:死区间隙 Coulomb &Viscous Friction:库仑粘滞摩擦信号 Dead Zone:死区信号 Hit Crossing:将信号与特定的偏移值比较 Quantizer;量化器 Rate Limiter;信号上升、下降速率控制器 Relay:滞环比较器,限制输出值在某一范围内变化。 Saturation:饱和信号,让输出超过某一值时能够饱和。
第一节 SIMULINK简介 一、什么是SIMULINK
SIMULINK是MATLAB软件的扩展,它是实现动态系 统建模和仿真的一个软件包,它与MATLAB语言的主要 区别在于,其与用户交互接口是基于Windows的模型化 图形输入。
所谓模型化图形输入是指SIMULINK提供了一些按功 能分类的基本的系统模块,用户只需知道这些模块的输 入输出及模块的功能,而不必考察模块内部是如何实现 的,通过对这些基本模块的调用,再将它们连接起来就 可以构成所需要的系统模型(以.mdl文件进行存取), 进而进行仿真与分析。
三、SIMULINK的公共模块库
SIMILINK模块库按功能进行分类,包括以下子库: Continuous(连续模块) disontinuous (非线性模块) Discrete(离散模块) look up tables(查询表模块)
Math operations(数学模块)Model verification(模型检测) Model-wide Utilities(模型扩展功能模块) Ports&Systems(端口和子系统模块) Signal attributes(信号描述模块)
基于MATLAB控制系统的仿真与应用毕业设计论文
基于MATLAB控制系统的仿真与应用毕业设计论文目录一、内容概括 (2)1. 研究背景和意义 (3)2. 国内外研究现状 (4)3. 研究目的和内容 (5)二、MATLAB控制系统仿真基础 (7)三、控制系统建模 (8)1. 控制系统模型概述 (10)2. MATLAB建模方法 (11)3. 系统模型的验证与校正 (12)四、控制系统性能分析 (14)1. 稳定性分析 (14)2. 响应性能分析 (16)3. 误差性能分析 (17)五、基于MATLAB控制系统的设计与应用实例分析 (19)1. 控制系统设计要求与方案选择 (20)2. 基于MATLAB的控制系统设计流程 (22)3. 实例一 (23)4. 实例二 (25)六、优化算法在控制系统中的应用及MATLAB实现 (26)1. 优化算法概述及其在控制系统中的应用价值 (28)2. 优化算法介绍及MATLAB实现方法 (29)3. 基于MATLAB的优化算法在控制系统中的实践应用案例及分析对比研究31一、内容概括本论文旨在探讨基于MATLAB控制系统的仿真与应用,通过对控制系统进行深入的理论分析和实际应用研究,提出一种有效的控制系统设计方案,并通过实验验证其正确性和有效性。
本文对控制系统的基本理论进行了详细的阐述,包括控制系统的定义、分类、性能指标以及设计方法。
我们以一个具体的控制系统为例,对其进行分析和设计。
在这个过程中,我们运用MATLAB软件作为主要的仿真工具,对控制系统的稳定性、动态响应、鲁棒性等方面进行了全面的仿真分析。
在完成理论分析和实际设计之后,我们进一步研究了基于MATLAB 的控制系统仿真方法。
通过对仿真模型的建立、仿真参数的选择以及仿真结果的分析,我们提出了一种高效的仿真策略。
我们将所设计的控制系统应用于实际场景中,通过实验数据验证了所提出方案的有效性和可行性。
本论文通过理论与实践相结合的方法,深入探讨了基于MATLAB 控制系统的仿真与应用。
控制系统仿真_薛定宇第二章_MATLAB语言程序设计基础
控制系统仿真与CAD 国家级精品课程
2014-12-31
24/70 24
2.4.4 匿名函数与inline函数
不用编写*.m,定义函数的方法
可以动态地定义函数,在科学运算中有用 二者功能重复,后者远差于前者,不再使用
匿名函数: 举例
控制系统仿真与CAD 国家级精品课程
2014-12-31
控制系统仿真与CAD 国家级精品课程
2014-12-31
3/70 3
2.1.1 常量与变量
常量(保留字符串)
eps: 机器的浮点运算误差限,默认值 i和j:虚数单位,-1的平方根,i=sqrt(-1) Inf: 无穷大量,-Inf为负无穷大 NaN:不定式(Not a Number) pi:圆周率p的双精度浮点表示
25/70 25
2.5 二维图形绘制
可以绘制出各种二维曲线 可以由数据绘图,也可以由格式绘图 本节主要内容
基本二维图形绘制语句 带有其他选项的绘图函数 二维曲线的标注方法 在MATLAB图形上添加文字标注 特殊图形绘制函数及举例 隐函数的曲线绘制
控制系统仿真与CAD 国家级精品课程
符号型数据结构
syms 命令申明符号变量
控制系统仿真与CAD 国家级精品课程
2014-12-31
5/70 5
vpa(A) 显示符号变量
例2-1 显示e的前300位 其他数据结构
int8() 、int16() 、int32() 、uint16() 和 uint32() 字符串型数据:MATLAB字符串是用单引号括起来的 多维数组:三维数组是一般矩阵的直接拓展。 单元数组:多变量系统的频域响应数据存储 类与对象:传递函数对象、状态方程对象
基于MATLAB自动控制系统时域频域分析与仿真
基于MATLAB自动控制系统时域频域分析与仿真MATLAB是一款强大的数学软件,也是自动控制系统设计的常用工具。
它不仅可以进行时域分析和频域分析,还可以进行相关仿真实验。
本文将详细介绍MATLAB如何进行自动控制系统的时域和频域分析,以及如何进行仿真实验。
一、时域分析时域分析是指对系统的输入信号和输出信号进行时域上的观察和分析,以了解系统的动态特性和稳定性。
MATLAB提供了一系列的时域分析工具,如时域响应分析、稳态分析和步骤响应分析等。
1.时域响应分析通过时域响应分析,可以观察系统对于不同的输入信号的响应情况。
在MATLAB中,可以使用`lsim`函数进行系统的时域仿真。
具体步骤如下:- 利用`tf`函数或`ss`函数创建系统模型。
-定义输入信号。
- 使用`lsim`函数进行时域仿真,并绘制系统输出信号。
例如,假设我们有一个二阶传递函数模型,并且输入信号为一个单位阶跃函数,可以通过以下代码进行时域仿真:```num = [1];den = [1, 1, 1];sys = tf(num, den);t=0:0.1:10;u = ones(size(t));[y, t, x] = lsim(sys, u, t);plot(t, y)```上述代码中,`num`和`den`分别表示系统的分子和分母多项式系数,`sys`表示系统模型,`t`表示时间序列,`u`表示输入信号,`y`表示输出信号。
通过绘制输出信号与时间的关系,可以观察到系统的响应情况。
2.稳态分析稳态分析用于研究系统在稳态下的性能指标,如稳态误差和稳态标准差。
在MATLAB中,可以使用`step`函数进行稳态分析。
具体步骤如下:- 利用`tf`函数或`ss`函数创建系统模型。
- 使用`step`函数进行稳态分析,并绘制系统的阶跃响应曲线。
例如,假设我们有一个一阶传递函数模型,可以通过以下代码进行稳态分析:```num = [1];den = [1, 1];sys = tf(num, den);step(sys)```通过绘制系统的阶跃响应曲线,我们可以观察到系统的稳态特性。
MATLABSimulink和控制系统仿真实验报告
MATLAB/Simulink与控制系统仿真实验报告姓名:喻彬彬学号:K031541725实验1、MATLAB/Simulink 仿真基础及控制系统模型的建立一、实验目的1、掌握MATLAB/Simulink 仿真的基本知识;2、熟练应用MATLAB 软件建立控制系统模型。
二、实验设备电脑一台;MATLAB 仿真软件一个三、实验内容1、熟悉MATLAB/Smulink 仿真软件。
2、一个单位负反馈二阶系统,其开环传递函数为210()3G s s s =+。
用Simulink 建立该控制系统模型,用示波器观察模型的阶跃响应曲线,并将阶跃响应曲线导入到MATLAB 的工作空间中,在命令窗口绘制该模型的阶跃响应曲线。
3、某控制系统的传递函数为()()()1()Y s G s X s G s =+,其中250()23s G s s s+=+。
用Simulink 建立该控制系统模型,用示波器观察模型的阶跃响应曲线,并将阶跃响应曲线导入到MATLAB 的工作空间中,在命令窗口绘制该模型的阶跃响应曲线。
4、一闭环系统结构如图所示,其中系统前向通道的传递函数为320.520()0.11220s G s s s s s+=+++,而且前向通道有一个[-0.2,0.5]的限幅环节,图中用N 表示,反馈通道的增益为1.5,系统为负反馈,阶跃输入经1.5倍的增益作用到系统。
用Simulink 建立该控制系统模型,用示波器观察模型的阶跃响应曲线,并将阶跃响应曲线导入到MATLAB 的工作空间中,在命令窗口绘制该模型的阶跃响应曲线。
四、实验报告要求实验报告撰写应包括实验名称、实验内容、实验要求、实验步骤、实验结果及分析和实验体会。
五、实验思考题总结仿真模型构建及调试过程中的心得体会。
题1、(1)利用Simulink的Library窗口中的【File】→【New】,打开一个新的模型窗口。
(2)分别从信号源库(Sourse)、输出方式库(Sink)、数学运算库(Math)、连续系统库(Continuous)中,用鼠标把阶跃信号发生器(Step)、示波器(Scope)、传递函数(Transfern Fcn)和相加器(Sum)4个标准功能模块选中,并将其拖至模型窗口。
基于MATLAB的控制系统数学建模
频率响应与传递函数
系统的频率响应反映了系统对不同频率输入信号的响应能力,传 递函数描述了系统输入输出之间的数学关系。
频域性能指标
包括幅值裕度、相位裕度、谐振频率等,用于评价系统的稳定性 和性能。
利用MATLAB进行频域分析
01
MATLAB频域分析 工具箱
习等功能,提高系统的性能和稳定性。
绿色环保
未来控制系统将更加注重绿色环保,采用 更加高效、节能的技术和设备,减少对环
境的影响。
多领域融合
控制系统将与其他领域进行更多的交叉融 合,如计算机科学、机械工程、电子工程 等,形成更加综合的学科体系。
远程控制和自动化
随着互联网和物联网技术的普及,远程控 制和自动化将成为控制系统的重要发展方 向,提高生产效率和便利性。
实例分析:典型环节传递函数建模
一阶惯性环节
传递函数为`1/(T*s+1)`,其中`T`为时间常数,`s`为复频率。 在MATLAB中可表示为`sys = tf([1], [T, 1])`。
二阶振荡环节
传递函数为`1/(s^2/ωn^2+2ζs/ωn+1)`,其中`ωn`为自然频率,`ζ`为阻 尼比。在MATLAB中可表示为`sys = tf([1], [1/ωn^2, 2ζ/ωn, 1])`。
数学模型描述方法
微分方程法
通过列写系统或元件的微分方程来描述系统的动态特性,适用于线 性定常系统、非线性系统以及时变系统。
传递函数法
在零初始条件下,系统输出量的拉普拉斯变换与输入量的拉普拉斯 变换之比,适用于线性定常系统。
状态空间法
以系统的状态变量为基础,通过状态方程和输出方程来描述系统的动 态特性,适用于多输入多输出系统、非线性系统以及时变系统。
控制系统建模与仿真基于MATLABSimulink的分析与实现
读书笔记
01 思维导图
03 精彩摘录 05 目录分析
目录
02 内容摘要 04 阅读感受 06 作者简介
思维导图
本书关键字分析思维导图
实现
通过
仿真
技术
进行
分析
方法
分析
matlabsi mulink
仿真
系统
simulink
实现
介绍
工程
精彩摘录
精彩摘录
《控制系统建模与仿真基于MATLABSimulink的分析与实现》精彩摘录 随着科技的发展和社会的进步,控制系统在各个领域中的应用越来越广泛, 掌握控制系统的建模与仿真技术对于科学研究、工程实践等方面都具有重要意义。 而《控制系统建模与仿真基于MATLABSimulink的分析与实现》这本书,正是为满 足这一需求而编写的。
阅读感受
而真正让我感到震撼的是第4章到第8章的内容。作者利用MATLAB强大数据处 理、绘图函数和Simulink仿真工具,对被控对象模型进行了系统建模、分析、计 算、性能指标的优化及控制器设计。从时域、频域、根轨迹、非线性及状态空间 几个方面,完成了对系统性能指标的验证及控制系统设计。这其中的细节和深度, 都足以显示作者对这一领域的深入理解和实践经验。
目录分析
在“仿真技术”部分,目录涵盖了控制系统仿真的基本原理、仿真模型的建 立、参数设置以及仿真结果的分析等内容。还介绍了如何利用MATLABSimulink进 行仿真,使得读者能够快速上手这一强大的仿真工具。
目录分析
“应用实例”部分通过多个具体的案例,展示了如何将建模与仿真技术应用 于实际控制系统。这些案例既有简单的单输入单输出系统,也有复杂的非线性多 输入多输出系统,具有很高的实用价值。
如何使用Matlab进行控制系统仿真
如何使用Matlab进行控制系统仿真概述控制系统在工程领域中扮演着重要角色,它用于控制和管理各种工程过程和设备。
而控制系统仿真则是设计、开发和测试控制系统的关键环节之一。
Matlab作为一种功能强大的工程计算软件,提供了丰富的工具和功能,可以帮助工程师进行控制系统仿真。
本文将简要介绍如何使用Matlab进行控制系统仿真,以及一些实用的技巧和建议。
1. Matlab的基础知识在开始控制系统仿真之前,有一些Matlab的基础知识是必要的。
首先,了解Matlab的基本语法和命令,熟悉Matlab的工作环境和编辑器。
其次,学会使用Matlab的集成开发环境(IDE)进行编程和数学建模。
熟悉Matlab的常用函数和工具箱,并了解如何在Matlab中导入和导出数据。
2. 定义系统模型在进行控制系统仿真之前,需要定义系统的数学模型。
根据具体情况选择合适的建模方法,如传递函数、状态空间或差分方程等。
在Matlab中,可以使用tf、ss 或zpk等函数来创建系统模型,并指定系统的参数和输入信号。
此外,Matlab还提供了Simulink这一强大的图形化建模环境,方便用户以图形化界面设计系统模型。
3. 设计控制器控制系统仿真的关键是设计合适的控制器,以实现所需的控制目标。
Matlab提供了各种控制器设计方法和工具,如PID控制器、根轨迹法、频域方法等。
用户可以使用Matlab的Control System Toolbox来设计和分析控制器,并在仿真中进行验证。
此外,Matlab还支持自适应控制和模糊控制等高级控制方法,可根据具体需求选择合适的方法。
4. 进行仿真实验在完成系统模型和控制器设计后,可以开始进行控制系统仿真实验。
首先,确定仿真实验的输入信号,如阶跃信号、正弦信号或随机信号等。
然后,使用Matlab中的sim函数将输入信号应用到系统模型中,并观察系统的输出响应。
通过调整控制器参数或设计不同的控制器,分析系统的性能和稳定性,并优化控制器的设计。
Matlab技术控制系统设计与仿真
Mat1ab技术控制系统设计与仿真一、引言在现代科技领域中,控制系统是一个至关重要的概念。
在各种领域,如机械工程、电子工程、化工工程等,控制系统的设计和仿真是实现目标的关键。
而Mat1ab作为一种功能强大的数值计算软件,被广泛应用于控制系统设计和仿真。
本文将探讨MaHab技术在控制系统设计和仿真中的应用。
二、MatIab基础知识在开始探讨MatIab技术在控制系统设计和仿真中的应用之前,有必要先了解一些Mat1ab的基础知识。
Mat1ab是由MathWorks公司开发的一款用于数值计算和科学绘图的软件。
它提供了丰富的函数库和工具箱,能够满足各种数学和工程领域的需求。
Mauab的核心功能包括数值计算、数据分析、图形绘制和算法开发等。
通过Mat1ab,用户可以进行复杂的矩阵运算、符号计算、非线性优化和差分方程求解等操作。
此外,MaUab还具有强大的数据分析功能,能够进行统计分析、数据可视化和模型拟合等操作。
三、控制系统设计控制系统设计是指通过控制器和执行器对系统进行控制的过程。
Mat1ab提供了一系列用于控制系统设计的工具箱,如Contro1SystemToo1box和Simu1ink等。
Contro1SystemToo1box是Mat1ab中用于控制系统分析和设计的工具箱。
它包含了各种用于系统建模、控制器设计和仿真的函数和工具。
例如,用户可以使用TransferFunction对象来描述系统的传输函数,并使用该对象进行稳定性分析和控制器设计。
此外,COntrOISyStemTOOIbOX还提供了多种控制器设计方法,如根轨迹法、频域法和状态空间法等,可以满足不同系统的设计需求。
SimUIink是MatIab中的一个仿真工具,用于建立动态系统的模型和仿真。
通过Simu1ink,用户可以使用图形界面建立系统的模型,并使用各种模块来描述系统的构成和行为。
SimU1ink提供了广泛的预定义模块,包括传感器、执行器、控制器等。
自动控制原理实验1-6
实验一MATLAB 仿真基础一、实验目的:(1)熟悉MATLAB 实验环境,掌握MATLAB 命令窗口的基本操作。
(2)掌握MATLAB 建立控制系统数学模型的命令及模型相互转换的方法。
(3)掌握使用MATLAB 命令化简模型基本连接的方法。
(4)学会使用Simulink 模型结构图化简复杂控制系统模型的方法。
二、实验设备和仪器 1.计算机;2. MATLAB 软件 三、实验原理函数tf ( ) 来建立控制系统的传递函数模型,用函数printsys ( ) 来输出控制系统的函数,用函数命令zpk ( ) 来建立系统的零极点增益模型,其函数调用格式为:sys = zpk ( z, p, k )零极点模型转换为多项式模型[num , den] = zp2tf ( z, p, k ) 多项式模型转化为零极点模型 [z , p , k] = tf2zp ( num, den )两个环节反馈连接后,其等效传递函数可用feedback ( ) 函数求得。
则feedback ()函数调用格式为: sys = feedback (sys1, sys2, sign ) 其中sign 是反馈极性,sign 缺省时,默认为负反馈,sign =-1;正反馈时,sign =1;单位反馈时,sys2=1,且不能省略。
四、实验内容:1.已知系统传递函数,建立传递函数模型2.已知系统传递函数,建立零极点增益模型3.将多项式模型转化为零极点模型12s 2s s 3s (s)23++++=G )12()1()76()2(5)(3322++++++=s s s s s s s s G 12s 2s s 3s (s)23++++=G )12()1()76()2(5)(3322++++++=s s s s s s s s G4. 已知系统前向通道的传递函数反馈通道的传递函数求负反馈闭环传递函数5、用系统Simulink 模型结构图化简控制系统模型 已知系统结构图,求系统闭环传递函数 。
MATLAB与控制系统仿真实验指导书
《MATLAB与控制系统仿真》实验指导书(2011年第一版)西安邮电学院自动化学院2011年6月目录前言 (1)MATLAB语言实验项目 (3)实验一熟悉MATLAB集成环境与基础运算 (3)实验二 MATLAB的基本计算 (7)实验三 MATLAB图形系统 (9)实验四 MATLAB程序设计 (13)实验五 MATLAB函数文件 (15)实验六MATLAB数据处理与多项式计算 (17)实验七 SIMULINK仿真实验 (21)前言MATLAB 产品家族是美国 MathWorks公司开发的用于概念设计、算法开发、建模仿真、实时实现的理想的集成环境。
是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和SIMULINK两大部分。
MATLAB由于其完整的专业体系和先进的设计开发思路,使得 MATLAB 在多种领域都有广阔的应用空间,特别是在科学计算、建模仿真以及系统工程的设计开发上已经成为行业内的首选设计工具,它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
MATLAB软件工具在自动化专业、测控技术与仪器和电气工程及其自动化等专业的本科生学习中,经常用来计算、仿真和设计,尤其是MATLAB软件的仿真功能,能使学生对所学知识有更加深入的理解和分析。
《MATLAB与控制系统仿真》课程,和《自动控制原理》、《现代控制理论》、《数字信号处理》、《电力电子技术》等重要的专业课程相互支撑、相辅相成,同时也有利于学生完成课程设计和毕业设计等实践教学环节。
MATLAB与控制系统仿真及实验 2016(五)
一个 Simulink 仿真模型的基本模块包括信源、信宿以及系统三个部分。其中,信源 可以是常数、正弦波、阶梯波等信号源,信宿可以是示波器、图形记录仪等,系统则 是被研究系统的 SIMULINK 方框图。系统、信源、信宿,可以从 SIMULINK 模块库中 直接获得,也可以根据用户意愿用库中的模块构建而成。
2
2、 连续系统的建模与仿真 连续系统指的是可以用微分方程来描述的系统。用于建模连续系统的模块:
Simulink 模块组中的 Continous、Math 以及 Nonlinear 模块库中。 利用 Simulink 进行系统仿真的步骤如下: (1) 建立系统仿真模型,这包括添加模块、设置模块参数以及进行模块连接等操
作。 (2) 设置仿真参数。 (3) 启动仿真并分析仿真结果。
四、实验内容
1. 建立单位负反馈二阶系统的 SIMULINK 仿真模型,当输入信号源分别为阶跃信号、 斜坡信号、正弦信号时,给出系统输出的波形图。开环传递函数如下所示
3
2. 利用 SIMULINK 仿真下列曲线并给出结果,取 2 ,
MATLAB 与控制系统仿真及实验 实验报告
(五) 2015- 2016 学年第 2 学期
专业: 班级: 学号: 姓名:
2016 年 5 月 18 日
实验五 SIMULINK 系统仿真设计 一、实验目的
控制系统仿真技术教案
《控制系统仿真技术》教案编者:赵磊机电与信息工程学院黄山学院控制系统仿真技术课程教案黄山学院_自动控制原理课程教案纸主要教学过程时间分配教学过程:第一讲 MATLAB基础1.1目的和意义1.2 MATLAB操作界面1)命令窗口(Command Window)MATLAB的所有函数和命令都可以在命令窗口中执行。
MATLAB命令窗口中的“>>”为命令提示符,表示MATLAB正在处于准备状态。
在命令提示符后键入命令(或语句)并按下回车键后,MATLAB就会解释执行所输入的命令,并在命令后面给出计算结果。
指令,然后按回车键,会出现什么结果?例:命令窗口输入cos(/3)2)历史命令窗口(Command History)默认设置下历史命令窗口会保留自安装时起所有命令的历史记录,并标明使用时间,以方便使用者的查询。
3) 当前目录窗口(Current Directory)在当前目录窗口中可显示或改变当前目录,还可以显示当前目录下的文件,包括文件名、文件类型、最后修改时间以及该文件的说明信息等并提供搜索功能。
4) 工作空间窗口(Workspace)工作空间在MATLAB运行期间一直存在,关闭MATLAB后自动消失,当运行MATLAB 程序时,程序中的变量将被加载到工作空间中。
在一个程序中的运算结果以变量的形式保存在工作空间后,在MATLAB关闭之前该变量还可以被别的程序调用。
在工作空间窗口中将显示所有目前保存在内存中的MATLAB变量的变量名、数据结构、字节数以及类型,而不同的变量类型分别对应不同的变量名图标。
用户可用命令对工作空间中的变量进行显示、删除或保存等操作。
【注意】:内存变量的查阅和删除命令who %查看工作空间中变量的名字whos %查看工作空间中变量的详细信息clear %删除工作空间中的所有变量clear a b %删除变量a,bsize(a) %变量的大小length(a) %求取变量的长度,返回最大维数例:运行下面MATLAB命令,并查看内存变量。
自动控制原理MATLAB仿真实验指导书(4个实验)
自动控制原理MATLAB仿真实验实验指导书电子信息工程教研室实验一典型环节的MA TLAB仿真一、实验目的1.熟悉MATLAB桌面和命令窗口,初步了解SIMULINK功能模块的使用方法。
2.通过观察典型环节在单位阶跃信号作用下的动态特性,加深对各典型环节响应曲线的理解。
3.定性了解各参数变化对典型环节动态特性的影响。
二、SIMULINK的使用MATLAB中SIMULINK是一个用来对动态系统进行建模、仿真和分析的软件包。
利用SIMULINK功能模块可以快速的建立控制系统的模型,进行仿真和调试。
1.运行MA TLAB软件,在命令窗口栏“>>”提示符下键入simulink命令,按Enter键或在工具栏单击按钮,即可进入如图1-1所示的SIMULINK仿真环境下。
2.选择File菜单下New下的Model命令,新建一个simulink仿真环境常规模板。
图1-1 SIMULINK仿真界面图1-2 系统方框图3.在simulink仿真环境下,创建所需要的系统。
以图1-2所示的系统为例,说明基本设计步骤如下:1)进入线性系统模块库,构建传递函数。
点击simulink下的“Continuous”,再将右边窗口中“Transfer Fen”的图标用左键拖至新建的“untitled”窗口。
2)改变模块参数。
在simulink仿真环境“untitled”窗口中双击该图标,即可改变传递函数。
其中方括号内的数字分别为传递函数的分子、分母各次幂由高到低的系数,数字之间用空格隔开;设置完成后,选择OK,即完成该模块的设置。
3)建立其它传递函数模块。
按照上述方法,在不同的simulink的模块库中,建立系统所需的传递函数模块。
例:比例环节用“Math”右边窗口“Gain”的图标。
4)选取阶跃信号输入函数。
用鼠标点击simulink下的“Source”,将右边窗口中“Step”图标用左键拖至新建的“untitled”窗口,形成一个阶跃函数输入模块。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
系统仿真§ 4.1控制系统的数学模型1、传递函数模型(tranfer function)2、零极点增益模型(zero-pole-gain)3、状态空间模型(state-space)4、动态结构图(Simulink结构图)一、传递函数模型(transfer fcn-----tf)1、传递函数模型的形式传函定义:在零初始条件下,系统输出量的拉氏变换C(S)与输入量的拉氏变换R(S)之比。
C(S) b1S m+b2S m-1+…+b mG(S)=----------- =- --------------------------------R(S) a1S n + a2S n-1 +…+ a nnum(S)= ------------den(S)2、在MATLAB命令中的输入形式在MATLAB环境中,可直接用分子分母多项式系数构成的两个向量num、den表示系统: num = [b1, b2, ..., b m];den = [a1, a2, ..., a n];注:1)将系统的分子分母多项式的系数按降幂的方式以向量的形式输入两个变量,中间缺项的用0补齐,不能遗漏。
2)num、den是任意两个变量名,用户可以用其他任意的变量名来输入系数向量。
3)当系统种含有几个传函时,输入MATLAB命令状态下可用n1,d1;n2,d2…….。
4)给变量num,den赋值时用的是方括号;方括号内每个系数分隔开用空格或逗号;num,den方括号间用的是分号。
3、函数命令tf( )在MATLAB中,用函数命令tf( )来建立控制系统的传函模型,或者将零极点增益模型、状态空间模型转换为传函模型。
tf( )函数命令的调用格式为:圆括号中的逗号不能用空格来代替sys = tf ( num, den ) [G= tf ( num, den )]其中,函数的返回变量sys或G 为连续系统的传函模型;函数输入参量num和den分别为系统的分子分母多项式的系数向量。
s+5【例4-1】G(S)=---------------------------s4+2s3+3s2+4s+5解:num=[1,5];den=[1,2,3,4,5];G=tf(num,den)5【例4-2】G(S)=--------------------2s3+3s2+4s解: num=[5];den=[2 3 4 0];G=tf(num,den)★conv( )函数为标准的MATLAB函数,用来求取2个向量的卷积,多项式乘法也可用此函数来计算。
conv( )函数允许任意地多层嵌套,从而表示复杂的计算。
【例4-3】6(S+5)G(S)=-------------------------------------------(S2+3S+1)2(S+6)(S3+6S2+5S+3)解:num=6*[1,5];den=conv(conv(conv([1,3,1],[1,3,1]),[1,6]),[1,6,5,3]);G=tf(num,den)den=conv(conv(conv([1,6],[1,6,5,3]),[1,3 1]),[1,3,1]);二、零极点增益模型(zeropole----zpk)1、零极点增益模型形式(S-Z1)(S-Z2)…(S-Z m)G(S)= k -------------------------------(S-P1)(S-P2)…(S-P n)式中: k: 系统增益;z1,z2,…,z m: 系统零点;p1,p2,…,p n: 系统极点;注:对实系数的传函模型来说,系统的零极点或者为实数,或者以共轭复数的形式出现。
系统的传函模型给出以后,可以立即得出系统的零极点模型。
2、在MATLAB下的输入形式在MATLAB里,连续系统可直接用向量z、p、k构成的矢量组【z,p,k】表示系统,即:k=[k];z=[z1;z2;……;z m];p=[p1;p2;……;p n];3、函数命令zpk( )在MATLAB中,用函数命令zpk( )来建立控制系统的零极点增益模型,或者将传函模型或者状态空间模型转换为零极点增益模型。
zpk( )函数命令的调用格式为:sys = zpk ( z,p,k )【例4-4】6(S+1.9294)(S+0.0353±0.9287i)G(S)=----------------------------------------------------(S+0.9567±1.2272i)(S-0.0433±0.6412i)解:k = 6;z = [-1.9294;-0.0353+0.9287*i;-0.0353-0.9287*i];p = [-0.9567+1.2272*i;-0.9567-1.2272*i;+0.0433+0.6412*i;+0.0433-0.6412*i];G = zpk(z,p,k)三、状态空间模型 (state-space-----ss)1、状态空间模型的形式单变量线性的不变系统可以写成:X(t) = Ax(t)+Bu(t) A BG(S)= (1)Y(t) = Cx(t)+Du(t) C D式中,u,x,y分别为控制输入向量、状态向量、输出向量;A为状态矩阵,由控制对象的参数决定;B为控制矩阵;C为输出矩阵;D为直接传输矩阵。
A、B、C分别为列向量行向量,D为标量,2、在MATLAB下的输入形式在MATLAB中,连续系统可直接用矩阵组【A,B,C,D】表示系统。
A=[a11,a12,…,a1n;a21,a22,…a2n; … ;a n1,a n2,…,a nn];B=[b1;b2;……b n];C=[c1,c2,……c n];D=d;这样MALAB工作空间中的(A,B,C,D)则可表示式(1)式给出的系统状态方程模型。
注:MALAB下的(A,B,C,D)表示同样适合于多变量系统。
3、函数命令ss( )在MATLAB中,用函数命令ss( )来建立控制系统的状态空间模型,或者将传函模型、零极点增益模型的表达式转换为状态空间模型。
ss( )函数命令的调用格式为:ss(A,B,C,D)【例4-5】2.25 -5 -1.25 -0.5 4 6X= 2.25 -4.25 -1.25 -0.25 x + 2 4 u0.25 -0.5 -1.25 -1 2 21.25 -1.75 -0.25 -0.75 0 20 0 0 1 0 0Y = x + u0 2 0 2 0 0解:A=[2.25,-5,-1.25,-0.5;2.25,-4.25,-1.25,-0.25;0.25,-0.5,-1.25,-1;1.25,-1.75,-0.25,-0.75];B= [4,6;2,4;2,2;0,2];C= [0,0,0,1;0,2,0,2];D= zeros(2,2);G= ss(A,B,C,D)四、三种不同模型对象间的相互转换解决实际问题时,常常需要对自控系统的数学模型进行转换,因为他们彼此间都是等效的。
sys = tf (G)sys = zpk(G )sys = ss(G)【例4-6】设系统的零极点模型为:6(S+1.9294)(S+0.0353±0.9287i)G(S)=----------------------------------------------------(S+0.9567±1.2272i)(S-0.0433±0.6412i)试转化成等效的传函模型和状态空间模型。
解:k = 6;z = [-1.9294;-0.0353+0.9287*j;-0.0353-0.9287*j];p = [-0.9567+1.2272*j;-0.9567-1.2272*j;+0.0433+0.6412*j;+0.0433-0.6412*j];G = zpk(z,p,k);sys1= tf(G)sys2=ss(G)【例4-7】若系统的状态方程模型如下:0 1 0 0 0X= 0 0 -1 0 x+ 1 u Y = [ 1,0,0,0] x0 0 0 1 00 0 5 0 -2求系统的传函模型及零极点表达式。
解: A= [0,1,0,0;0,0,-1,0;0,0,0,1;0,0,5,0];B= [0;1;0;-2];C= [1,0,0,0];D= 0;G=ss(A,B,C,D);G1= tf(G)G2=zpk(G)五、SIMULINK模型窗口的动态结构图六、具有延迟环节数学模型的建立G(S)= e-TSpade(T,n):求延迟T的n阶逼近式。
可以绘制N阶pade逼近e-TS的单位阶跃响应曲线和对数相频特性曲线。
[num,den]=pade(T,n)可以返回N阶传递函数的LIT模型来逼近e-TS。
其中,行向量num和den分别是传递函数的分子分母多项式系数和分母多项式,并按降幂排列。
【例】试在matlab命令窗口建立输入下述传递函数:e-S(10S+1)(5S+1)G(S)=解:num1=1;den1=conv([10,1],[5,1]);g1=tf(num1,den1);[num2,den2]=pade(1,10);g2=tf(num2,den2);g12=g1*g2§ 4.2环节方框图形的化简一、环节串联连接的化简→ G1 → G2 →series( ):函数命令可以将两个环节串联连接进行等效化简,它既适用于连续时间系统,也适用于离散时间系统。
如果已知两个环节的传函分别为:G1(S) =G2(S) =则两个环节串联连接的等效变换传函:G(S)=G1(S)G2(S) ==使用series( )函数命令,不必做多项式的乘除运算即可实现2个环节传函(sys1与sys2)串联连接即实现等效传函的运算。
如果 sys1 = tf(num1,den1),sys2 = tf(num2,den2)其命令格式:sys=series(sys1,sys2)。
sys = series( sys1,sys2,…,sysn) sys=sys1*sys2*……*sysn【例4-8】已知双环调速系统电流环内前向通道三个模块的传函为G1(S)=G2(S)=G3(S)=试求三个模块串联连接的等效传函及等效状态空间模型。
解:n1 = [0.0128 1] ; d1 = [0.04 0] ; sys1 = tf (n1,d1);n2 = [30] ; d2 = [0.00167 1]; sys2 = tf( n2,d2);n3 = [2.5] ; d3 = [0.0128 1]; sys3 =tf ( n3,d3);sys123=sys1*sys2*sys3sys=ss(sys123)二、环节并联连结的化简G2(s)G1(s)parallel( )函数命令可以将2个环节并联连接进行等效化简。