二阶系统matlab仿真
- 格式:doc
- 大小:73.50 KB
- 文档页数:4
非线性-二阶系统的MATLAB仿真设计
介绍
本文档旨在介绍如何使用MATLAB进行非线性二阶系统的仿
真设计。
非线性系统在现实世界中广泛存在,因此了解其行为和性
能对于工程师和研究人员来说至关重要。
步骤
步骤1: 定义系统模型
首先,我们需要定义二阶非线性系统的模型。
在MATLAB中,可以使用差分方程或状态空间模型来表示系统。
确保将系统的非线
性特性准确地考虑在内。
步骤2: 设定仿真参数
在进行仿真之前,需要设定仿真的时间范围和步长。
这会影响
仿真的精度和计算时间。
根据系统的特性和需求,选择适当的仿真
参数。
步骤3: 编写仿真代码
使用MATLAB编写仿真代码,将系统模型和仿真参数整合在
一起。
在仿真代码中,可以使用MATLAB的函数和工具箱来实现
系统的数值模拟。
步骤4: 运行仿真
运行仿真代码,并观察系统在仿真时间内的行为。
通过分析仿
真结果,可以评估系统的稳定性、响应时间和稳态误差等性能指标。
步骤5: 分析和优化
根据仿真结果进行系统分析,找出系统存在的问题或改进的空间。
可以通过调整模型参数、改变系统结构或应用控制策略等方式
进行系统优化。
结论
通过MATLAB的仿真设计,可以更好地理解和分析非线性二
阶系统的行为。
这为工程师和研究人员提供了一个强大的工具,用
于系统设计和性能优化。
请注意,本文档仅为提供仿真设计的基本步骤,并不涉及具体的系统模型或实际应用。
具体问题需要根据实际情况进行进一步研究和分析。
优化-二阶系统的MATLAB仿真设计随着科技的发展和应用的需求,优化控制在控制系统设计中扮演着越来越重要的角色。
在现代控制理论中,二阶系统是常见的一种模型。
本文将介绍如何利用MATLAB进行二阶系统的仿真设计,并优化其性能。
1. 二阶系统的基本原理二阶系统是指由二阶微分方程描述的动态系统。
它通常包含一个二阶传递函数,形式为:G(s) = K / (s^2 + 2ζωn s + ωn^2)其中,K是增益,ζ是阻尼比,ωn是自然频率。
2. MATLAB仿真设计MATLAB是一种功能强大的工具,可用于系统仿真与优化。
以下是使用MATLAB进行二阶系统仿真设计的基本步骤:2.1. 创建模型首先,我们需要在MATLAB中创建二阶系统的模型。
可以使用`tf`函数或`zpk`函数来定义系统的传递函数。
s = tf('s');G = K / (s^2 + 2*zeta*wn*s + wn^2);2.2. 仿真分析通过对系统进行仿真分析,可以获得系统的时域响应和频域特性。
可以使用`step`函数进行阶跃响应分析,使用`bode`函数进行频率响应分析。
step(G);bode(G);2.3. 控制器设计根据系统的性能要求,设计合适的控制器来优化系统的性能。
可以使用PID控制器等不同类型的控制器来调节系统。
2.4. 优化系统利用MATLAB提供的优化工具,对系统进行参数调节和优化。
可以使用`fmincon`函数等进行系统优化。
2.5. 仿真验证通过对优化后的系统进行仿真验证,评估其性能是否达到预期。
可以再次使用`step`函数或`bode`函数来分析系统。
3. 总结通过MATLAB进行二阶系统的仿真设计,可以帮助工程师优化系统的性能。
本文介绍了MATLAB仿真设计的基本步骤,包括模型创建、仿真分析、控制器设计、系统优化和仿真验证。
希望本文能对相关研究和工作提供一些参考和帮助。
实验二基于Matlab的离散控制系统仿真一、实验目的1)学习使用Matlab命令对离散控制系统进行仿真的方法。
2)学习使用Simulink工具箱对离散控制系统进行仿真的方法。
二、实验原理1. 控制系统命令行仿真一阶系统闭环传递函数为3()G ss+3请转换为离散系统脉冲传递函数并仿真。
根据要求实验有实验数据和所得图形如下:连续零极点图函数:离散函数零极点图:连续函数根轨迹图:离散函数根轨迹图:连续函数单位脉冲响应曲线:离散函数单位脉冲响应曲线:连续函数单位阶跃响应:离散函数单位阶跃响应:连续函数波特图:离散函数波特图:连续函数艾奎斯特曲线:离散函数艾奎斯特曲线:连续函数尼科尔斯曲线:离散函数尼科尔斯曲线:2. 控制系统simulink 仿真按图建立系统的Simulink 模型,对不同的输入信号进行仿真,改变参数,观察不同的仿真结果。
图1 控制系统Simulink 仿真图解答于实验内容第二问三、实验内容1) 二阶系统传递函数为225()4+25G s s s =+,请转换为零极点模型,离散系统模型(采样时间为1),以及离散零极点模型,并进行基于matlab 命令的仿真研究(求连续和离散系统的单位脉冲响应、单位阶跃响应、零极点分布图、根轨迹、波特图、奈奎斯特曲线、尼科尓斯曲线等)。
根据题意实验所得有:连续单位脉冲响应连续单位阶跃响应连续零极点分布图离散零极点分布图连续根轨迹连续波特图连续奈奎斯特曲线连续尼科尓斯曲线2)按图1建立系统的Simulink模型,对不同的输入信号进行仿真。
改变模型参数,观察不同的仿真结果。
Step输入:Ramp输入:当函数分子分别为1,10,100,500时有:经过实验可以看出分子越大超调越大,调整时间越大。
3)将上述系统离散化并基于Simulink仿真,观察仿真结果。
根据题意实验有:Step输入:Ramp输入:分子为1时:Step输入:Ramp输入:分子为250时:Step输入:Ramp输入:四、实验报告1)按照实验报告所要求的统一格式,填写实验报告;2)记录实验过程、实验结果和图表。
实验二 二阶系统的阶跃响应实验报告1.实验的目的和要求1)掌握二阶控制系统的电路模拟方法及其动态性能指标的测试技术;2)定量分析二阶控制系统的阻尼比ξ和无阻尼自然频率n ω对系统动态性能的影响;3)加深理解“线性系统的稳定性只与其结构和参数有关,而与外作用无关”的性质;4)了解与学习二阶控制系统及其阶跃响应的MATLAB 仿真。
2.实验内容1)分析典型二阶系统2222)(n n n s s s G ωξωω++=的ξ(ξ取值为0、0.25、0.5、1、1.2……)和n ω(n ω取值10、100……)变化时,对系统阶跃响应的影响。
2)典型二阶系统,若0.707ξ=,110n s ω-=,确定系统单位阶跃响应的特征量%σ、r t 和s t 。
3.需用的仪器计算机、Matlab6.5编程软件4.实验步骤1)利用MA TLAB 分析n ω=10时ξ变化对系统单位阶跃响应的影响。
观察并记录响应曲线,根据实验结果分析ξ变化对系统单位阶跃响应的影响。
2)利用MA TLAB 分析ξ=0时n ω变化对系统单位阶跃响应的影响。
观察并记录响应曲线,根据实验结果分析n ω变化对系统单位阶跃响应的影响。
3)利用MA TLAB 计算特征量%σ、r t 和s t 。
5.教案方式讲授与指导相结合6.考核要求以实验报告和实际操作能力为依据7.实验记录及分析1)程序:》t=[0:0.01:10]。
y1=step([100],[1 0 100],t)。
y2=step([100],[1 5 100],t)。
y3=step([100],[1 10 100],t)。
y4=step([100],[1 20 100],t)。
y5=step([100],[1 80 100],t)。
subplot(3,2,1)。
plot(t,y1,'-')。
gridxlabel('time t')。
ylabel('y1')。
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个标准功能模块选中,并将其拖至模型窗口。
实验一、二阶系统时域响应特性的实验研究一、 实验目的:1. 学习并掌握利用MATLAB 编程平台进行控制系统时域仿真的方法。
2. 通过仿真实验研究并总结二阶系统参数对时域响应特性影响的规律。
3. 通过仿真实验研究并总结二阶系统附加一个极点和一个零点对时域响应特性影响的规律。
二、 实验任务及要求:(一) 实验任务:自行选择二阶系统模型及参数,设计实验程序及步骤仿真研究二阶系统参数(n w ,ζ)对系统时域响应特性的影响;研究二阶系统分别附加一个极点、一个零点后对系统时域响应特性的影响;根据实验结果,总结各自的响应规律。
(二) 实验要求:1. 分别选择不少于六个的n w 和ζ取值,仿真其阶跃(或脉冲)响应。
通过绘图展示参数n w ,ζ对时域响应的影响。
不同n w 和ζ变化分别绘制于两幅图中。
2.通过图解法获得各时域响应指标,并进行比较,总结出二阶系统参数变化对时域系统响应特性影响的规律。
3.分别选择不少于六个取值的附加零点、极点,仿真其阶跃(或脉冲)响应,将响应曲线分别绘制于两幅图中,并与无零、极点响应比较。
4.通过图解法获得各响应的时域指标并进行比较分析系统附加零点、极点对二阶系统时域响应特性影响的规律。
5. 以上仿真及图形绘制全部采用MATLAB 平台编程完成。
三、 实验报告编写要求:(一)报告内容:1.实验目的。
2.实验内容及要求。
3.实验方案设计。
4.实验结果。
5.实验规律分析与总结。
6.实验仿真程序清单。
(二)实验报告提交:1. 实验报告以电子文档形式书写并打印,图文并茂。
2. 提交时间与方式要求:(1) 实验后一周内提交,过期提交不予受理。
(2) 两人一组提交一份,报告封面应有组员姓名和学号。
实验二.二、三阶系统动态分析一.实验目的:1.学习二、三阶系统的电模拟方法及参数测试方法;2.观察二、三阶系统的阶跃响应曲线,了解参数变化对动态特性的影响; 3.学习虚拟仪器(超抵频示波器)的使用方法; 4.使用MATLAB 仿真软件进行时域法分析; 5.了解虚拟实验的使用方法。
二.实验设备及仪器1.模拟实验箱; 2.低频信号发生器;3.虚拟仪器(低频示波器); 4.计算机;5.MATLABL 仿真软件。
三.实验原理及内容实验原理:1、二阶系统的数学模型系统开环传递函数为系统闭环传递函数为2、 二阶系统暂态性能(a) 延迟时间t d : 系统响应从 0 上升到稳态值的 50% 所需的时间。
)2s (s n 2nςω+ω为阻尼比(,为无阻尼自然振荡频率其中:ςωω+ςω+ω==n 2nn 22ns 2s )s (G )s (R )s (C(b) 上升时间t r : 对于欠阻尼系统是指 , 系统响应从 0 上升到稳态值所需的时间 ; 对于过阻尼系统则指 , 响应从稳态值的 10% 上升到 90% 所需的时间。
(c) 峰值时间t p : 系统响应到达第一个峰值所需的时间。
(d) 最大超调量σp ( 简称超调量 ) : 系统在暂态过程中输出响应超过稳态值的最大偏离量。
通常以单位阶跃响应稳态值的百分数来表示 , 即%100e e esin 1e)t sin(1e1)y(t )y()y()y(t σ22pn pn pn 11t 2t p d 2t p p p ⨯===-=+--=-=∞∞-=-------ζπζζπζζωζωζωϕζϕωζ超调量)t sin(1e 1)t (y d 2tn ϕωζζω+--=- 2n d p d 1ωπωπt 0)t sin()t (y ζω-==∴= 峰值时间求导可得对dr t t ωπt 1y(t)rϕ-=== 可令2n21n πϕωξ-=-t ≈n2d n d 2.06.01t 7.01ως+ς+ως+≈或n2d n d2.06.01t 7.01t ως+ς+≈ως+≈或(e) 调节时间t s : 系统响应到达并不再越出稳态值的容许误差带±Δ所需的最短时间 , 即通常取Δ为稳态值的 5% 或 2% 。
自动控制原理实验报告实验名称:二阶系统的动态特性与稳定性分析班级:姓名:学号:实验二 二阶系统的动态特性与稳定性分析一、实验目的1、 掌握二阶系统的电路模拟方法及其动态性能指标的测试技术过阻尼、临界阻尼、欠阻尼状态2、 分析二阶系统特征参量(ξω,n )对系统动态性能的影响;3、 分析系统参数变化对系统稳定性的影响,加深理解“线性系统稳定性至于其结构和参数有关,与外作用无关”的性质;4、 了解掌握典型三阶系统的稳定状态、临界稳定、不稳定状态;5、 学习二阶控制系统及其阶跃响应的Matlab 仿真和simulink 实现方法。
二、实验内容1、 构成各二阶控制系统模拟电路,计算传递函数,明确各参数物理意义。
2、 用Matlab 和simulink 仿真,分析其阶跃响应动态性能,得出性能指标。
3、 搭建典型二阶系统,观测各个参数下的阶跃响应曲线,并记录阶跃响应曲线的超调量%σ、峰值时间tp 以及调节时间ts ,研究其参数变化对典型二阶系统动态性能和稳定性的影响;4、 搭建典型三阶系统,观测各个参数下的阶跃响应曲线,并记录阶跃响应曲线的超调量%σ、峰值时间tp 以及调节时间ts ,研究其参数变化对典型三阶系统动态性能和稳定性的影响;5、 将软件仿真结果与模拟电路观测的结果做比较。
三、实验步骤1、 二阶系统的模拟电路实现原理 将二阶系统:ωωξω22)(22nn s G s s n++=可分解为一个比例环节,一个惯性环节和一个积分环节ωωξω)()()()(2C C C C s C C 22262154232154232154215426316320nn s s s s s G s s s C R R R R R R R R R R R R C R R R R R R R R R U U n i ++=++=++== 2、 研究特征参量ξ对二阶系统性能的影响将二阶系统固有频率5.12n =ω保持不变,测试阻尼系数ξ不同时系统的特性,搭建模拟电路,改变电阻R6可改变ξ的值当R6=50K 时,二阶系统阻尼系数ξ=0.8 当R6=100K 时,二阶系统阻尼系数ξ=0.4 当R6=200K 时,二阶系统阻尼系数ξ=0.2(1)用Matlab 软件仿真实现二阶系统的阶跃响应,计算超调量%σ、峰值时间tp 以及调节时间ts 。
《二阶系统单位阶跃响应MATLAB 仿真设计》设计的题目:控制系统开环传递函数为()()1100.51K G s s s =+,要求5/v K s = 0.5,ζ=2s t s ≥.设计目的:1.学会使用MATLAB 语言及Simulink 动态仿真工具进行系统仿真与调试。
学会使用硬件仿真软件对系统进行模拟仿真.2.掌握自动控制原理的时域分析法,根轨迹法,频域分析法,以及各种补偿(校正)装置的作用及用法,能够利用不同的分析法对给定系统进行性能分析,能根据不同的系统性能指标要求进行合理的系统设计,并调试满足系统的指标。
设计要求:1、未校正系统的分析,利用MATLAB 绘画未校正系统的开环和闭环零极点图,绘画根轨迹,分析未校正系统随着根轨迹增益变化的性能(稳定性、快速性);编写M 文件作出单位阶跃输入下的系统响应,分析系统单位阶跃响应的性能指标.绘出系统开环传函的bode图,利用频域分析方法分析系统的频域性能指标(相角裕度和幅值裕度,开环振幅).2、利用频域分析方法,根据题目要求选择校正方案,要求有理论分析和计算。
并与Matlab计算值比较。
选定合适的校正方案(串联滞后/串联超前/串联滞后-超前),理论分析并计算校正环节的参数,并确定何种装置实现.3、绘画已校正系统的bode图,与未校正系统的bode图比较,判断校正装置是否符合性能指标要求,分析出现大误差的原因4、根据选用的装置,使用multisim电路设计仿真软件(或其他硬件电路仿真软件)绘画模拟电路。
求此系统的阶跃响应曲线。
分析采用的校正装置的效果。
目录1。
未校正系统分析 (4)1。
1未校正系统的开环和闭环零极点图 (4)1。
1。
1校正前开环零极点图 (4)1。
1.2校正前系统的闭环零极点 (5)1。
2未校正系统的根轨迹及性能分析 (5)1.3单位阶跃输入下的系统响应及系统性能分析 (6)1.4开环传递函数的bode图及系统的频域性能分析 (7)2.校正方案的计算与选择 (8)3.已校正系统Bode图及性能分析 (9)4.电路设计仿真 (12)5。
实验二 时域系统的性能指标分析与仿真
一、 实验目的
1. 了解和掌握二阶系统的瞬态响应,观察二阶系统两个重要参数ξ和ωn 对系统动态特性的影响;
2. 定量分析ξ和ωn 与超调Mp 、过渡过程时间t s 的关系。
二、 实验内容
1. 熟悉matlab 和simulink 的基本操作;
2. 设二阶系统闭环传递函数为
()()16
416
2++=s s s R s C
1)画出系统的理想脉冲响应曲线,斜坡响应曲线及单位阶跃响应曲线; 2)改变ξ和ωn 值五次(如下表),画出相应的单位阶跃响应曲线
3)根据下表中的值计算相应的系统超调量Mp 、过渡过程时间t s ,
4)由上表分析ξ和ωn 与超调Mp 、过渡过程时间t s 的关系。
四、 实验要求(二者选一)
1. 编制MATLAB 程序,记录相应的数据,图形曲线;
2. 在Simulink 仿真环境中,组成系统的仿真框图并画出相应的响应曲线。
五、思考题
1. 在Simulink 仿真环境中,组成如下仿真框图并画出相应的响应曲线。
2. 在Simulink仿真环境中,组成如下仿真框图并画出相应的响应曲线。
3. 对比上述两条响应曲线与第一次实验的曲线,说明异同点。
控制系统仿真实验报告一、实验目的本次控制系统仿真实验的主要目的是通过使用仿真软件对控制系统进行建模、分析和设计,深入理解控制系统的工作原理和性能特点,掌握控制系统的分析和设计方法,提高解决实际控制问题的能力。
二、实验设备与软件1、计算机一台2、 MATLAB 仿真软件三、实验原理控制系统是由控制对象、控制器和反馈环节组成的一个闭环系统。
其工作原理是通过传感器测量控制对象的输出,将其与期望的输出进行比较,得到误差信号,控制器根据误差信号产生控制信号,驱动控制对象,使系统的输出逐渐接近期望的输出。
在仿真实验中,我们使用数学模型来描述控制对象和控制器的动态特性。
常见的数学模型包括传递函数、状态空间方程等。
通过对这些数学模型进行数值求解,可以得到系统的输出响应,从而对系统的性能进行分析和评估。
四、实验内容1、一阶系统的仿真建立一阶系统的数学模型,如一阶惯性环节。
使用 MATLAB 绘制系统的单位阶跃响应曲线,分析系统的响应时间和稳态误差。
2、二阶系统的仿真建立二阶系统的数学模型,如典型的二阶振荡环节。
改变系统的阻尼比和自然频率,观察系统的阶跃响应曲线,分析系统的稳定性、超调量和调节时间。
3、控制器的设计与仿真设计比例控制器(P 控制器)、比例积分控制器(PI 控制器)和比例积分微分控制器(PID 控制器)。
对给定的控制系统,分别使用不同的控制器进行仿真,比较系统的性能指标,如稳态误差、响应速度等。
4、复杂控制系统的仿真建立包含多个环节的复杂控制系统模型,如串级控制系统、前馈控制系统等。
分析系统在不同输入信号下的响应,评估系统的控制效果。
五、实验步骤1、打开 MATLAB 软件,新建脚本文件。
2、根据实验内容,定义系统的数学模型和参数。
3、使用 MATLAB 中的函数,如 step()函数绘制系统的阶跃响应曲线。
4、对响应曲线进行分析,计算系统的性能指标,如超调量、调节时间、稳态误差等。
5、设计控制器,修改系统模型,重新进行仿真,比较系统性能的改善情况。
《Matlab二阶系统数值仿真程序:深度与广度的探索》一、引言在工程学和科学研究中,对于控制系统和信号处理系统的分析和设计是非常重要的。
而二阶系统作为控制系统中常见的一种类型,其数值仿真程序的编写和应用更是至关重要。
在本文中,我们将深入探讨Matlab中二阶系统的数值仿真程序,帮助读者全面理解并灵活运用这一主题。
二、Matlab中二阶系统数值仿真程序的基本原理在Matlab中,我们可以使用一系列内置函数来构建二阶系统的数值仿真程序。
我们需要定义二阶系统的参数,包括阻尼比、自然频率和初始条件等。
我们可以利用Matlab中的控制系统工具箱来建立系统的传递函数或状态空间模型。
通过调用相关的数值仿真函数,如step()和impulse()等,可以对二阶系统进行时域响应和频域分析,从而深入理解其特性和行为。
三、深入探讨二阶系统数值仿真程序的应用1. 时域响应分析:利用Matlab中的step()函数,我们可以得到二阶系统的阶跃响应曲线。
通过观察阶跃响应曲线的波形和参数,我们可以了解系统的过渡过程、稳态性能以及动态特性。
2. 频域分析:利用Matlab中的bode()函数,我们可以绘制二阶系统的频率响应曲线。
通过分析频率响应曲线的幅频特性和相频特性,我们可以了解系统的频率选择性、共振特性以及稳定性边界。
3. 参数变化分析:利用Matlab中的sensitivity()函数,我们可以对二阶系统的参数进行变化分析。
通过观察不同参数对系统特性的影响,我们可以进行灵活的系统设计和优化。
四、对二阶系统数值仿真的个人观点和理解在我看来,Matlab中二阶系统的数值仿真程序是非常实用和强大的工具。
通过深入探索和灵活应用,我们可以更好地理解和分析控制系统的性能和特性。
我也认为在实际工程和科学项目中,对于二阶系统数值仿真的深度和广度探索,能够为我们带来更多有价值的思考和经验。
五、总结与回顾在本文中,我们深入探讨了Matlab中二阶系统数值仿真程序的基本原理和应用。
设计一个用户图形界面,完成以下基本功能:添加两个输入框,用来输入下图典型二阶系统的阻尼比和无阻尼自然频率。
根据所输入的值不同,通过下拉列表选择绘制该二阶系统的四种分析图(在四个不同的坐标系中绘制):单位阶跃响应图(在该图上显示该二阶系统的三个性能指标的值:超调量、调节时间、峰值时间)、根轨迹图、乃奎斯特图和波特图(在该图上显示该系统的幅值裕度和相角裕度的值)。
PS:可对图形界面进行个性化设计并添加更为丰富的功能。
将文档后边程序复制到m文本里,并下载gui界面,放到一个文件夹里,将MATLAB的工作目录指定到该文件夹。
地址如下:运行m文本。
在阻尼比和无阻尼自然频率的文本框里输入相应的值,在下拉菜单里选择相应的曲线类型,再点击绘制,则可以在图表中显示对应的曲线,点击退出则关闭图形界面。
例如输入阻尼比1,无阻尼自然频率输入2,点击根轨迹图,则显示如图的曲线。
的曲线。
点击奈奎斯特图则,显示如下:点击波特图则显示如下:程序代码如下:function varargout = lastwork(varargin)gui_Singleton = 1;gui_State = struct('gui_Name', mfilename, ...'gui_Singleton', gui_Singleton, ...'gui_OpeningFcn', @lastwork_OpeningFcn, ...'gui_OutputFcn', @lastwork_OutputFcn, ...'gui_LayoutFcn', [] , ...'gui_Callback', []);if nargin && ischar(varargin{1})gui_State.gui_Callback = str2func(varargin{1});endif nargout[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); elsegui_mainfcn(gui_State, varargin{:});endfunction lastwork_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hObject;guidata(hObject, handles);function varargout = lastwork_OutputFcn(hObject, eventdata, handles) varargout{1} = handles.output;function pushbutton1_Callback(hObject, eventdata, handles)clc;a = str2num(get(handles.edit1,'string'));b = str2num(get(handles.edit3,'string'));num=[b*b];den1=[1 2*a*b b*b] ;t = 0:0.005:5;sys1=tf(num, den1);c = get(handles.popupmenu1,'value');switch ccase 1X =step(sys1,t);plot(t,X,'r','linewidth',2);[y,x,t]= step(sys1,t);[ymax,tp]=max(y);fengzhi_time = (tp - 1)*0.005;chaotiaoliang = (ymax-1)/1*100;max_overshoot=ymax-1 ;r=1;while r<=length(y)&& y(r)<1.0001r=r+1;endshangshen_time = (r-1)*0.005;s=1001;while y(s)>0.98&&y(s)<1.02s=s-1;endtiaojie_time=(s-1)*0.005 ;fengzhi_time=num2str(fengzhi_time);chaotiaoliang=num2str(chaotiaoliang);chaotiaoliang=[chaotiaoliang,'%'];tiaojie_time=num2str(tiaojie_time);max_overshoot=num2str(max_overshoot);text(3,(max(X)+min(X))/2+(max(X)+min(X))/6,'调节时间:');text(4,(max(X)+min(X))/2+(max(X)+min(X))/6,tiaojie_time);text(3,(max(X)+min(X))/2,'峰值时间:');text(4,(max(X)+min(X))/2,fengzhi_time);text(3,(max(X)+min(X))/2-(max(X)+min(X))/6,'超调量:');text(4,(max(X)+min(X))/2-(max(X)+min(X))/6,chaotiaoliang);case 2rlocus(num,den1)a=get(gca);x=a.XLim;%获取横坐标上下限case 3nyquist(num,den1);case 4bode(sys1);set(findobj(gcf,'type','line'),'linewidth',2,'color','red')[gm,pm] = margin(sys1);text(0.1,100,'相角裕度:');pm=num2str(pm);text(1,100,pm);text(0.1,50,'幅值裕度:');gm=num2str(gm);text(1,50,gm);endgrid on;function edit1_Callback(hObject, eventdata, handles)function edit1_CreateFcn(hObject, eventdata, handles)if ispc && isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunction edit3_Callback(hObject, eventdata, handles)function edit3_CreateFcn(hObject, eventdata, handles)if ispc && isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunction listbox1_Callback(hObject, eventdata, handles)function listbox1_CreateFcn(hObject, eventdata, handles)if ispc && isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunction popupmenu1_Callback(hObject, eventdata, handles)function popupmenu1_CreateFcn(hObject, eventdata, handles)if ispc && isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunction pushbutton2_Callback(hObject, eventdata, handles)close(gcf)。
实验二二阶系统阶跃响应一、实验目的1. 研究二阶系统的特征参数,阻尼比?和无阻尼自然频率3n对系统动态性能的影响,定量分析g和3n 与最大超调量o p和调节时间ts之间的关系。
2. 进一步学习实验系统的使用。
3. 学会根据系统的阶跃响应曲线确定传递函数。
4. 学习用MATLAB仿真软件对实验内容中的电路进行仿真。
二、实验原理典型二阶闭环系统的单位阶跃响应分为四种情况:1) 欠阻尼二阶系统如图1所示,由稳态和瞬态两部分组成:稳态部分等于1,瞬态部分是振荡衰减的过程,振(1) 性能指标:调节时间ts:单位阶跃响应C(t)进人±5%(有时也取±2%)误差带,并且不再超出该误差带的最小时间。
超调量0% ;单位阶跃响应中最大超出量与稳态值之比。
峰值时间tp:单位阶跃响应C(t)超过稳态值达到第一个峰值所需要的时间。
结构参数§ :直接影响单位阶跃响应性能。
(2) 平稳性:阻尼比§越小,平稳性越差(3) 快速性:§过小时因振荡强烈,衰减缓慢,调节时间ts长,§过大时,系统响应迟钝,调节时间ts也长,快速性差。
=0.7调节时间最短,快速性最好。
4 =0.7时超调量。
%〈5%, 平稳性也好,故称4 =0.7为最佳阻尼比。
2) 临界阻尼二阶系统(即4 =1)系统有两个相同的负实根,临界阻尼二阶系统单位阶跃响应是无超调的,无振荡单调上升的, 不存在稳态误差。
3) 无阻尼二阶系统(§= 0时)此时系统有两个纯虚根。
4) 过阻尼二阶系统(§>1)时此时系统有两个不相等的负实根,过阻尼二阶系统的单位阶跃响应无振荡无超调无稳态误 差,上升速度由小加大有一拐点。
三、实验内容1. 搭建模拟电路典型二阶系统的闭环传递函数为:7?(5) s 2 + 2 事叫 s + 其中,?和con 对系统的动态品质有决定的影响。
搭建典型二阶系统的模拟电路,并测量其阶跃响应:二阶系统模拟电路图其结构图为:系统闭环传递函数为:皿应式中,T 二RC, K=R2/R1 o 比较上面二式,可得:wn =1/T=1/RC g 二K/2二R2/2R1。
利用simulink进行仿真的步骤1.双击桌面图标打开Matlab软件;2.在Command Window命令行>>后输入simulink并回车或点击窗口上部图标直接进入simulink界面;3.在simulink界面点击就可以在Model上建立系统的仿真模型了;4.在左面的器件模型库中找到所需模型,用鼠标将器件模型拖到建立的Model上,然后用鼠标将它们用连线连起来,系统的仿真模型就建立起来了;5.点击界面上部的图标‘’进行仿真,双击示波器就可以看到仿真结果。
实验要用到的元件模型的图标及解释如下:阶跃信号:在simulink-source中可以找到,双击可以设定阶跃时间。
sum:在simulink-math operations中可以找到,双击可以改变器属性以实现信号相加还是相减;比例环节:在simulink-math operations中可以找到,双击可以改变器属性以改变比例系数;积分环节:在simulink-continues中可以找到;传函的一般数学模型表达形式:在simulink-continues中可以找到,双击可以对传递函数进行更改(通过设定系数)。
示波器:在simulink-sinks中可以找到。
传递函数的Matlab定义传递函数以多项式和的形式(一般形式、标准形式)给出10111011()m m m m n n n n b s b s b s b G s a s a s a s a ----+++=+++ 用如下语句可以定义传递函数G(s)>> num=[b 0,b 1,b 2…b m ] ;只写各项的系数>> den=[a 0,a 1,a 2,…a n ] ;只写各项的系数>> g=tf(num,den)或>>g=tf([b0,b1,b2…bm],[a0,a1,a2,…an])例:用Matlab 定义二阶系统2223()(0.6,3)2*0.6*33n G s s s ζω===++并用Matlab 语句绘制此二阶系统在单位阶跃信号输入下的输出曲线c(t)(即单位阶跃响应)。