matlab程序大全答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
频率特性类题目
1 一个系统的开环传递函数为 ,试绘制其当K=5、30时系统的开环频率特性Nyquist 图,并判断系统的稳定性。
w=linspace(0.5,5,1000)*pi; sys1=zpk([],[0 -10 -2],100) sys2=zpk([],[0 -10 -2],600) figure(1)
nyquist(sys1,w)
title('system nyquist charts with k=5') figure(2)
nyquist(sys2,w)
title('system nyquist charts with k=30')
由图可知K=5时,开环Nyquist 曲线没有包围(-1,j0)点,所以系统稳定。
K=30时,开环Nyquist 曲线包围(-1,j0)点,所以系统不稳定。
2系统开环传递函数为 ,建立其零极点增益模型,
然后分别绘制当K=5、K=30时系统的开环频率特性Bode 图,并判断系统的稳定性。
sys1=zpk([],[0 -10 -2],100) sys2=zpk([],[0 -10 -2],600) figure(1)
[Gm1,Pm1,Wcg1,Wcp1]=margin(sys1) bode(sys1)
title('system bode charts with k=5'),grid figure(2)
[Gm2,Pm2,Wcg2,Wcp2]=margin(sys2) bode(sys2)
title('system bode charts with k=30'),grid 因为K=5时,Wcg>Wcp,所以系统稳定。
K=10时,Wcg 3 系统开环传递函数为 ,计算K=5和K=30时系统的幅值裕度与相位裕度。 sys1=zpk([],[0 -10 -2],100) sys2=zpk([],[0 -10 -2],600) [Gm1,Pm1,Wcg1,Wcp1]=margin(sys1) [Gm2,Pm2,Wcg2,Wcp2]=margin(sys2) 4 已知某系统的闭环传递函数()s Φ如下,试用roots ()命令来判断系统的稳定性。 ) 5.01)(1.01()(s s s k s G ++=) 5.01)(1.01()(s s s k s G ++=) 5.01)(1.01()(s s s k s G ++= 25432325 ()24576 s s s s s s s s ++Φ=+++++ num=[0 0 0 3 2 5]; den=[1 2 4 5 7 6]; D=num+den; roots(D) 5 某单位负反馈系统的开环控制系统的传递函数为 2k (0.80.64) ()(0.05)(5)(40) K s s G s s s s s ++= +++ (1)绘制系统的根轨迹; num=[1 0.8 0.64]; x=[0 -0.05 -5 -40]; den=poly(x); rlocus(num,den) (2)当10K =时,绘制系统的Bode 图,判断系统的稳定性,并且求出幅值裕度和相角裕度。 num=[1 0.8 0.64]; x=[0 -0.05 -5 -40]; den=poly(x); sys=tf(num,den) bode(sys),grid [Gm,Pm,Wcg,Wcp]=margin(sys) 6 已知系统的状态空间模型如下: ⎢⎣⎡=11x ⎥⎦⎤-31x + ⎥⎦ ⎤⎢⎣⎡01u [1=y ]1x (1)绘制系统的Bode 图和nyquist 图; (2)求系统的幅值裕度和相位裕度; A=[1,-1;1,3];B=[1,0]'; C=[1,1];D=0; w=linspace(0.5,5,1000)*pi; sys=ss(A,B,C,D) figure(1),bode(sys),grid figure(2),nyquist(sys,w) [Gm,Pm,Wcg,Wcp]=margin(sys) 7 已知单位负反馈系统的开环传递函数为 ) 1(1 2 ++s s s ,试绘制系统的单位阶跃响 应、开环Bode 图和Nyquist 曲线,并求系统的幅值裕度和相位裕度。 sys=zpk(-1,[0 0 -1],1) sys1=feedback(sys,1,-1) figure(3) step(sys1) figure(1) bode(sys),grid figure(2) nyquist(sys),grid [Gm,Pm,Wcg,Wcp]=margin(sys) 编写程序题 1 编写两个m文件,分别使用for和while循环语句计算200 3 1 k k =∑。 y=0; for k=1:200 y=y+k^3; end y y=0;k=1; while k<=200 y=y+k^3; k=k+1; end y 2 一个三位整数各位数字的立方和等于该数本身则称该数为水仙花数,编写M 文件,输出全部水仙花数。 for m=100:999 m1=fix(m/100); m2=fix((m-100*m1)/10); m3=fix(m-100*m1-10*m2); if m==m1^3+m2^3+m3^3 disp(m) end end 3 编写M文件,实现以下功能:从键盘输入若干个数,当输入0时结束输入,求这些数的平均值和它们之和。 i=1; x=[]; sum=0;