matlab.docx
- 文档编号:28679821
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:10
- 大小:53.44KB
matlab.docx
《matlab.docx》由会员分享,可在线阅读,更多相关《matlab.docx(10页珍藏版)》请在冰豆网上搜索。
matlab
1、通过举例说明运用MATLAB判别控制系统稳定的所有方法
方法一:
用单位阶跃响应曲线判定系统稳定
方法二:
用代数稳定判据法判断系统的稳定性
(1)系统数学模型为传递函数形式G(S)=tf(num,den):
执行语句:
roots(G.den{1});
注:
“{}”表示维数
(2)系统数学模型为零极点增益形式G(S)=zpk(z,p,k);
执行语句:
G.p{1};
(3)系统数学模型为状态空间形式G(S)=ss(A,B,C,D);
执行语句:
eig(G.A);
注:
eig()表示计算系统的极点
方法三:
用根轨迹法判断系统的稳定性
若根轨迹在参数取值过程中,部分在左半平面,部分在右半平面,则系统的稳定性与可变参数的取值有关。
函数命令调用格式:
[kpoles]=rlocfind(G)
方法四:
用Bode图判断系统的稳定性
函数调用格式为:
margin()或[GmPmwcpwcg]=margin(G)
对于最小相位系统:
当相角裕度Pm(γ)>0o或幅值裕度Gm(h)>1时,表示系统稳定
当相角裕度Pm(γ)<0o或幅值裕度Gm(h)<1时,表示系统不稳定
幅值裕度Gm(h)、相角裕度Pm(γ)越大,系统稳定程度越好。
在使用时,Gm(h)、Pm(γ)是成对使用的,有时仅使用一个裕度指标Pm(γ)。
方法五:
用Nyquist稳定判据判断系统的稳定性
Nyquist稳定判据:
若想使得闭环系统稳定,则开环系统G(S)H(S)的Nyquist曲线逆时针绕临界点(-1,j0)点的圈数R必需等于G(S)H(S)(系统的开环传函)位于S的右半平面开环极点数P。
即:
Z=P-RZ=0稳定;
Z≠0不稳定,Z为闭环正实部根的个数。
NOWBEGIN
例:
已知系统的开环传函为:
方法一:
用单位阶跃响应曲线判定系统稳定性
>>n1=16*[169];d1=conv([-2-5-11],[-3-10-12]);
>>G=tf(n1,d1);G1=feedback(G,1);
>>step(G1)
方法二:
用代数稳定判据法判断系统的稳定性
1)
>>n1=16*[169];d1=conv([-2-5-11],[-3-10-12]);
>>G=tf(n1,d1);G1=feedback(G,1);
>>roots(G1.den{1})
ans=
-0.7748+2.7853i
-0.7748-2.7853i
-2.1419+0.9570i
-2.1419-0.9570i
2)
>>n1=16*[169];d1=conv([-2-5-11],[-3-10-12]);
>>G=tf(n1,d1);G1=feedback(G,1);
>>G2=zpk(G1);
>>G2.p{1}
ans=
-0.7748+2.7853i
-0.7748-2.7853i
-2.1419+0.9570i
-2.1419-0.9570i
3)
>>n1=16*[169];d1=conv([-2-5-11],[-3-10-12]);
>>G=tf(n1,d1);G1=feedback(G,1);
>>G3=ss(G1);
>>eig(G3.A)
ans=
-0.7748+2.7853i
-0.7748-2.7853i
-2.1419+0.9570i
-2.1419-0.9570i
因为系统闭环极点全含负实部,故系统稳定
方法三:
用根轨迹法判断系统的稳定性
>>n1=16*[169];d1=conv([-2-5-11],[-3-10-12]);
>>sys=tf(n1,d1);
>>rlocus(sys)
>>[kpoles]=rlocfind(sys)
在0 方法四: 用Bode图判断系统的稳定性 1) >>n1=16*[169];d1=conv([-2-5-11],[-3-10-12]); >>sys=tf(n1,d1); >>bode(sys) >>margin(sys) 2) >>n1=16*[169];d1=conv([-2-5-11],[-3-10-12]); >>sys=tf(n1,d1); >>[GmPmWcpWcg]=margin(sys) Gm= 57.1528 Pm= 84.6160 Wcp= 12.7129 Wcg= 1.9907 可以看出相角裕度Pm=84.6160>0,所以系统是稳定的 方法五: 用Nyquist稳定判据判断系统的稳定性 先求开环传递函数在右半S平面极点个数P >>n1=16*[169];d1=conv([-2-5-11],[-3-10-12]); >>sys=tf(n1,d1); >>roots(sys.den{1}) ans= -1.2500+1.9843i -1.2500-1.9843i -1.6667+1.1055i -1.6667-1.1055i 开环传递函数在右半S平面极点个数P=0。 再求nyquist曲线包围临界点的圈数R >>n1=16*[169];d1=conv([-2-5-11],[-3-10-12]); >>sys=tf(n1,d1); >>nyquist(sys) nyquist曲线包围临界点的圈数R=0。 所以Z=P-R=0,系统稳定。 2、查阅相关书籍或上网搜索,找出一个运用MATLAB制作的动画,要求有程序说明和必要的文字注释 台球模拟程序动画演示 axis([-1.6,12.6,-1.6,10.7])%确定坐标轴参数范围 holdon%保持当前图形及轴系的所有特性 fill([-2,13,13,-2],[-2,-2,11,11],[0,1,0]);%填充底座背景 fill([-1,12,12,-1],[-1,-1,10,10],[0,0.5,0]);%填充底座背景 ball1=line(0,5,'color','r','marker','.','erasemode','xor','markersize',60);%设置小球颜色,大小,线条的擦拭方式 ball2=line(8,9,'color','g','marker','.','erasemode','xor','markersize',60);%设置小球颜色,大小,线条的擦拭方式 ball3=line(-1,-1,'color','g','marker','.','erasemode','xor','markersize',80);%设置左下角圆的颜色,大小,线条的擦拭方式 ball4=line(12,-1,'color','g','marker','.','erasemode','xor','markersize',80);%设置右下角圆的颜色,大小,线条的擦拭方式 ball3=line(-1,10,'color','g','marker','.','erasemode','xor','markersize',80);%设置左上角圆的颜色,大小,线条的擦拭方式 ball4=line(12,10,'color','g','marker','.','erasemode','xor','markersize',80);%设置右上角圆的颜色,大小,线条的擦拭方式 title('完全非弹碰在模拟台球比赛的应用','color','r','fontsize',15);%图形标题 pause (1)%设定暂停时间的长度 t=0;dt=0.005;%设制初始数值 whilet<7.2%设定横轴范围 t=t+dt;%设制横轴计算公式 y=1/2*t+5;%设制纵轴计算公式 set(ball1,'xdata',t,'ydata',y)%设制球的运动 drawnow;%刷新屏幕 end %结束 whilet<8.8%设定横轴范围 t=t+dt;%设制横轴计算公式 y=1/2*t+5;%设制纵轴计算公式 set(ball2,'xdata',t,'ydata',y)%设制球的运动 drawnow;%刷新屏幕 end %结束 whilet<11.5%设定横轴范围 t=t+dt;%设制横轴计算公式 y=-1/2*t+14.3;%设制纵轴计算公式 set(ball2,'xdata',t,'ydata',y)%设制球的运动 drawnow;%刷新屏幕 end%结束 whilet>-0.5%设制横轴范围 t=t-dt;%设制横轴计算公式 y=1/2*t+2.90;%设制纵轴计算公式 set(ball2,'xdata',t,'ydata',y)%设制球的运动 drawnow;%刷新屏幕 end%结束 whilet<6%设制横轴范围 t=t+dt;%设制横轴计算公式 y=-1/2*t+2.40;%设制纵轴计算公式 set(ball2,'xdata',t,'ydata',y)%设制球的运动 drawnow;%刷新屏幕 end%结束 whilet<11.5%设制横轴范围 t=t+dt;%设制横轴计算公式 y=1/2*t-3.0;%设制纵轴计算公式 set(ball2,'xdata',t,'ydata',y)%设制球的运动 drawnow;%刷新屏幕 end%结束 whilet>-2%设制横轴范围 t=t-dt;%设制横轴计算公式 y=-t*7.65/12.9+9.57;%设制纵轴计算公式 set(ball2,'xdata',t,'ydata',y)%设制球的运动 drawnow;%刷新屏幕 end%结束 text(2,5,'好! 进球了啊! ! ! 恭喜! ','fontsize',16,'color','r');%显示字幕的颜色和大小 3、总结MATLAB的学习体会 通过MATLAB课程的学习,我认识到MATLAB的实用性。 我能够运用它完成控制系统仿真,加深了我对控制系统的理解和认识,同时还能解决一些数学中求解的问题。 这次大作业,是我自己认真独立完成的,他让我复习了所有课程中所学的知识,让我更系统的回忆起课程中重点的内容,对这门课程有了新的认识。 更重要的是,我通过学习这门课程,老师认真严谨的态度影响了我,让我能够更踏实的去学习一门技术。 所以我觉得这门课程是我在大学里学习中十分有用的一门课程,谢谢王老师给我们这么认真细致的讲解,让我轻松的掌握了这门课程。 特别是老师在课程中还给我们讲述了些在作图中的一些实用的方法,让我觉得真的是十分收益。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab