您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 冶金工业 > 实验四--基于MATLAB的控制系统时域分析以及根轨迹分析
实验四基于MATLAB的控制系统时域分析以及根轨迹分析一、实验目的掌握运用MATLAB进行控制系统的时域暂态及稳态分析方法以及根轨迹图的绘制方法。二、实验题目1.已知系统闭环传递函数为:(1)判定该系统的闭环稳定性;(2)绘出系统在阶跃信号为0.11(t)时的响应曲线,并求系统性能指标:稳态值、上升时间、调节时间、超调量;(3)绘制该系统的单位脉冲响应图;(4)绘制该系统的单位斜坡响应图,并分析该系统的稳态误差。设误差定义为输入量减去输出量;(5)绘制该系统在0.2t+sin(2t)作用下的响应曲线,设初始条件为零。实验结果sys=tf([20],[18364020]);root=roots(sys.den{1});iffind(real(root)0)disp('该系统不稳定')elsedisp('该系统稳定')endsubplot(2,2,1);%title('0.1*阶跃响应');t=linspace(0,10,200);u=0.1*ones(1,200);lsim(sys,u,t);%0.1倍阶跃响应[postrtstp]=stepchar(sys,0.02);%超调量,上升时间,调整时间,峰值时间subplot(2,2,2)title('单位脉冲响应');impulse(sys);%单位脉冲响应subplot(2,2,3)title('斜坡响应');t=linspace(0,10,200);u=t;lsim(sys,u,t);%单位斜坡响应subplot(2,2,4)title('0.2*t+sin(2*t)');t=linspace(0,10,200);u=0.2*t+sin(2*t);lsim(sys,u,t);2.一个系统的结构框图如下所示。(1)试绘出z=0.5,p=0.1时系统闭环的根轨迹图;并在根轨迹图上任选一点,试计算该点的增益K及其所有极点的位置;计算系统临界稳定时的K值;说明该系统单位阶跃响应是否会出现振荡?与K的取值是否有关?实验结果Stepchar代码function[postrtstp]=stepchar(g0,delta)%超调量,上升时间,调整时间,峰值时间[y,t]=step(g0);[mp,ind]=max(y);%最大值dimt=length(t);yss=y(dimt);%稳态值pos=100*(mp-yss)/yss;%超调量tp=t(ind);%峰值时间fori=1:dimtify(i)=ysstr=t(i);%调节时间break;endendfori=1:length(y)ify(i)=(1-delta)*yss||y(i)=(1+delta)*yssts=t(i);%调整时间endendendclear;G=zpk([-0.5],[-0.10-2-10],[1]);%开环传递函数rlocus(G);%绘制根轨迹[x,y]=ginput(1);%任选一点pp=x+i*y;%p点的坐标k=rlocfind(G,p);%计算p点的增益值k[p1,k1]=rlocus(G,k);%计算增益值为k时的闭环极点值和增益值k2=rlocfind(G);%临界稳定的k值disp(k2);%临界稳定的k大概在200左右,即当增益值小于200时,系统稳定(2)绘制p=0.1,K=20时该系统闭环极点随着z变化的根轨迹图;同时,绘制当z=0.5,1,5,15时系统的单位阶跃响应图,通过对比根轨迹图以及单位阶跃响应图的特性,进而说明该系统开环零点对系统暂态、稳态以及稳定性的影响。实验结果(3)绘制z=0.5,K=20时该系统闭环极点与随着p变化的根轨迹图;同时,绘制当p=0.3,1,5,15时系统的单位阶跃响应图,通过对比根轨迹图以及单位阶跃响应图的特性,进而说明该系统开环极点对系统暂态、稳态以及稳定性的影响。figure;subplot(3,2,1)G1=tf([20],[112.121.2220]);%随着零点Z变换的等效开环传递函数rlocus(G1);z=[000.51515];fori=3:6subplot(3,2,i);G2=zpk([-z(i)],[0-2-10-0.1],[20]);G22=feedback(G2,1);sys=1.5*G22;%闭环传递函数step(sys);end实验结果figure;subplot(3,2,1)G2=tf([112200],[112202010]);%随着极点p变换的等效开环传递函数rlocus(G2);p=[000.31515];fori=3:6subplot(3,2,i);G2=zpk([-0.5],[0-2-10-p(i)],[20]);G22=feedback(G2,1);sys=1.5*G22;%闭环传递函数step(sys);end实验总结与心得MATLAB做了四个实验,感觉真的学到了很多,各方面都有提高,尤其是对MATLAB的熟练使用和自学能力的提高。大二的时候学习数值就已经接触到了MATLAB,但是当时并不会去写程序什么的,后来一些课程也有要用到这个软件的但都没有深入的去学习、了解这个软件,这学期这门课程才相当于真正的开始学习这个软件,四个实验感觉就第二个较简单吧,第三个和第四个都是那种各种上百度搜各种函数、命令的写法,翻书,看程序,感觉自学能力得到了很大的提高,都是书上没有实例的实验,这样靠自己去查资料写程序,去学习各种函数的用法,还有自己去检查错误然后一遍一遍的修改,总的来说,自我学习能力得到了很大的提高,对于MATLAB这个软件也有了更多的了解,学到了很多东西。总的来说,四个实验涵盖了这个软件的多种功能多种函数,从做实验过程中学到了很多知识,积累了很多通过做实验获得的经验还有体会。
本文标题:实验四--基于MATLAB的控制系统时域分析以及根轨迹分析
链接地址:https://www.777doc.com/doc-1899470 .html