《实验四--基于MATLAB的控制系统时域分析以及根轨迹分析.docx》由会员分享,可在线阅读,更多相关《实验四--基于MATLAB的控制系统时域分析以及根轨迹分析.docx(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上实验四 基于MATLAB的控制系统时域分析以及根轨迹分析一、 实验目的掌握运用MATLAB进行控制系统的时域暂态及稳态分析方法以及根轨迹图的绘制方法。二、 实验题目1. 已知系统闭环传递函数为:(1) 判定该系统的闭环稳定性;(2) 绘出系统在阶跃信号为0.11(t)时的响应曲线,并求系统性能指标:稳态值、上升时间、调节时间、超调量;(3) 绘制该系统的单位脉冲响应图;(4) 绘制该系统的单位斜坡响应图,并分析该系统的稳态误差。设误差定义为输入量减去输出量;(5) 绘制该系统在0.2t+sin(2t)作用下的响应曲线,设初始条件为零。sys=tf(20,1 8 36
2、40 20);root=roots(sys.den1);if find(real(root)0) disp(该系统不稳定)else disp(该系统稳定)endsubplot(2,2,1);% title(0.1*阶跃响应);t = linspace(0,10,200);u = 0.1*ones(1,200);lsim(sys,u,t); % 0.1倍阶跃响应pos tr ts tp=stepchar(sys,0.02);%超调量,上升时间,调整时间,峰值时间subplot(2,2,2)title(单位脉冲响应);impulse(sys);%单位脉冲响应subplot(2,2,3)title(
3、斜坡响应);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);实验结果for i=1:dimt if y(i)=yss tr=t(i); %调节时间 break; endendfor i=1:length(y) if y(i)=(1-delta)*yss|y(i)=(1+delta)*yss ts=t(i);%调整时间 endendendStepchar代码function p
4、os tr ts tp=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);%峰值时间2. 一个系统的结构框图如下所示。(1) 试绘出z=0.5,p=0.1时系统闭环的根轨迹图;并在根轨迹图上任选一点,试计算该点的增益K及其所有极点的位置;计算系统临界稳定时的K值;说明该系统单位阶跃响应是否会出现振荡?与K的取值是否有关?clear;G=zpk(-0.5,-0.1 0 -2 -10
5、,1); %开环传递函数rlocus(G);%绘制根轨迹x,y=ginput(1);%任选一点pp=x+i*y;%p点的坐标k=rlocfind(G,p);%计算p点的增益值kp1,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时系统的单位阶跃响应图,通过对比根轨迹图以及单位阶跃响应图的特性,进而说明该系统开环零点对系统暂态、稳态以及稳
6、定性的影响。figure; subplot(3,2,1) G1=tf(20,1 12.1 21.2 22 0);%随着零点Z变换的等效开环传递函数 rlocus(G1); z=0 0 0.5 1 5 15; for i=3:6 subplot(3,2,i); G2=zpk(-z(i),0 -2 -10 -0.1,20); G22=feedback(G2,1); sys=1.5*G22;%闭环传递函数 step(sys);end实验结果(3)绘制z=0.5,K=20时该系统闭环极点与随着p变化的根轨迹图;同时,绘制当p=0.3,1,5,15时系统的单位阶跃响应图,通过对比根轨迹图以及单位阶跃响应
7、图的特性,进而说明该系统开环极点对系统暂态、稳态以及稳定性的影响。figure; subplot(3,2,1) G2=tf(1 12 20 0,1 12 20 20 10);%随着极点p变换的等效开环传递函数 rlocus(G2);p=0 0 0.3 1 5 15; for i=3:6 subplot(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的
8、熟练使用和自学能力的提高。大二的时候学习数值就已经接触到了MATLAB,但是当时并不会去写程序什么的,后来一些课程也有要用到这个软件的但都没有深入的去学习、了解这个软件,这学期这门课程才相当于真正的开始学习这个软件,四个实验感觉就第二个较简单吧,第三个和第四个都是那种各种上百度搜各种函数、命令的写法,翻书,看程序,感觉自学能力得到了很大的提高,都是书上没有实例的实验,这样靠自己去查资料写程序,去学习各种函数的用法,还有自己去检查错误然后一遍一遍的修改,总的来说,自我学习能力得到了很大的提高,对于MATLAB这个软件也有了更多的了解,学到了很多东西。总的来说,四个实验涵盖了这个软件的多种功能多种函数,从做实验过程中学到了很多知识,积累了很多通过做实验获得的经验还有体会。专心-专注-专业