MATLAB下二阶系统的单位阶跃响应
自动控制原理实验二阶系统的阶跃响应
自动控制原理实验二阶系统的阶跃响应一、实验目的通过实验观察和分析阶跃响应曲线,了解二阶系统的动态特性,掌握用MATLAB仿真二阶系统阶跃响应曲线的绘制方法,提高对二阶系统动态性能指标的计算与分析能力。
二、实验原理1.二阶系统的传递函数形式为:G(s)=K/[(s+a)(s+b)]其中,K为系统增益,a、b为系统的两个特征根。
特征根的实部决定了系统的稳定性,实部小于零时系统稳定。
2.阶跃响应的拉氏变换表达式为:Y(s)=G(s)/s3.阶跃响应的逆拉氏变换表达式为:y(t)=L^-1{Y(s)}其中,L^-1表示拉氏逆变换。
三、实验内容1.搭建二阶系统,调整增益和特征根,使系统稳定,并记录实际的参数数值。
2.使用MATLAB绘制二阶系统的阶跃响应曲线,并与实际曲线进行对比分析。
四、实验步骤1.搭建二阶系统,调整增益和特征根,使系统稳定。
根据实验要求,选择适当的数字电路元件组合,如电容、电感、电阻等,在实际电路中搭建二阶系统。
2.连接模拟输入信号。
在搭建的二阶系统的输入端接入一个阶跃信号发生器。
3.连接模拟输出信号。
在搭建的二阶系统的输出端接入一个示波器,用于实时观察系统的输出信号。
4.调整增益和特征根。
通过适当调整二阶系统的增益和特征根,使系统达到稳定状态。
记录实际调整参数的数值。
5.使用MATLAB进行仿真绘制。
根据实际搭建的二阶系统参数,利用MATLAB软件进行仿真,绘制出二阶系统的阶跃响应曲线。
6.对比分析实际曲线与仿真曲线。
通过对比分析实际曲线与仿真曲线的差异,分析二阶系统的动态特性。
五、实验结果与分析1.实际曲线的绘制结果。
根据实际参数的输入,记录实际曲线的绘制结果,并描述其特点。
2.仿真曲线的绘制结果。
利用MATLAB软件进行仿真,绘制出仿真曲线,并与实际曲线进行对比分析。
3.实际曲线与仿真曲线的对比分析。
通过对比实际曲线与仿真曲线的差异,分析二阶系统的动态特性,并讨论影响因素。
六、实验讨论与结论1.实验过程中遇到的问题。
二阶系统瞬态响应和稳定性分析
2020年第10期136信息技术与信息化电子与通信技术二阶系统瞬态响应和稳定性分析李明辉* LI Ming-hui摘 要 在控制工程中,二阶系统的应用极为普遍,其重要性不言而喻。
本文利用MATLAB 软件对二阶系统三种阻尼情况下的响应及稳定性情况进行分析,并结合磁盘驱动读取系统具体分析其在实际工程中的应用,仿真结果直观明了。
关键词 磁盘驱动读取系统;二阶系统;稳定性doi:10.3969/j.issn.1672-9528.2020.10.043* 泰州学院 江苏泰州 225300[基金项目] 泰州学院2020年大学生创新训练计划项目校级项目(项目编号:2020CXXL049)0 引言在现代科学技术的众多领域中,自动控制技术展现出愈加关键的作用。
如何对控制系统进行设计分析已得到广泛关注[1-3]。
实际工程之中有许多控制系统都可以建立起高阶系统[4-6],但在某些条件下,可以忽略一些次要因素,把高阶系统视为二阶系统来研究[7]。
因此,分析和理解二阶系统特点有着重要意义。
1 原理及说明典型Ⅰ型二阶单位反馈闭环系统如图1所示。
图1 典型Ⅰ型二阶单位反馈闭环系统Ⅰ型二阶系统的开环传递函数为:(1)Ⅰ型二阶系统的闭环传递函数标准式为:(2)其中,为自然频率(无阻尼振荡频率),为阻尼比。
2 二阶系统的单位阶跃响应令(2)式的分母为零,得到二阶系统的特征方程,可以发现值的大小决定了二阶系统的特征根。
当,说明方程有两个实部大于0的特征根,系统单位阶跃响应为:式中,。
或者因为阻尼比,指数部分为正,该系统的动态过程展现为发散正弦振荡或单调发散,说明系统是不稳定的。
当,那么方程有一对纯虚根,,与s 平面上一组共轭极点照应,系统的阶跃响应为等幅振荡,该系统对应无阻尼状态。
当,那么特征方程有一对共轭复根,,与s 平面左半部分的共轭复数极点照应,其阶跃响应是一个衰减的振荡过程,该系统对应欠阻尼状态。
当,特征方程有两个相等的负实根,,与s平面负实轴上的两个相等的实极点照应,其阶跃响应非周期地趋于稳态输出,系统处于临界阻尼状态。
MATLAB在求二阶系统中阶跃响应的分析及应用
MATLAB在求⼆阶系统中阶跃响应的分析及应⽤摘要⼆阶系统控制系统按数学模型分类时的⼀种形式,是⽤数学模型可表⽰为⼆阶线性常微分⽅程的系统。
⼆阶系统的解的形式,可由对应传递函数W(s)的分母多项式P(s)来判别和划分,P(s)的⼀般形式为变换算⼦s的⼆次三项代数式。
代数⽅程P(s)=0的根,可能出现四种情况。
1.两个实根的情况,对应于两个串联的⼀阶系统。
如果两个根都是负值,就为⾮周期性收敛的稳定情况。
2.当a1=0,a2>0,即⼀对共轭虚根的情况,将引起频率固定的等幅振荡,是系统不稳定的⼀种表现。
3.当a1<0,a1-4a2<0,即共轭复根有正实部的情况,对应于系统中发⽣发散型的振荡,也是不稳定的⼀种表现。
4.当a1>0,a1-4a2<0,即共轭复根有负实部的情况,对应于收敛型振荡,且实部和虚部的数值⽐例对输出过程有很⼤的影响。
⼀般以阻尼系数ζ来表征,取在0.4~0.8之间为宜。
当ζ>0.8后,振荡的作⽤就不显著,输出的速度也⽐较慢。
⽽ζ<0.4时,输出量就带有明显的振荡和较⼤的超调量,衰减也较慢,这也是控制系统中所不希望的。
当激励为单位阶跃函数时,电路的零状态响应称为单位阶跃响应,简称阶跃响应。
阶跃响应g(t)定义为:系统在单位阶跃信号u(t)的激励下产⽣的零状态响应。
关键词:⼆阶系统阶跃响应 MA TL AB/S im uli nkMATLAB 在求⼆阶系统中阶跃响应的分析及应⽤1 训练⽬的和要求通过对MATLAB 仿真软件的语⾔的学习,学会在MATLAB 中解决《电路原理》、《模拟电⼦技术基础》、《数字电⼦技术基础》等所学课本上的问题,进⼀步熟悉并掌握MATLAB 在电路、信号与系统、⾃动控制原理、数字信号处理等中的应⽤。
通过对软件的应⽤,巩固已学知识。
以求达到通过训练能熟练掌握MATLAB 的应⽤,能够深⼊到实际问题中。
要求通过理论分析所要求题⽬并通过MATLAB 仿真⽐较实验结果。
MATLAB求系统的单位冲击响应及单位阶跃响应
MATLAB求系统的单位冲击响应及单位阶跃响应MATLAB 求系统的单位冲击响应及单位阶跃响应
题⽬描述:某系统满⾜的微分⽅程为$y^{''}(t)+4y^{'}(t)+3y(t)=2f^{'}(t)+f(t)$,求系统的单位冲击响应.
impulse函数
impulse函数可以求得系统的单位冲击响应,参数为sys和t,其中sys为系统对应的微分⽅程,t为持续时间.
sys变量由tf函数⽣成,其参数为输⼊部分的⽅程系数矩阵和响应部分的⽅程系数矩阵.
代码如下:
1 sys = tf([2, 1],[1, 4, 3]);
2 t = 0:0.1:10;
3 y = impulse(sys, t);
4 plot(t, y);
⽣成图像:
题⽬描述:某系统满⾜的微分⽅程为$y^{''}(t)+4y^{'}(t)+3y(t)=2f^{'}(t)+f(t)$,求系统的单位阶跃响应.
step函数
step函数可以求得系统的单位阶跃响应,其⽤法与impulse函数类似.
代码如下:
1 sys = tf([2, 1], [1, 4, 3]);
2 t = 0:0.1:10;
3 y = step(sys, t);
4 plot(t, y);
⽣成图像:。
由系统阶跃响应辨识传递函数的Matlab实现方法
由系统阶跃响应辨识传递函数的Matlab 实现方法典型二阶系统传递函数为:121)(22++=Ts s T s G ξ工业生产过程中,大多数系统的阶跃响应曲线是临界阻尼或过阻尼的,即ξ≥1。
只要求出T 和ξ就能确定系统的传递函数。
G(s)可以分解为:))((1)(212ωω++=s s T s G其中,[][]11112221--=-+=ξξωξξωTT1ω、2ω都是实数且均大于零。
则有:211ωω=T ,21212ωωωωξ+= 传递函数进一步化为:))(()(2121ωωωω++=s s s G因此,辨识传递函数就转化为求解1ω、2ω。
当输入为单位阶跃函数时,对上式进行拉普拉斯反变换,得系统时域下的单位阶跃响应为:t te et y 212111221)(ωωωωωωωω---+--=, 即 tteet y 21211122)(1ωωωωωωωω-----=-令1ω=2ωk )1(>k,得tk t ek e k k t y 22111)(1ωω-----=-⎥⎦⎤⎢⎣⎡--=---t k t e k e k k 2)1(2111ωω对上式两边取以e 为底的对数得[]⎥⎦⎤⎢⎣⎡-+--=---t k e k t k k t y 2)1(211ln 1ln )(1ln ωω 当∞→t 时,⎥⎦⎤⎢⎣⎡---t k e k 2)1(11ln ω0→,则上式化简为 []t k k t y 21ln )(1ln ω--=-,该式的形式满足直线方程b at t y +=)(*其中,)(*t y =[])(1ln t y -,1ln,2-=-=k kb a ω)1(>k 通过最小二乘算法实现直线的拟合,得到a ,b 的值,即可得到1ω、2ω的值,进而可得系统的传递函数。
Matlab 程序代码 %identification.mclcclose allt=[1 3 5 7 9 11 13 15 17 19];y=[0.149086 0.5890067 0.830617 0.933990 0.973980 0.991095 0.995868 0.998680 0.999490 0.999850]; %实验数据,数据来源:《系统辨识方法及应用》.国防工业出版社 y2=log(1-y); plot(t,y2,'*'); grid onpm=polyfit(t,y2,1) value=polyval(pm,t); hold onplot(t,value,'r')title('\fontname{黑体}\fontsize{20}y(t)=at+b') w2=-pm(1)w1=w2/(1-exp(-pm(2))) T=1/sqrt(w1*w2)theta=(w1+w2)/(2*sqrt(w1*w2)) z=[];p=[-w1 -w2]; k=w1*w2; sys=zpk(z,p,k) figure(2)step(sys,[0:0.5:20]); axis([0 20 0 1.2]) hold on plot(t,y,'r*')运行结果:系统的传递函数为)4797.0)(126.1(54034.0)(++=S S S G 阻尼比为0925.1=ξ自然振荡周期为T=1.3604 s。
二阶系统的阶跃响应实验报告
实验二 二阶系统的阶跃响应实验报告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实验报告
自动控制技术与其应用实验报告系别:班级:XX:学号:实验二典型环节与其阶跃响应(▲)一、实验目的1. 学习构成典型环节的模拟电路,了解电路参数对环节特性的影响。
2. 学习典型环节阶跃响应的测量方法,并学会由阶跃响应曲线计算典型环节的传递函数。
3. 学习用MATLAB仿真软件对实验内容中的电路进行仿真。
二、实验设备和仪器1.计算机;2. MA TLAB软件三、实验结果分析与结论1.比例环节 G1(S)=1和G2(S)=2(二选一)比例环节仿真仿真结构图单位阶跃响应波形图比例环节特点:成比例,无失真和延迟2.惯性环节 G1(S)=1/(S+1)和G2(S)=1/(0.5S+1) (二选一)绘制:仿真结构图、单位阶跃响应波形图(需要注明必要的特殊点)惯性环节仿真仿真结构图单位阶跃响应波形图惯性环节特点:输出量不能立即随输入量的变化而变化,存在时间上延迟,输出无振荡3.积分环节G1(S)=(1/S)和G2(S)=(1/(0.5S))绘制:仿真结构图、单位阶跃响应波形图(需要注明必要的特殊点)积分环节仿真仿真结构图单位阶跃响应波形图积分环节仿真仿真结构图单位阶跃响应波形图积分环节特点:输出量反应输入量的时间积累4.微分环节G1(S)=0.5S和G2(S)=2S绘制:仿真结构图、单位阶跃响应波形图(需要注明必要的特殊点)微分环节仿真仿真结构图单位阶跃响应波形图微分环节仿真仿真结构图单位阶跃响应波形图微分环节特点:输出能够预示输入信号的变化趋势5.比例微分环节G1(S)=(2+S)和G2(S)=(1+2S)绘制:仿真结构图、单位阶跃响应波形图(需要注明必要的特殊点)比例微分环节仿真仿真结构图单位阶跃响应波形图比例微分环节仿真仿真结构图单位阶跃响应波形图比例微分环节特点:调节与时,偏差小,当输出稳定时的幅值与比例环节的比例系数成正比6.比例积分环节G1(S)=(1+1/S)和G2(S)=2(1+1/2S)绘制:仿真结构图、单位阶跃响应波形图(需要注明必要的特殊点)比例积分环节仿真仿真结构图单位阶跃响应波形图比例积分环节仿真仿真结构图单位阶跃响应波形图比例积分环节特点:应速度变快,其输出与积分时间常数有关四、实验心得与体会通过实验可以更加形象生动、清晰、一目了然,让我们更容易掌握各个环节的特点,同时掌握了MATLAB 的一些基本绘图仿真知识。
实验五 基于MATLAB控制系统的单位阶跃响应分析
实验五基于MATLAB控制系统的单位阶跃响
应分析
基于MATLAB控制的单位阶跃响应分析
一、实验目的1)学会使用MATLAB编程绘制控制系统的单位阶跃响应曲线。
2)研究二阶系统中ξ,ωn对系统阶跃响应的影响。
3)掌握准确读取动态特性指标的方法。
二、实验内容已知二阶控制系统,用MATLAB完成曲线绘制。
三、实验仪器1、电脑2、 MATLAB软件
四、实验原理例题:3-1若已知单位负反馈前向通道的传递函数为G(S)=100/(s2+5s),试作出其单位阶跃响应曲线,准确读出其动态性能指标,并记录数据。
【解】
老师演示1)作单位阶跃响应曲线参考程序如下:
sys=tf(100,[15 0]);sysc=feedback(sys,1);step(sysc)习题:
1、已知单位负反馈系统的开环传递函数为10/(s2+2s+10)试作出该系统的阶跃响应,并记录其性能指标。
2、已知闭环传递函数为5(s2+5s+6)/s3+6s2+10s+8,试作出阶跃响应曲线,并记录其性能指标。
五、实验步骤
1、老师演示例题。
编程得到曲线,记录数据。
2、学生自行完成习题,编写程序,记录数据。
六、实验结果记录如下:画出仿真图,以及记录实验中的性能指标数据。
七、思考题
1、用其他方法编写程序得到响应曲线。
MATLAB实验讲解-闭环系统的阶跃响应
实验一讲解3、典型二阶系统得闭环传递函数如下:222()2n n nG s s s ϖξϖϖ=++设定阻尼比(0,0.4,1,4)ξ=,无阻尼自然振荡频率1n ϖ=,t 取值为0~18间隔步长为2,绘制二阶系统在这些阻尼比取值下的各单位阶跃响应曲线。
图形上标注图形标题“二阶系统在不同阻尼比取值下单位阶跃响应曲线” 坐标说明:x 轴为“时间t ”,y 轴为“幅值y(t)”。
12345678910-3-2.5-2-1.5-1-0.50.511.52二阶系统在不同阻尼比取值下的单位阶跃响应曲线时间t幅值y (t )024681012141618-10-8-6-4-22二阶系统在不同阻尼比取值下的单位阶跃响应曲线时间t幅值y (t )5、考虑一个三阶对象模型:31()(1)G s s =+,研究采用P 控制策略下闭环系统的阶跃响应。
其中:P :比例增益p K 取值从0.2~2变化,变化增益为0.6。
注意:在阶跃响应曲线上分别标注变化值的最小值和最大值。
0246810121416180.10.20.30.40.50.60.70.80.9Step response时间t (sec)幅值y (t )0246810121416180.20.40.60.811.21.41.61.82Step response时间t (sec)幅值y (t )024681012141618200.20.40.60.811.21.41.6Step response时间t (sec)幅值y (t )。
基于matlab的二阶系统的阶跃响应曲线分析
利用MATLAB 绘制二阶控制系统的单位阶跃响应曲线作者:张宇涛 张怀超 陈佳伟一:课设目的和意义(1) 学习控制系统的单位阶跃响应。
(2) 记录单位阶跃响应曲线。
(3) 比较阻尼比zeta 为不同值时曲线的变化趋势。
(4)掌握二阶系统时间响应分析的一般方法。
二:理论分析(1)典型二阶系统的结构图如图1所示。
不难求得其闭环传递函数为2222)()()(n n n B s s R s Y s G ωζωω++== 其特征根方程为222n n s ωζω++=0方程的特征根: 222n n s ωζω++=0))(()1)(1(2121=--=++s s s s T s T s 式中, ζ称为阻尼比; n ω称为无阻尼自然振荡角频率(一般为固有的)。
当ζ为不同值时,所对应的单位阶跃响应有不同的形式。
(2)二阶系统单位阶跃响应的三种不同情况a.过阻尼二阶系统的单位阶跃响应(ζ>1)在阻尼比ζ>1的条件下,系统的特征方程有两个不相等的实数极点。
222n n s ωζω++=0))(()1)(1(2121=--=++s s s s T s T s 式中1T =;)1(12--ζζωn =2T )1(12-+ζζωn 。
此时,由于ζ>1,所以1T 和2T 均为实数,2121T T n =ω。
当输入信号为单位阶跃输入时,系统的输出响应如下:)/1)(1/(1)/1)(1/(11)()()(221112T s T T T s T T s s R s G s Y B +-++-+== 对上式进行拉普拉斯反变换,可得t T t T e T T e T T t y 211211121/11/11)(---+-+= b .临界阻尼时的单位阶跃响应(ζ=1)此时闭环系统的极点为n n s s ωζω-=-==21此时系统的单位阶跃响应为)1(1)(t e t y n t nωω+-=- c .欠阻尼时的单位阶跃响应(0<ζ<1)当0<ζ<1时,系统处于欠阻尼状态。
基于MATLAB的二阶系统分析
基于MATLAB 的二阶系统分析凡是以二阶微分方程描述运动方程的控制系统,称为二阶系统。
在控制工程中,不仅二阶系统的典型应用极为普遍,而且不少高阶系统的特性在一定条件下可用二阶系统的特性来表征。
因此,着重研究二阶系统的分析和计算方法,具有较大的实际意义。
1. 典型二阶系统的暂态分析典型二阶系统的暂态分析是从时域方面对二阶系统进行分析。
时域分析具有非常直观的分析效果,例如:给系统输入端加上阶跃信号观察系统的输出状况即二级系统的单位阶跃响应,能够很直观、很全面的对所研究的二阶系统作出全面了解。
但在计算机尚未普及之前,对二阶系统单位阶跃响应曲线的绘制全依赖于人们的手工描绘,所以,对简单的、低阶系统尚能用时域法进行分析,但对于高阶系统的单位阶跃响应曲线就很难依赖手工绘制。
因此,这位系统的暂态分析提出了很大挑战。
然而,随着计算机技术的发展,用计算机设计的控制系统的计算机辅助设计软件层出不穷,这为控制系统的暂态分析提供了方便。
因此,基于MATLAB 的二阶系统分析,就是利用现在在控制系统分析、系统仿真等领域中应用非常广泛的MATLAB 语言作为分析工具。
1.1典型二阶系统的数学模型分析在研究典型的二阶系统时常用的数学模型有:)()()(2)(222t r t c dt t dc T dtt c d T =++ξ (1)222222121)()()(nn n s s Ts s T s R s C s ωξωωξ++=++==Φ (2) 其中,ξ为系统的阻尼比,n ω为无阻尼自然震荡频率。
公式(1)是对二阶系统的微分方程描述,公式(2)是对二阶系统的传递函数描述。
1.2典型二阶系统的单位阶跃响应典型二阶系统的特征方程为:02)(22=++=n n s s s D ωξω (3)特征根为:n n s ωξξω122,1-±-= (4)由公式(4)可以看出,特征根的分布主要取决于系统的阻尼比ξ。
而系统在零初始条件下,典型二阶系统的单位阶跃响应:ss s s s s C n n n 121)()(222ωξωω++=Φ= (5) 单位阶跃响应的特征主要取决于特征根的分布,当s rad n 1=ω时,取不同的阻尼比ξ时的到得阶跃响应曲线如下所示:图1不同阻尼比下的阶跃响应因此,根据系统的阻尼比ξ的不同,把二阶系统分为几种不同的状态如下:1.2.1 1=ξ,临界阻尼状态分析当1=ξ时,特征根为重负实根n s ω-=2,1,系统的单位阶跃响应曲线如下图所示:0.10.20.30.40.50.60.70.80.91Step ResponseTime (sec)A m p l i t u d e图2二阶系统临界阻尼状态由临界阻尼状态下系统的单位阶跃响应曲线可看出,当0=t 时,响应过程的变化率为零;当0>t 时,响应过程的变化率为正,响应过程单调上升;当∞→t 时,响应过程的变化率趋于零,响应过程趋于常数1。
基于MATLAB的二阶系统的阶跃响应分析
基于MATLAB的二阶系统的阶跃响应分析阶跃响应分析是研究系统对单位阶跃输入信号的响应过程。
具体来说,本文将通过使用MATLAB对二阶系统的阶跃响应进行分析。
首先,要进行阶跃响应分析,我们需要先建立一个二阶系统模型。
假设我们的二阶系统是一个质量、阻尼、刚度为m、b、k的振动系统。
其动力学方程可以表示为:m*y''(t)+b*y'(t)+k*y(t)=f(t)其中y(t)是系统的位移响应,t是时间,f(t)是单位阶跃输入信号。
为了便于分析,我们可以将上述方程转换为一个常微分方程组。
设x(t)=y(t),则y'(t)=x'(t),y''(t)=x''(t)。
将这些变量代入方程,可以得到:m*x''(t)+b*x'(t)+k*x(t)=f(t)现在,我们可以使用MATLAB进行阶跃响应分析。
首先,我们要定义系统的参数m、b和k。
假设m = 1 kg,b = 0.1 Ns/m,k = 10 N/m。
```MATLABm=1;b=0.1;k=10;```接下来,我们可以建立系统的状态空间模型。
状态空间模型可以表示为x'(t)=A*x(t)+B*f(t),y(t)=C*x(t)+D*f(t)。
通过对系统动力学方程进行变换,我们可以得到状态空间模型的矩阵形式。
```MATLABA=[01;-k/m-b/m];B=[0;1/m];C=[10];D=0;```现在,我们可以使用MATLAB的`step`函数来计算系统的阶跃响应。
```MATLABt=0:0.01:10;u = ones(size(t));sys = ss(A, B, C, D);[y, t] = step(sys, t);```上述代码中,我们定义了时间向量t,以及一个与t长度相同的单位阶跃输入信号向量u。
然后,我们使用`ss`函数建立了状态空间模型sys。
【精品】经典二阶系统的matlab仿真设计
《二阶系统单位阶跃响应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. 理解单位阶跃响应的概念和特性。
2. 掌握使用MATLAB进行单位阶跃响应的仿真和分析方法。
3. 研究系统参数对单位阶跃响应的影响,包括阻尼比、自然频率等。
4. 分析系统动态性能指标,如上升时间、超调量、稳态误差等。
二、实验原理单位阶跃响应是指系统在单位阶跃信号(即在t=0时从0突然变为1的信号)的作用下所产生的零状态响应。
它是分析系统动态性能的重要方法之一,可以反映系统的稳定性、快速性和准确性。
三、实验仪器与软件1. 仪器:计算机、MATLAB软件2. 软件工具箱:控制系统工具箱四、实验内容1. 构建典型二阶系统模型:根据实验要求,构建具有不同阻尼比和自然频率的二阶系统模型。
2. 单位阶跃响应仿真:使用MATLAB控制系统工具箱中的`step`函数,对所构建的二阶系统模型进行单位阶跃响应仿真。
3. 分析动态性能指标:根据仿真结果,计算上升时间、超调量、稳态误差等动态性能指标。
4. 研究参数影响:改变系统参数(阻尼比、自然频率等),观察单位阶跃响应的变化,分析参数对系统动态性能的影响。
五、实验步骤1. 构建二阶系统模型:- 使用MATLAB的控制系统工具箱中的`tf`函数,根据给定的阻尼比和自然频率,构建二阶系统传递函数。
- 例如:`sys = tf([2 1 0], [1 2 2]);` 表示构建一个阻尼比为0.5,自然频率为2的二阶系统。
2. 单位阶跃响应仿真:- 使用`step`函数对所构建的二阶系统模型进行单位阶跃响应仿真。
- 例如:`step(sys);` 将生成单位阶跃响应曲线。
3. 分析动态性能指标:- 根据仿真结果,计算上升时间、超调量、稳态误差等动态性能指标。
- 例如:使用`stepinfo`函数获取上升时间、超调量等参数。
4. 研究参数影响:- 改变系统参数(阻尼比、自然频率等),观察单位阶跃响应的变化,分析参数对系统动态性能的影响。
- 例如:改变阻尼比,观察超调量和上升时间的变化。
MATLABgui绘制二阶系统的四种分析图
设计一个用户图形界面,完成以下基本功能:添加两个输入框,用来输入下图典型二阶系统的阻尼比和无阻尼自然频率。
根据所输入的值不同,通过下拉列表选择绘制该二阶系统的四种分析图(在四个不同的坐标系中绘制):单位阶跃响应图(在该图上显示该二阶系统的三个性能指标的值:超调量、调节时间、峰值时间)、根轨迹图、乃奎斯特图和波特图(在该图上显示该系统的幅值裕度和相角裕度的值)。
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)。
MATLAB在求二阶系统中阶跃响应的分析及应用
MATLAB在求二阶系统中阶跃响应的分析及应用首先,在MATLAB中求解二阶系统的阶跃响应,需要确定系统的传递函数或差分方程。
一般而言,传递函数和差分方程的形式如下:传递函数:G(s) = K / ((s^2) + (2ξω_ns) + (ω_n^2))差分方程:y(n)=K*(x(n)+2ξω_n*x(n-1)+(ω_n^2)*x(n-2))其中,s是拉普拉斯变量,n表示离散时间,K是系统的增益,ξ是阻尼比,ω_n是系统的自然频率。
然后,可以使用MATLAB的Control System Toolbox包来求解二阶系统的阶跃响应。
具体而言,有两种方法可以实现:1. 使用tf函数或zpk函数创建系统对象,然后使用step函数来计算阶跃响应。
例如,可以使用以下代码创建传递函数并计算阶跃响应:num = [K];den = [1 (2*ξ*ω_n) (ω_n^2)];sys = tf(num, den);step(sys);2. 使用dlsim函数基于差分方程计算阶跃响应。
例如,可以使用以下代码创建差分方程并计算阶跃响应:a=[1-2*ξ*ω_n(ω_n^2)];b=[K00];x = ones(1, 100); % 创建一个长度为100的阶跃输入信号y = dlsim(b, a, x);plot(y);通过上述方法,可以得到二阶系统的阶跃响应图形,分析系统的动态特性。
对于阻尼比ξ和自然频率ω_n的不同取值,可以观察到不同的阶跃响应曲线,如过阻尼、临界阻尼和欠阻尼等。
此外,还可以通过调整增益K的大小来观察系统的响应速度和稳定性。
在工程领域中,二阶系统的阶跃响应分析具有广泛的应用。
以下列举几个典型的应用场景:1.控制系统设计:阶跃响应是评估控制系统性能的重要指标之一、通过分析阶跃响应曲线的超调量、调节时间和稳态误差等参数,可以评估和优化控制系统的性能。
2.电路设计:阶跃响应分析可以用来评估电路的开关速度、稳定性和输出波形质量。
二阶系统的阶跃响应
二阶系统阶跃响应一. 实验目的1. 研究二阶系统的特征参数,阻尼比ζ和无阻尼自然频率ωn对系统动态性能的影响,定量分析ζ和ωn与最大超调量σp和调节时间t s之间的关系。
2. 进一步学习实验系统的使用3. 学会根据系统的阶跃响应曲线确定传递函数4. 学习用MATLAB仿真软件对实验内容中的电路进行仿真。
二.实验原理典型二阶闭环系统的单位阶跃响应分为四种情况:1)欠阻尼二阶系统如图1所示,由稳态和瞬态两部分组成:稳态部分等于1,瞬态部分是振荡衰减的过程,振荡角频率为阻尼振荡角频率,其值由阻尼比ζ和自然振荡角频率ωn决定。
图1 欠阻尼二阶系统的单位阶跃响应曲线(1)性能指标:调节时间t S: 单位阶跃响应C(t)进人±5%(有时也取±2%)误差带,并且不再超出该误差带的最小时间。
超调量σ% ;单位阶跃响应中最大超出量与稳态值之比。
峰值时间t P :单位阶跃响应C(t)超过稳态值达到第一个峰值所需要的时间。
结构参数ξ:直接影响单位阶跃响应性能。
(2)平稳性:阻尼比ξ越小,平稳性越差(3)快速性:ξ过小时因振荡强烈,衰减缓慢,调节时间t S长,ξ过大时,系统响应迟钝,调节时间t S 也长,快速性差。
ξ=0.7调节时间最短,快速性最好。
ξ=0.7时超调量σ%<5%,平稳性也好,故称ξ=0.7为最佳阻尼比。
2)临界阻尼二阶系统(即ξ=1)系统有两个相同的负实根,临界阻尼二阶系统单位阶跃响应是无超调的,无振荡单调上升的,不存在稳态误差。
3)无阻尼二阶系统(ξ=0时)此时系统有两个纯虚根。
4)过阻尼二阶系统(ξ>1)时此时系统有两个不相等的负实根,过阻尼二阶系统的单位阶跃响应无振荡无超调无稳态误差,上升速度由小加大有一拐点。
三.实验内容1.启动MA TLAB7.0,进入Simulink后新建文档,在文档里绘制二阶系统的结构框图。
双击各传递函数模块,在出现的对话框内设置相应的参数。
基于MATLAB的二阶系统分析
基于MATLAB的二阶系统分析二阶系统指的是具有二阶传递函数的动态系统,通常表示为:G(s) = (ωn^2)/(s^2 + 2ζωns + ωn^2)其中,ωn表示自然频率,ζ表示阻尼比。
在MATLAB中,我们可以利用系统分析工具箱(Control System Toolbox)来对二阶系统进行分析。
以下将详细介绍如何使用MATLAB进行二阶系统的分析。
1.定义系统传递函数首先,我们需要定义一个二阶系统的传递函数。
在MATLAB中,传递函数可以使用tf函数来定义。
例如,下面是一个ωn=1,ζ=0.5的二阶系统的传递函数定义:sys = tf([1], [1 1 1]);2.绘制系统的零极点图利用pzmap函数可以绘制系统的零极点图,可以通过该图来观察系统的稳定性和动态特性。
例如,通过以下代码可以绘制上述系统的零极点图:figure;pzmap(sys);grid on;3.绘制系统的阶跃响应利用step函数可以绘制系统的阶跃响应,以观察系统的响应时间、超调量和稳态误差等性能指标。
例如,通过以下代码可以绘制上述系统的阶跃响应:figure;step(sys);grid on;4.绘制系统的频率响应利用bode函数可以绘制系统的频率响应曲线,以观察系统在不同频率下的增益和相位特性。
例如,通过以下代码可以绘制上述系统的频率响应曲线:figure;bode(sys);grid on;5.计算系统的稳态误差利用stepinfo函数可以计算系统的稳态误差和性能指标,例如超调量和响应时间等。
例如,通过以下代码可以计算上述系统的稳态误差:info = stepinfo(sys);steady_state_error = 1 - info.Peak;以上介绍了MATLAB中如何进行二阶系统的分析。
通过这些分析工具和函数,我们可以方便地对二阶系统的动态特性、频率响应和稳态性能等进行研究和评估,从而更好地设计和控制二阶系统。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
二阶系统在不同参数下对单位阶跃信号的响应
一、二阶系统
所谓二阶系统就是其输入信号、输出信号的关系可用二阶微分方程来表征的系统。
比如常见的RLC 电路(图a )、单自由度振动系统等。
图a 图b
二阶系统传递函数的标准形式为
222()2n n n H s s s ωξωω=++
二、二阶系统的Bode 图(n ω=1)
MATLAB 程序为
>> clear
>> num=[1];
>> den=[1 0.2 1];
>> bode(num,den);
grid on
hold on
den=[1 0.4 1];
bode(num,den);
>> den=[1 0.6 1];
>> bode(num,den);
>> den=[1 0.8 1];
>> bode(num,den);
>> den=[1 1.4 1];
>> bode(num,den);
>> den=[1 2 1];
>> bode(num,den);
>> legend('0.1','0.2','0.3','0.4','0.7','1.0')
运行结果为
三、二阶系统对单位阶跃信号的响应(
=1)
n MATLAB程序为
>> clear
>> num=[1];
>> den=[1 0 1];
>> t=0:0.01:25;
>> step(num,den,t)
>> grid on
>> hold on
>> den=[1 0.2 1];
>> step(num,den,t)
>> den=[1 0.4 1];
>> step(num,den,t)
>> den=[1 0.6 1];
>> step(num,den,t)
>> den=[1 0.8 1];
>> step(num,den,t)
>> den=[1 1.0 1];
>> step(num,den,t)
>> den=[1 1.2 1];
>> step(num,den,t)
>> den=[1 1.4 1];
>> step(num,den,t)
>> den=[1 1.6 1];
>> step(num,den,t)
>> den=[1 1.8 1];
>> step(num,den,t)
>> den=[1 2.0 1];
>> step(num,den,t)
>> legend('0','0.1','0.2','0.3','0.4','0.5','0.6','0.7','0.8','0.9','1.0',-1) 执行结果为
由上面2图可得结论:
1、ξ=0(无阻尼)时,系统处于等幅振荡,超调量最大,为100%,并且系统发生不衰减的振荡,永远达不到稳态。
2、0<ξ<1(欠阻尼)时,系统为衰减振荡。
为了获得满意的二阶系统的瞬态响应特性,通常阻尼比在0.4~0.8的范围内选择。
这时系统在响应的快速性、稳定性等方面都较好。
3、在ξ=1(临界阻尼)及ξ>1(过阻尼)时,二阶系统的瞬态过程具有单调上升的特性,以ξ=1时瞬态过程最短。
ω的取值对响应的影响
n
MATLAB程序为
>> clear
>> num=[1];
>> den=[1 0.6 1];
>> t=0:0.01:25;
>> step(num,den,t)
>> grid on
>> hold on
>> num=[25];
>> den=[1 3 25];
>> num=[100];
>> den=[1 6 100];
>> step(num,den,t)
>> clear
>> num=[1];
>> den=[1 0.6 1];
>> t=0:0.01:25;
>> step(num,den,t)
>> grid on
>> hold on
>> num=[25];
>> den=[1 3 25];
>> step(num,den,t)
>> num=[100];
>> den=[1 6 100];
>> step(num,den,t)
>> legend('wn=1','wn=5','wn=10',-1)
执行结果为
由上图可得结论
1.二阶系统有相同的ξ和不同的nω时,振荡特性相同但是响应速度不同,nω越大响应速度越快。