MATLAB语言与控制系统仿真-参考答案-第6章

合集下载

自动控制原理习题全解及MATLAB实验 第6章习题解答

自动控制原理习题全解及MATLAB实验 第6章习题解答

系统开环传递函数为 G0 s
s0.1s
K
10.2s
1
,要求:
(1)系统响应斜坡信号 r(t)=t 时,稳态误差 ess 0.01 ;
(2) 系统相位裕量 ' 40 。
试用分析法设计一个串联滞后-超前校正装置。
解:(1)系统为Ⅰ型系统,在单位斜坡信号下
分稳态误差为
essr
1 k
令 essr
稳态性能与动态性能? 答:PID 兼有 PI、PD 控制的特点,它相当于提供了一个积分环节与两个一阶微分环节。
积分环节改善稳态性能,两个一阶微分环节改善动态性能。 试分别叙述利用比例负反馈和微分负反馈包围振荡环节所起到的作用。
答:二阶振荡环节的频率特性为
1
T 2S 2 2 S 1
用比例负反馈 H(s)=h
0.2s 1 0.0143s 1
(5) Gc (s)
s 1 14s 1
0.2s 1 0.0143s
(6)
G
k
(s)
s(14s
100(s 1) 1)(0.1s 1)(0.0143s
1)
' 180 [90 arctan 7 arctan(14 7) arctan(0.1 7) arctan(0.0143 7)] 41.9 40
10lg( 12)
6dB
,
最后得出 c' m 4.47rad/s>4.4rad/s
(4) 确定校正装置的转折频率
1 m
2.2rad/s ,2 m
8.8rad/s ,T 1 0.45s , 1
G(s)=
s
2.2 s
1 1
0.45s 0.11s
1 1

控制系统的MATLAB仿真与设计课后答案

控制系统的MATLAB仿真与设计课后答案

控制系统的MATLAB 仿真与设计课后答案第二章1>>x=[15 22 33 94 85 77 60]>>x(6)>>x([1 3 5])>>x(4:end)>>x(find(x>70))2>>T=[1 -2 3 -4 2 -3] ;>>n=length(T);>>TT=T';>>for k=n-1:-1:0>>B(:,n-k)=TT.^k;>>end>>B>>test=vander(T)3>>A=zeros(2,5);>>A(:)=-4:5>>L=abs(A)>3>>islogical(L)>>X=A(L)4>>A=[4,15,-45,10,6;56,0,17,-45,0] >>find(A>=10&A<=20)5>>p1=conv([1,0,2],conv([1,4],[1,1]));>>p2=[1 0 1 1];>>[q,r]=deconv(p1,p2);>>cq='商多项式为 '; cr='余多项式为 ';>>disp([cq,poly2str(q,'s')]),disp([cr,poly2str(r,'s')]) 6>>A=[11 12 13;14 15 16;17 18 19];>>PA=poly(A)>>PPA=poly2str(PA,'s')第三章1>>n=(-10:10)';>>y=abs(n);>>plot(n,y,'r.','MarkerSize',20)>>axis equal>>grid on>>xlabel('n')2>>x=0:pi/100:2*pi;>>y=2*exp(-0.5*x).*sin(2*pi*x);>>plot(x,y),grid on;3>>t=0:pi/50:2*pi;>>x=8*cos(t);>>y=4*sqrt(2)*sin(t);>>z=-4*sqrt(2)*sin(t);>>plot3(x,y,z,'p');>>title('Line in 3-D Space');>>text(0,0,0,'origin');>>xlabel('X'),ylable('Y'),zlable('Z');grid;4>>theta=0:0.01:2*pi;>>rho=sin(2*theta).*cos(2*theta); >>polar(theta,rho,'k');5>>[x,y,z]=sphere(20);>>z1=z;>>z1(:,1:4)=NaN;>>c1=ones(size(z1));>>surf(3*x,3*y,3*z1,c1);>>hold on>>z2=z;>>c2=2*ones(size(z2));>>c2(:,1:4)=3*ones(size(c2(:,1:4))); >>surf(1.5*x,1.5*y,1.5*z2,c2);>>colormap([0,1,0;0.5,0,0;1,0,0]); >>grid on>>hold off第四章1>>for m=100:999m1=fix(m/100);m2=rem(fix(m/10),10);m3=rem(m,10);if m==m1*m1*m1+m2*m2*m2+m3*m3*m3 disp(m)endend2M文件:function[s,p]=fcircle(r)s=pi*r*r;p=2*pi*r;主程序:[s,p]=fcircle(10)3>>y=0;n=100;for i=1:ny=y+1/i/i;end>>y4 M文件:function f=factor(n)if n<=1f=1;elsef=factor(n-1)*n; end主程序:>>s=0;for i=1:5s=s+factor(i);end>>s5>>sum=0;i=1;while sum<sum=sum+i;i=i+1;end;>>n=i-26for循环M文件:function k=jcsum(n) k=0;for i=0:nk=k+2^i;end主程序:>>jcsum(63)While循环M文件:function k=jcsum1(n)k=0;i=0;while i<=nk=k+2^i;i=i+1;end主程序:>>jcsum1(63)第五章1>>A=[2,1,-5,1;1,-5,0,7;0,2,1,-1;1,6,-1,-4]; >>b=[13,-9,6,0]';>>x=A\b2M文件:function f=fxyz(u)x=u(1);y=u(2);z=u(3);f=x+y.^2./x/4+z.^2./y+2./z;主程序:[U,fmin]=fminsearch('fxyz',[0.5,0.5,0.5]) 3>>X=linspace(0,2*pi,50);。

控制系统仿真matlab第六章习题答案

控制系统仿真matlab第六章习题答案

控制系统仿真第六章课后题作业6.1在图6.1中,已知单位负反馈系统被控对象的传递函数为)1001.0)(11.0()(++=s s s K s G 试编写matlab 程序,设计系统的超前矫正器Gc(s),要求:1)在斜坡信号r (t)=2t 作用下,系统的稳态误差ess<=0.002;2)校正后系统的相位裕度Pm 范围为:45~55;3)绘制系统校正后的bode 图和阶跃响应曲线。

程序:>> s=tf('s');>> G=1000/(s*(0.1*s+1)*(0.001*s+1));>> margin(G) % 绘制校正前的bode 图>> figure(2)>> sys=feedback(G,1);>> step(sys) %绘制校正前的单位阶跃响应曲线>> [Gm,Pm]=margin(G); %该句值计算bode图的增益裕量Gm和相位裕量Pm >> [mag,phase,w]=bode(G); %该句只计算bode图上多个频率点w对应的幅值和相位>> QWPm=50; %取矫正后的相位为50>> FIm=QWPm-Pm+5;>> FIm=FIm*pi/180;>> alfa=(1-sin(FIm))/(1+sin(FIm));>> adb=20*log10(mag);>> am=10*log10(alfa);>> wc=spline(adb,w,am);>> T=1/(wc*sqrt(alfa));>> alfat=alfa*T;>> Gc=tf([T 1],[alfat 1]) %校正器的传递函数Transfer function:0.01794 s + 1-------------0.00179 s + 1>> figure(3)>> margin(Gc*G) % 系统矫正后的bode图>> figure(4)>> step(feedback(Gc*G,1)) % 校正后的单位阶跃响应曲线作业6.2在图6.1中,已知单位负反馈系统被控对象的传递函数为)102.0)(11.0()(++=s s s K s G 试编写matlab 程序,设计系统的滞后校正器Gc (s ),要求:1) 在斜坡信号r(t)=t 作用下,系统的稳态误差ess 01.0≤;2) 校正后系统的相位裕度Pm 范围为:40~50;3) 绘制系统矫正前后的bode 图和阶跃响应曲线。

控制系统计算机仿真课后答案

控制系统计算机仿真课后答案

控制系统计算机仿真课后答案参考答案说明:1( 对于可以用文字或数字给出的情况,直接给出参考答案。

2( 对于难以用文字或数字给出的情况,将提供MATLAB程序或Simulink模型。

第 1 章1.1 系统是被研究的对象,模型是对系统的描述,仿真是通过模型研究系统的一种工具或手段。

1.2 数学仿真的基本工具是数字计算机,因此也称为计算机仿真或数字仿真。

将数学模型通过一定的方式转变成能在计算机上实现和运行的数学模型,称之为仿真模型。

1.3 因为仿真是在模型上做试验,是一种广义的试验。

因此,仿真基本上是一种通过试验来研究系统的综合试验技术,具有一般试验的性质。

而进行试验研究通常是需要进行试验设计。

1.4 解析法又称为分析法,它是应用数学推导、演绎去求解数学模型的方法。

仿真法是通过在模型上进行一系列试验来研究问题的方法。

利用解析法求解模型可以得出对问题的一般性答案,而仿真法的每一次运行则只能给出在特定条件下的数值解。

,解析法常常是围绕着使问题易于求解,而不是使研究方法更适合于问题,常常因为存在诸多困难而不能适用。

从原则上讲,仿真法对系统数学模型的形式及复杂程度没有限制,是广泛适用的,但当模型的复杂程度增大时,试验次数就会迅速增加,从而影响使用效率。

1.5 仿真可以应用于系统分析、系统设计、理论验证和训练仿真器等方面。

1.6,8,20,71,,,,,,,,,x,100x,0u,,,, ,,,,0100,,,,y,,,002x注:本题答案是用MATLAB中tf2ss()函数给出的,是所谓“第二能控标准型”(下同)。

11.7,3,3,11,,,,,,,,,x,100x,0u,,,, ,,,,0100,,,,y,,,013x1.82s,3s,3G(s), 32s,4s,5s,21.91.368,0.36801,,,,,,,,x(k,1),100x(k),0u(k),,,, ,,,,0100,,,,y(k),,,00.3680.264x(k)1.10 仿真模型见praxis1_10_1.mdl;MATLAB程序见praxis1_10_2.m。

Matlab与控制系统仿真部分习题答案

Matlab与控制系统仿真部分习题答案

【4.2】程序:num=[5,0];den=conv([1,1],conv([1,2],[1,3])); [numc,denc]=cloop(num,den);[z,p,k]=tf2zp(numc,denc);[A,B,C,D]=tf2ss(numc,denc);g_zp=zpk(z,p,k)g_tf=tf(numc,denc)g_ss=ss(A,B,C,D)运行结果:Zero/pole/gain:5 s----------------------------------(s+0.4432) (s^2 + 5.557s + 13.54)Transfer function:5 s----------------------s^3 + 6 s^2 + 16 s + 6a =x1 x2 x3x1 -6 -16 -6x2 1 0 0x3 0 1 0b =u1x1 1x2 0x3 0c =x1 x2 x3y1 0 5 0d =u1y1 0【4.3】程序:A=[0 0 0 -1;1 0 0 -2;0 1 0 -3;0 0 1 -4]; B=[0;0;0;1];C=[1 0 0 0];g_ss=ss(A,B,C,D)[num,den]=ss2tf(A,B,C,D);g_tf=tf(num,den)[z,p,k]=ss2zp(A,B,C,D);g_zpk=zpk(z,p,k)运行结果:a =x1 x2 x3 x4x1 0 0 0 -1x2 1 0 0 -2x3 0 1 0 -3x4 0 0 1 -4b =u1x1 0x2 0x3 0x4 1c =x1 x2 x3 x4y1 1 0 0 0d =u1y1 0Continuous-time model.Transfer function:-3.109e-015 s^3 - s^2 - 3.331e-015 s - 4.441e-016 -------------------------------------------------s^4 + 4 s^3 + 3 s^2 + 2 s + 1Zero/pole/gain:- s^2----------------------------------------------(s+0.6724) (s+3.234) (s^2 + 0.0936s + 0.4599)【5.1】(1)程序num=[0,10];den=conv([1,0],[1,7,17]); [numc,denc]=cloop(num,den,-1); G=tf(numc,denc)[y,t]=step(G);plot(t,y,'b-')C=dcgain(G);n=1;while y(n)<0.1*Cn=n+1;endm=1;while y(m)<0.9*Cm=m+1;endrisetime=t(m)-t(n)[Y,k]=max(y); percentovershoot=100*(Y-C)/Ci=length(t);while(y(i)>0.98*C)&(y(i)<1.02*C) i=i-1;endsettlingtime=t(i)运行结果:Transfer function:10-----------------------s^3 + 7 s^2 + 17 s + 10risetime =2.7312percentovershoot =-0.4399settlingtime =5.1372图:0123456700.10.20.30.40.50.60.70.80.91(2)程序k=[10,100,1000];t=linspace(1,20,200);num=1;den=conv([1,0],[1,7,17]);for j=1:3;s1=tf(num*k(j),den);sys=feedback(s1,1)y(:,j)=step(sys,t);endplot(t,y(:,1),'r',t,y(:,2),'b',t,y(:,3),'g')gtext('k=10');gtext('k=100');gtext('k=1000') 运行结果:Transfer function:10-----------------------s^3 + 7 s^2 + 17 s + 10Transfer function:100------------------------s^3 + 7 s^2 + 17 s + 100Transfer function:1000-------------------------s^3 + 7 s^2 + 17 s + 1000图:024681012141618200.20.40.60.811.21.41.61.8图:02468101214161820-3-2-1123422【6.1】程序:(1)num1=[1,1];den1=conv([1,0,0],conv([1,2],[1,4]));sys1=tf(num1,den1)rlocus(sys1)运行结果:-12-10-8-6-4-2024-8-6-4-202468Root LocusReal Axis I m a g i n a r y A x i s(2)num2=[1,1];den2=conv([1,0],conv([1,-1],[1,4,16]));sys2=tf(num2,den2)rlocus(sys2)运行结果:-10-8-6-4-2024-8-6-4-202468Root LocusReal Axis I m a g i n a r y A x i s(3)num3=[1,8];den3=conv([1,0,0],conv([1,3],conv([1,5],conv([1,7],[1,15])))); sys3=tf(num3,den3)rlocus(sys3)运行结果:-30-25-20-15-10-5051015-20-15-10-505101520Root LocusReal Axis I m a g i n a r y A x i s【6.3】程序:num=[1,2];den=conv([1,0],conv([1,4],conv([1,8],[1,2,5])));sys=tf(num,den)rlocus(sys)[k,poles]=rlocfind(sys)运行结果:Transfer function:s + 2---------------------------------------s^5 + 14 s^4 + 61 s^3 + 124 s^2 + 160 sSelect a point in the graphics windowselected_point =0.0296 + 2.2826i k =135.8815poles =-7.3248-5.41040.0145 + 2.3021i0.0145 - 2.3021i -1.2939图:-20-15-10-5051015-15-10-551015Root LocusReal Axis I m a g i n a r y A x i s【7.3】程序(1)画波特图num=[50];den=conv([1,0],conv([1,10],[3,1]));sys=tf(num,den)sys1=feedback(sys,1)bode(sys)grid图(1)-150-100-50050100M a g n i t u d e (d B)10-210-1100101102103-270-225-180-135-90P h a s e (d e g )Bode DiagramFrequency (rad/sec)程序(2)画奈奎斯特图num=[50];den=conv([1,0],conv([1,10],[3,1]));sys=tf(num,den)sys1=feedback(sys,1)nyquist(sys)grid图(2)-16-14-12-10-8-6-4-20-300-200-100100200300Nyquist DiagramReal Axis I m a g i n a r y A x i s程序(3)画零极点图num=[50];den=conv([1,0],conv([1,10],[3,1]));sys=tf(num,den)sys1=feedback(sys,1)pzmap(sys1)gird图(3)P ole-Zero MapReal Axis I m a g i n a r y A x i s -12-10-8-6-4-20-1.5-1-0.50.511.5程序(4)计算相角裕量和幅值裕量num=[50];den=conv([1,0],conv([1,10],[3,1]));sys=tf(num,den)sys1=feedback(sys,1)[gm,pm,wcg,wcp]=margin(sys)运行结果Transfer function:50---------------------3 s^3 + 31 s^2 + 10 sTransfer function:50--------------------------3 s^3 + 31 s^2 + 10 s + 50gm =2.0667pm =7.5615wcg =1.8257wcp =1.2645程序(5)绘制阶跃响应曲线num=[50];den=conv([1,0],conv([1,10],[3,1])); sys=tf(num,den)sys1=feedback(sys,1)step(sys1)图(5)00.20.40.60.811.21.41.61.82Step ResponseTime (sec)A m p l i t u d e【7.4】程序如下:num=[300];den=conv([1,0,0],conv([0.2,1],[0.02,1]));sys=tf(num,den)margin(sys)grid波特图如下:-150-100-50050100M a g n i t u d e (d B )10-1100101102103-360-315-270-225-180P h a s e (d e g )Bode DiagramGm = Inf , P m = -78 deg (at 11 rad/sec)Frequency (rad/sec)【9.3】程序:A=[-2 2 -1;0 -2 0;1 -4 0];B=[0;0;1];C=[1,0,0];D=0;M=ctrb(A,B)m=rank(M)if m==3;disp('系统可控')elsedisp('系统不可控')endN=obsv(A,C)n=rank(N)if n==3;disp('系统可观')elsedisp('系统不可观') endsys=ss(A,B,C,D) [num,den]=ss2tf(A,B,C,D) sys1=tf(num,den)[z,p,k]=ss2zp(A,B,C,D)运行结果:M =0 -1 20 0 01 0 -1m =2系统不可控N =1 0 0-2 2 -13 -4 2n =2系统不可观a =x1 x2 x3x1 -2 2 -1x2 0 -2 0x3 1 -4 0b =u1x1 0x2 0x3 1c =x1 x2 x3y1 1 0 0d =u1y1 0 Continuous-time model.0 0 -1 -2den =1 4 5 2Transfer function:-s - 2---------------------s^3 + 4 s^2 + 5 s + 2z =-2p =-1-1-2k = -1【10.1】(1)程序:A=[0,1,0,0;0,5,0,0;0,0,-7,0;0,0,0,-8]; B=[0;1;0;1];C=[1,2,3,4];D=zeros(1,1);G_ss=ss(A,B,C,D)运行结果:a =x1 x2 x3 x4x1 0 1 0 0x2 0 5 0 0x3 0 0 -7 0x4 0 0 0 -8u1x1 0x2 1x3 0x4 1c =x1 x2 x3 x4y1 1 2 3 4d =u1y1 0(2):程序:[num1,den1]=ss2tf(A,B,C,D); p=roots(den1)i=0;for k=1:1:length(p)if real(p(k))>0i=i+1;endendif i>0disp('系统不稳定');elsedisp('系统稳定');end运行结果:p =5.0000-8.0000-7.0000系统不稳定(3)(4)程序:AA=[0,1,0;0,5,0;0,0,-8];BB=[0;1;1];P=[-1,-2,-8];K=acker(AA,BB,P);i=4;K(4)=0;Kpp=eig(A-B*K)sys1=tf(num1,den1);[y1,t]=step(sys1);plot(t,y1)hold onA_feedback=A-B*K;[num2,den2]=ss2tf(A_feedback,B,C,D); sys2=tf(num2,den2);[y2,t]=step(sys2);plot(t,y2,'r')gridgtext('反馈前')gtext('反馈后')运行结果:K =2 8 0 0pp =-8-2-1-7图形:01234560123456【13.1】程序:A=[0,1;0,0];B=[0;1];C=[1,0];D=zeros(1,1);G_ss=ss(A,B,C,D)M=ctrb(A,B);if rank(M)==2disp('系统完全能控'); elsedisp('系统不完全能控'); endS=[1,0];N=obsv(A,S);if rank(N)==2disp('(A,S)可观测'); elsedisp('(A,S)不可观测'); endR=1;Q=[1,0;0,0];[K,P,E]=Lqr(A,B,Q,R)A_new=A-B*K;G_new=ss(A_new,B,C,D);t=linspace(0,5,100)';y1=step(G_ss,t);y2=step(G_new,t);plot(t,y1,'r:',t,y2,'b-')gridgtext('反馈前')gtext('反馈后')运行结果:a =x1 x2x1 0 1x2 0 0b =u1x1 0x2 1c =x1 x2y1 1 0d =u1y1 0Continuous-time model. 系统完全能控(A,S)可观测K =1.0000 1.4142P =1.4142 1.00001.0000 1.4142E =-0.7071 + 0.7071i-0.7071 - 0.7071i图形:00.51 1.52 2.53 3.54 4.5502468101214。

电力系统的MATLABSIMULINK仿真与应用第6章

电力系统的MATLABSIMULINK仿真与应用第6章

第6章 电力系统稳态与暂态仿真
6.1.5 LTI视窗
打开“LTI视窗”窗口如图6-6所示。该窗口中含有以下 内容: (1) “系统输入”(System inputs)列表框:列出电路状态 空间模型中的输入变量,选择需要用到LTI视窗的输入变量。 (2) “系统输出”(System outputs)列表框:列出电路状态 空间模型中的输出变量,选择需要用到LTI视窗的输出变量。 (3) “打开新的LTI视窗”(Open New LTI Viewer)按键: 产生状态空间模型并打开选中的输入和输出变量的LTI视窗。 (4) “打开当前LTI视窗”(Open in current LTI Viewer)按 键:产生状态空间模型并将选中的输入和输出变量叠加到当
(2) 改变仿真初始状态; (3) 进行潮流计算并对包含三相电机的电路进行初始化
设置;
(4) 显示阻抗的依频特性图;
第6章 电力系统稳态与暂态仿真
(5) 显示FFT分析结果;
(6) 生成状态—空间模型并打开“线性时不变系 统”(LTI)时域和频域的视窗界面; (7) 生成报表,该报表中包含测量模块、电源、非线性 模块和电路状态变量的稳态值,并以后缀名.rep保存; (8) 设计饱和变压器模块的磁滞特性。 6.1.1 主窗口功能简介 MATLAB提供的Powergui模块在SimPowerSystems库中, 图标如图6-1所示。
第6章 电力系统稳态口
第6章 电力系统稳态与暂态仿真
(3) “节点类型”(Bus type)下拉框:选择节点类型。对
于“PV节点”(P&V Generator),可以设置电机的端口电压 和有功功率;对于“PQ节点”(P&Q Generator),可以设置 电机的有功和无功功率;对于“平衡节点”(Swing Bus), 可以设置终端电压UAN的有效值和相角,同时需要对有功 功率进行预估。 如果选择了非同步电机模块,则仅需要输入电机的机械 功率;如果选择了三相动态负荷模块,则需要设置该负荷消 耗的有功和无功功率。 (4) “终端电压UAB”(Terminal voltage UAB)文本框:对 选中电机的输出线电压进行设置(单位:V)。

《控制系统计算机辅助设计MATLAB语言与应用第2版》薛定宇_课后习题答案

《控制系统计算机辅助设计MATLAB语言与应用第2版》薛定宇_课后习题答案
polar(t,r);axis('square')
【17】
(1)z=xy
>>[x,y]=meshgrid(-3:0.01:3,-3:0.01:3);
z=x.*y;
mesh(x,y,z);
>> contour3(x,y,z,50);
(1)z=sin(xy)
>> [x,y]=meshgrid(-3:0.01:3,-3:0.01:3);
【2】
相应的MATLAB命令:B=A(2:2:end,:)
>>A=magic(8)
A=
642361606757
955541213 515016
174746 202143 4224
4026273736 303133
323435 292838 3925
4123224445191848
491514 5253 11 10 56
【10】
function y=fib(k)
if nargin~=1,error('出错:输入变量个数过多,输入变量个数只允许为1!');endﻭif nargout>1,error('出错:输出变量个数过多!');end
if k<=0,error('出错:输入序列应为正整数!');endﻭifk==1|k==2,y=1;ﻭelsey=fib(k-1)+fib(k-2);endﻭend
858 5954 62 631
>>B=A(2:2:end,:)
B =
955 541213515016
40262737 36303133
41232244451918 48
858 5954 62631

MATLAB程序设计与应用-第六章

MATLAB程序设计与应用-第六章

打开空白模型窗口按住鼠标左键不放并移动鼠标至目标模型窗口指定位置按住Ctrl键不放同时鼠标左键单击某个线路,可以增加一个分支双击该模块,弹出参数设置窗口参数设置好后,适当拉大传递函数模块,可看到公式。

[说明]模块的修改、调整、连接通常只能在仿真模型窗口中进行,不要直接对模块库中的模块进行修改或调整。

也可直接点击模型窗口中的(或)启动(或停止)双击示波器,并按Start按钮,可看到仿真结果6.2 模块库介绍:一、Sources库1、Sine Wave :产生幅值、频率可设置的正弦波信号。

双击图标(认定该模块已拷贝到用户模型窗,以下均如此),弹出正弦波的参数设置框图。

图中参数为Simulink默认值,用户可根据需要对这些参数重新设置Amplitude:幅度Bias:Y轴上的位移,取正值向上移Frequency:频率Phase:X轴上的位移,取正值向左移Sample time:采样间隔6.2 模块库介绍一、Sources库1、Sine Wave :例:y=4*sin(2*x-1.57)+1参数设置如下:Amplitude:4Bias:1Frequency:2Phase:-1.57Sample time:06.2 模块库介绍:一、Sources库2、Step:产生幅值、阶跃时间可设置的阶跃信号双击图标,弹出阶跃信号的参数设置框图。

图中参数为Simulink默认值Step time:阶跃时间Initial value:初始值Final value:最终值Sample time:采样间隔显示在仿真过程产生的信号波形。

X-Y、轴向变焦取当前窗中信号最大、最小值为纵坐标的上下限把当前轴的设置保存为该示波器的缺省设置器设置波器示波器属性对话框示波器属性对话框General页示波器属性对话框Data history页xy当X、Y分别为正、余弦信号时,其显示图形如图:库如图为输入斜坡信号时微分环节的输出库函数积分环节6.2 模块库介绍四、Math 库该库包含描述一般数学函数的模块该库中模块的功能就是将输入信号按照模块所描述的数学运算函数计算,并把运算结果作为输出信号输出。

matlab仿真课后习题

matlab仿真课后习题

第一章习题3.请指出以下的变量名(函数名、M文件名)中,哪些是合法的Abc 2004x lil-1 wu_2004 a&b _xyz 解:合法的变量名有:Abc wu_20044.指令窗操作(1)求[12+2×(7-4)]÷32的运算结果解:>> [12+2*(7-4)]/3^2ans =2(2)输入矩阵A=[1,2,3;4,5,6;7,8,9],观察输出。

解:>> A=[1,2,3;4,5,6;7,8,9]A =1 2 34 5 67 8 9(3)输入以下指令,观察运算结果;clear;x=-8::8;y=x';X=ones(size(y))*x;Y=y*ones(size(x));R=sqrt(X.^2+Y.^2)+eps;Z=sin(R)./R;mesh(X,Y,Z);colormap(hot)xlabel('x'),ylabel('y'),zlabel('z')解:7.指令行编辑(1)依次键入以下字符并运行:y1=2*sin*pi)/(1+sqrt(5))解:>>y1=2*sin*pi)/(1+sqrt(5))y1 =(2)通过反复按键盘的箭头键,实现指令回调和编辑,进行新的计算;y2=2*cos*pi)/(1+sqrt(5))解:>>y2=2*cos*pi)/(1+sqrt(5))y2 =11.编写题4中(3)的M脚本文件,并运行之。

解:第二章习题1.在指令窗中键入x=1::2和y=2::1,观察所生成的数组。

解:>> x=1::2 x =>> y=2::1 y =Empty matrix: 1-by-02.要求在[0,2π]上产生50个等距采样数据的一维数组,试用两种不同的指令实现。

解: y1=0:2*pi/49:2*pi y2=linspace(0,2*pi,50)3.计算e -2t sint ,其中t 为[0,2π]上生成的10个等距采样的数组。

控制系统的Matlab仿真与设计课后答案

控制系统的Matlab仿真与设计课后答案

控制系统的Matlab仿真与设计课后答案第一篇:控制系统的Matlab仿真与设计课后答案MATLAB课后习题答案 2.1 x=[15 22 33 94 85 77 60] x(6)x([1 3 5])x(4:end)x(find(x>70))2.3 A=zeros(2,5);A(:)=-4:5L=abs(A)>3 islogical(L)X=A(L)2.4 A=[4,15,-45,10,6;56,0,17,-45,0] find(A>=10&A<=20)2.5 p1=conv([1,0,2],conv([1,4],[1,1]));p2=[1 0 1 1];[q,r]=deconv(p1,p2);cq='商多项式为';cr='余多项式为';disp([cq,poly2str(q,'s')]),disp([cr,poly2str(r,'s')])2.6 A=[11 12 13;14 15 16;17 18 19];PA=poly(A)PPA=poly2str(PA,'s')3.1 n=(-10:10)';y=abs(n);plot(n,y,'r.','MarkerSize',20)axis equal grid on xlabel('n')3.2 x=0:pi/100:2*pi;y=2*exp(-0.5*x).*sin(2*pi*x);plot(x,y),grid on;3.3 t=0:pi/50:2*pi;x=8*cos(t);y=4*sqrt(2)*sin(t);z=-4*sqrt(2)*sin(t);plot3(x,y,z,'p');title('Line in 3-D Space');text(0,0,0,'origin');xlabel('X'),ylable('Y'),zlable('Z');grid;3.4theta=0:0.01:2*pi;rho=sin(2*theta).*cos(2*theta);polar(theta,rho,'k');3.5[x,y,z]=sphere(20);z1=z;z1(:,1:4)=NaN;c1=ones(size(z1));surf(3*x,3*y,3*z1,c1);hold on z2=z;c2=2*ones(size(z2));c2(:,1:4)=3*ones(size(c2(:,1:4)));surf(1.5*x,1.5*y,1.5*z2,c2);col ormap([0,1,0;0.5,0,0;1,0,0]);grid on hold off 第四章function f=factor(n)if n<=1 f=1;elsef=factor(n-1)*n;endfunction[s,p]=fcircle(r)s=pi*r*r;p=2*pi*r;function k=jcsum1(n)k=0;i=0;while i<=n k=k+2^i;i=i+1;end function k=jcsum(n)k=0;for i=0:n k=k+2^i;end4.1for m=100:999m1=fix(m/100);m2=rem(fix(m/10),10);m3=rem(m,10);ifm==m1*m1*m1+m2*m2*m2+m3*m3*m3 disp(m)end end4.2[s,p]=fcircle(10)4.3y=0;n=100;for i=1:ny=y+1/i/i;end y4.4s=0;for i=1:5s=s+factor(i);end s4.5sum=0;i=1;while sum<2000 sum=sum+i;i=i+1;end;n=i-2 4.6jcsum(63)jcsum1(63)4.1 for m=100:999m1=fix(m/100);m2=rem(fix(m/10),10);m3=rem(m,10);if m==m1*m1*m1+m2*m2*m2+m3*m3*m3disp(m)end end 4.3 y=0;n=100;for i=1:ny=y+1/i/i;end y 4.4 s=0;for i=1:5s=s+factor(i);end s 4.5sum=0;i=1;while sum<2000sum=sum+i;i=i+1;end;n=i-2 4.6i=0;k=0;while i<=63k=k+2^i;i=i+1;end k ii=0;k=0;for i=0:63k=k+2^i;end i k第五章functionf=fxyz(u)x=u(1);y=u(2);z=u(3);f=x+y.^2./x/4+z.^2./y+2./z;5.1A=[2,1,-5,1;1,-5,0,7;0,2,1,-1;1,6,-1,-4];b=[13,-9,6,0]';x=Ab5.2[U,fmin]=fminsearch('fxyz',[0.5,0.5,0.5])5.3X=linspace(0,2*pi,50);Y=sin(X);P=polyfit(X,Y,3)AX=linspace(0,2*pi,50);Y=sin(X);Y1=polyval( P,X)plot(X,Y,':O',X,Y1,'-*')5.4x=0:2.5:10;h=[0:30:60]';T=[95,14,0,0,0;88,48,32,12,6;67,64,54,48,41];xi=[0:0.5:10];hi= [0:10:60]';temps=interp2(x,h,T,xi,hi,'cubic');mesh(xi,hi,temps);5.1 A=[2,1,-5,1;1,-5,0,7;0,2,1,-1;1,6,-1,-4];b=[13,-9,6,0]';x=Ab 5.3X=linspace(0,2*pi,50);Y=sin(X);P=polyfit(X,Y,3)AX=linspace(0,2*p i,50);Y=sin(X);Y1=polyval(P,X)plot(X,Y,':O',X,Y1,'-*')6.1syms x y=finverse(1/tan(x))6.2syms x yf=1/(1+x^2);g=sin(y);fg=compose(f,g)6.3syms xg=(exp(x)+x*sin(x))^(1/2);dg=diff(g)6.4F=int(int('x*exp(-x*y)','x'),'y')6.5syms xF=ztrans(x*exp(-x*10))6.6a=[0 1;-2-3];syms sinv(s*eye(2)-a);6.7 f=solve('a*x^2+b*x+c')6.8 f=solve('x+y+z=1','x-y+z=2','2*x-y-z=1')6.9y=dsolve('D2y+2*Dy+2*y=0','y(0)=1','Dy(0)=0')ezplot(y), grid on6.10a=maple('simplify(sin(x)^2+cos(x)^2);')6.11f=maple('laplace(exp(-3*t)*sin(t),t,s);')6.12 syms t xF=sin(x*t+2*t);L=laplace(F)第七章function[sys,x0,str,ts]=ww(t,x,u,flag)%¶¨ÒåÁ¬ÐøϵͳµÄSº¯Êý A=[0,1;-0.4,-0.2];B=[0;0.2];C=[1,0];D=0;switch flag, case 0,[sys,x0,str,ts]=mdlInitializeSizes(A,B,C,D);case 1,sys=mdlDerivatives(t,x,u,A,B,C,D);case 2,sys=mdlUpdate(t,x,u);case 3,sys=mdlOutputs(t,x,u,A,B,C,D);case 4,sys=mdlGetTimeOfNextVarHit(t,x,u);case 9,sys=mdlTerminate(t,x,u);otherwiseerror(['Unhandled flag = ',num2str(flag)]);end%=============================== function [sys,x0,str,ts]=mdlInitializeSizes(A,B,C,D)sizes = simsizes;sizes.NumContStates = 2;sizes.NumDiscStates = 0;sizes.NumOutputs = 1;sizes.NumInputs = 1;sizes.DirFeedthrough = 1;sizes.NumSampleTimes = 1;sys = simsizes(sizes);x0 = [0;0];str = [];ts = [0 0];%=============================== function sys=mdlDerivatives(t,x,u,A,B,C,D)sys = A*x+B*u;%===============================function sys=mdlUpdate(t,x,u)sys = [];%=============================== functionsys=mdlOutputs(t,x,u,A,B,C,D)sys = C*x+D*u;%=============================== function sys=mdlGetTimeOfNextVarHit(t,x,u)sampleTime = 1;sys = t + sampleTime;%===============================function sys=mdlT erminate(t,x,u)sys = [];7.17.27.37.47.57.67.7第八章8.1num=[5];den=[1,2,2];sys=tf(num,den)8.1.2s = tf('s');H = [5/(s^2+2*s+2)];H.inputdelay =28.1.3h=tf([0.5,0],[1,-0.5,0.5],0.1)8.2num=2*[1,0.5];den=[1,0.2,1.01];sys=tf(num,den)[z,p,k]=tf2zp(num,den);zpk(z,p,k)[A,B,C,D]=tf2ss(num,den);ss(A,B,C,D)8.3 num=[1,5];den=[1,6,5,1];ts=0.1;sysc=tf(num,den);sysd=c2d(sysc,ts,'tustin')8.4.08.4.1 %¶Ôϵͳ·½¿òͼÿ¸ö»·½Ú½øÐбàºÅ,ÓÐ8¸öͨµÀ,ÁÐдÿ¸öͨµÀ´«µÝº¯Êý r1=1;r2=2;c1=3;c2=4;G1=r1;G2=tf(1,[c1,0]);G3=1;%ÊÇ·ÖÀëµãºÍ»ãºÏµãµÄÁ¬Ïß,²»Äܺϲ¢,´«º¯Îª1 G4=-1;G5=1/r2;G6=tf(1,[c2,0]);G7=-1;G8=-1;%½¨Á¢ÎÞÁ¬½ÓµÄ״̬¿Õ¼äÄ£ÐÍG=append(G1,G2,G3,G4,G5,G6,G7,G8)%д³öϵͳµÄÁ¬½Ó¾ØÕóQ=[1 4 0 %ͨµÀ1µÄÊäÈëÊÇͨµÀ4 2 1 7 %ͨµÀ2µÄÊäÈëÊÇͨµÀ1,7 3 2 02 0 53 8 6 5 0 7 5 060];%¸ººÅÔÚ´«º¯ÖÐÌåÏÖ %ÁгöϵͳµÄ×ܵÄÊäÈëºÍÊä³ö¶ËµÄ±àºÅinputs=1;outputs=6;%Éú³É×éºÏºóϵͳµÄ״̬¿Õ¼äÄ£ÐÍsys=connect(G,Q,inputs,outputs)8.4.2r1=1;r2=2;c1=3;c2=4;[A,B,C,D]=linmod('x84');[num,den ]=ss2tf(A,B,C,D);sys=tf(num,den)8.5A=[1,1,0;0,1,0;0,0,2];B=[0,0;1,0;0,-2];n=size(A)Tc=ctrb(A,B);if n==rank(T c)disp('ϵͳÍêÈ«ÄÜ¿Ø');elsedisp('ϵͳ²»ÍêÈ«ÄÜ¿Ø');end 第九章function [rtab,info]=routh(den)info=[];vec1=den(1:2:length(den));nrT=length(vec1);vec2=den(2:2:length(den)-1);rtab=[vec1;vec2,zeros(1,nrT-length(vec2))];for k=1:length(den)-2, alpha(k)=vec1(1)/vec2(1);for i=1:length(vec2),a3(i)=rtab(k,i+1)-alpha(k)*rtab(k+1,i+1);endif sum(abs(a3))==0 a3=polyder(vec2);info=[info,'All elements in row ',...int2str(k+2)' are zeros;'];elseif abs(a3(1))info=[info,'Replaced first element;'];endrtab=[rtab;a3, zeros(1,nrT-length(a3))];vec1=vec2;vec2=a3;end9.1num=[2,5,1];den=[1,2,3];bode(num,den);grid on;figure;nyquist(num,den);9.2num=5*[1,5,6];den=[1,6,10,8];step(num,den);gridon;figure;impulse(num,den);grid on;9.3kosi=0.7;wn=6;num=wn^2;den=[1,2*kosi*wn,wn^2];step(num,den);grid on;figure;impulse(num,den);gridon;9.4den=[1,2,8,12,20,16,16];[rtab,info]=routh(den)a=rtab(:,1) if all(a>0)disp('ϵͳÊÇÎȶ¨µÄ');elsedisp('ϵͳÊDz»Îȶ¨µÄ');end9.5num=7*[1,5];den=conv([1,0,0],conv([1,10],[1,1]));[gm,pm,wg,wc]=margin(num,den)9.1 >> sys=tf([2,5,1],[1,2,3])Transfer function: 2 s^2 + 5 s + 1---------------s^2 + 2 s + 3>> rlocus(sys)>> nyquist(sys)>> bode(sys)9.2>> G=tf(conv([5],[1,5,6]),[1,6,10,8]);>> step(G)>> impulse(G) sys=tf([5,25,30],[1,6,10,8]);>> step(sys)>> impulse(sys)9.4>> GH=tf(conv([7],[1,5]),conv([1,0,0],conv([1,10],[1,1])));>> [Gm,Pm,Wcg,Wcp]=margin(GH)Gm =0 Pm =-47.2870 Wcg =0 Wcp = 1.4354 >>GH=tf(conv([7],[1,5]),conv([1,0,0],conv([1,10],[1,1])));>>[Gm,Pm,Wcg,Wcp]=margin(GH)GH_close=feedback(GH,1)step( GH_close),grid on Gm =0 Pm =-47.2870 Wcg =0 Wcp =1.4354 第十章function s=bpts2s(bp,ts,delta)kosi=sqrt(1-1./(1+((1./pi).*log(1./bp)).^2));wn=-log(delta.*sqrt(1-kosi.^2))/(kosi.*ts);s=-kosi.*wn+j.*wn.*sqrt(1-kosi.^2);function[ngc,dgc]=fa_lead(ng0,dg0,Pm,wc,w)ngv=polyval(ng0,j*wc);dgv=polyval(dg0,j*wc);g=ngv/dgv;thetag=angle(g);mg=abs(g);thetar=Pm*pi/180;tz=(1+mg*cos(thetar-thetag))/(-wc*mg*sin(thetar-thetag));tp=(cos(thetar-thetag)+mg)/(wc*sin(thetar-thetag));ngc=[tz,1];dgc=[tp,1];function[ngc,dgc]=fg_lag_pm(ng0,dg0,w,Pm)[mu,pu]=bode(ng0,dg0,w);wgc=spline(pu,w,Pm+5-180);%²åÖµÇóÈ¡Âú×ãÏà½ÇÔ£¶ÈµÄ½ÇƵÂÊ×÷ΪÆÚÍûµÄ¼ôÇÐƵÂÊngv=polyval(ng0,j*wgc);dgv=polyval(dg0,j*wgc);g=ngv/dgv;alph=abs(1/g);T=10/alph*wgc, ngc=[alph*T,1];dgc=[T,1];function[ngc,dgc]=fg_lag_wc(ng0,dg0,w,wc)ngv=polyval(ng0,j*wc);dgv=polyval(dg0,j*wc);g=ngv/dgv;alph=abs(1/g);T=10/(alph*wc);ngc=[alph*T,1];dgc=[T,1];function[ngc,dgc]=fg_lead_pd(ng0,dg0,wc)ngv=polyval(ng0,j*wc);dg v=polyval(dg0,j*wc);g=ngv/dgv;mg0=abs(g);t=sqrt(((1/mg0)^2-1)/(wc^2));%·ùÖµÏà¼ÓΪÁãngc=[t,1];dgc=[1];%Gc(s)=1+Tsfunction[ngc,dgc]=fg_lead_pm(ng0,dg0,Pm,w)[mu,pu]=bode(ng0,dg0,w);%¼ÆËãÔ-ϵͳµÄ¶ÔÊýƵÂÊÏìÓ¦Êý¾Ý[gm,pm,wcg,wcp]=margin(mu,pu,w);%ÇóÈ¡Ô-ϵͳµÄÏà½ÇÔ£¶ÈºÍ¼ôÇÐƵÂÊalf=ceil(Pm-pm+5);%¼ÆËã¿ØÖÆÆ÷ÌṩµÄ×î´ó³¬Ç°½Ç¶È£¬phi=(alf)*pi/180;%½«×î´ó³¬Ç°½Çת»»Îª»¡¶Èµ¥Î»a=(1+sin(phi))/(1-sin(phi));%¼ÆËãaÖµdbmu=20*log10(mu);%ϵͳµÄ¶ÔÊý·ùÖµmm=-10*log10(a);%wm´¦µÄ¿ØÖÆÆ÷¶ÔÊý·ùÖµwgc=spline(dbm u,w,mm);%²îÖµÇóÈ¡wm£¬ÈÏΪwm£½wcT=1/(wgc*sqrt(a));%¼ÆËãTngc=[a*T,1];dgc=[T,1];function[ngc,dgc]=fg_lead_pm_wc(ng0,dg0,Pm,wc,w)[mu,pu]=bode(ng0,dg0,w);ngv=polyval(ng0,j*wc);dgv=poly val(dg0,j*wc);g=ngv/dgv;%ÇóÔ-ϵͳÔÚÆÚÍûµÄ¼ôÇÐƵÂÊ´¦µÄƵÂÊÏìÓ¦Êý¾ÝG0(jwc) theta=180*angle(g)/pi;%Ô-ϵͳÔÚÆÚÍûµÄ¼ôÇÐƵÂÊ´¦µÄÏà½ÇÔ£¶È£¬µ¥Î»Îª¶Èalf=ceil(Pm-(theta+180)+5);%×î´ó³¬Ç°½Ç phi=(alf)*pi/180;a=(1+sin(phi))/(1-sin(phi));dbmu=20*log10(mu);mm=-10*log10(a);wgc=spline(dbmu,w,mm);T=1/(wgc*sqrt(a));KK=128;s1=-2+i*2*sqrt(3);a=2ng0=[10];dg0=conv([1,0],conv([1,2],[1,8]));g0=tf(ng0,dg0);[ngc,dgc,k]=rg_lag(ng0,dg0,KK,s1,a);gc=tf(ngc,dgc)function s=kw2s(kosi,wn)s=-kosi.*wn+j*wn.*sqrt(1-kosi.^2);10.1ng0=[1];dg0=10000*[1 0-1.1772];g0=tf(ng0,dg0);%Âú×㿪»·ÔöÒæµÄΪУÕýϵͳµÄ´«µÝº¯Êýs=kw2s(0.7,0.5)%ÆÚÍûµÄ±Õ»·Ö÷µ¼¼«µãngc=rg_lead(ng0,dg0,s);gc=tf(ngc,1)g0c=tf(g0*gc);rlocus(g0 ,g0c);b1=feedback(g0,1);%δУÕýϵͳµÄ±Õ»·´«µÝº¯Êýb2=feedback(g0c,1);%УÕýºóϵͳµÄ±Õ»·´«µÝº¯Êýfigure,step(b1,'r--',b2,'b');gridon %»æÖÆУÕýÇ°ºóϵͳµÄµ¥Î»½×Ô¾KK=20;s1=-2+i*sqrt(6);a=1ng0=[10];dg0=conv([1,0],[1,4]);g0=tf(ng0,dg0);[ngc,dgc,k]=rg_lag(ng0,dg0,KK,s1,a);gc=tf(ngc,dgc)g0c=tf(K K*g0*gc);b1=feedback(k*g0,1);b2=feedback(g0c,1);step(b1,'r--',b2,'b');grid ong0c=tf(KK*g0*gc);rlocus(g0,g0c);b1=feedback(k*g0,1);b2=feedback(g0c,1);figure,step(b1,'r--',b2,'b');grid onng0=[1];dg0=conv([1,0,0],[1,5]);g0=tf(ng0,dg0);w=logspace (-3,3);KK=1;Pm=50;[ngc,dgc]=lead4(ng0,dg0,KK,Pm,w);gc=tf(ngc,dgc);g0c=tf(KK*g0*gc);bode(KK*g0,w);holdon,bode(g0c,w);grid on,hold off [gm,pm,wcg,wcp]=margin(g0c)Kg=20*log10(gm)g1=feedback( g0c,1);bode(g1),grid on, [mag,phase,w]=bode(g1);a=find(mag<=0.707*mag(1));wb=w(a( 1))max(mag)b=find(mag==max(mag))wr=w(b)KK=40;Pm=50;ng0= KK *[1];dg0=conv([1,0],conv([1,1],[1,4]));g0=tf(ng0,dg0);w=logspace(-2,4);[ngc,dgc]=fg_lead_pm(ng0,dg0,Pm,w)gc=tf(ngc,dgc),g0c=tf(g0*gc);b1=feedback(g0,1);b2=feedback(g0c,1);step(b1,'r--', b2,'b');grid on figure, bode(g0,'r--',g0c,'b',w), grid on,[gm,pm,wcg,wcp]=margin(g0c), Km=20*log10(gm) KK=200;bp=0.3;ts=0.7;delta=0.05;ng0=[1];dg0=conv([1,0],conv([0.1,1],conv([0.021],conv([0.01,1],[0.005 1]))));g0=tf(ng0,dg0);w=logspace(-4,3);t=[0:0.1:3];[mag,phase]=bode(KK*g0,w);[gm0,pm0,wg0,wc0] =margin(mag,phase,w),gm0=20*log10(gm0)%gm0 =-15.6769 %2¡¢È·¶¨ÆÚÍûµÄ¿ª»·´«µÝº¯Êý mr=0.6+2.5*bp;wc=ceil((2+1.5*(mr-1)+2.5*(mr-1)^2)*pi/ts), h=(mr+1)/(mr-1)w1=2*wc/(h+1), w2=h*w1 w1=wc/10;w2=25;ng1=[1/w1,1];dg1=conv([1/w2,1],conv([1,0],[1 ,0]));g1=tf(ng1,dg1);g=polyval(ng1,j*wc)/polyval(dg1,j*wc);K=abs(1/g);%¼ôÇÐƵÂÊ´¦·ùֵΪ1£¬ÇóKÖµ g1=tf(K*g1)%3¡¢È·¶¨·´À¡»·½Ú´«µÝº¯Êýh=tf(dg1,ng1);Kh=1/K;h=tf(Kh*h)%ÆÚÍûƵÂÊÌØÐԵĵ¹ÌØÐÔ%4¡¢ÑéËãÐÔÄÜÖ¸±êg2=feedback(KK*g0,h);%УÕýºó£¬ÏµÍ³µÄ¿ª»·´«µÝº¯Êýb1=feedback(KK*g0,1);b2=feedback(g2,1);bode(KK*g0,'r--',g2,'b',h,'g',w);grid onfigure,step(b1, 'r--',b2, 'b',t);grid on,[pos,tr,ts,tp]=stepchar(b2,delta)function[ngc,dgc]=lag2(ng0,dg0,w,KK,Pm)[mu,pu]=bode(KK*ng0,dg 0,w);wgc=spline(pu,w,Pm+5-180),ngv=polyval(KK*ng0,j*wgc);dgv=polyval(dg0,j*wgc);g=ngv/dgv;alph=abs(1/g), T=10/alph*wgc, ngc=[alph*T,1];dgc=[T,1];function[ngc,dgc]=lead4(ng0,dg0,KK,Pm,w)[mu,pu]=bode(KK*ng0,d g0,w);[gm,pm,wcg,wcp]=margin(mu,pu,w);alf=ceil(Pm-pm+5);phi=(alf)*pi/180;a=(1+sin(phi))/(1-sin(phi)), dbmu=20*log10(mu);mm=-10*log10(a);wgc=spline(dbmu,w,mm), T=1/(wgc*sqrt(a)),ngc=[a*T,1];dgc=[T,1];function[ngc,dgc]=ra_lead(ng0,dg0,s1)ngv=polyval(ng0,s1);dgv=pol yval(dg0,s1);g=ngv/dgv;thetag=angle(g);mg=abs(g);thetas=ang le(s1);ms=abs(s1);tz=(sin(thetas)-mg*sin(thetag-thetas))/(mg*ms*sin(thetag));tp=-(mg*sin(thetas)+sin(thetag+thetas))/(ms*sin(thetag));ngc=[tz,1]; dgc=[tp,1];function[ngc,dgc,k]=rg_lag(ng0,dg0,KK,s1,a)ngv=polyval(ng0,s1);dgv=polyval(dg0,s1);g=dgv/ngv;k=abs(g);%ÆÚÍûÖ÷µ¼¼«µã´¦µÄ¸ù¹ì¼£ÔöÒæ beta=k/KK;[kosi1,wn1]=s2kw(s1);zc=-wn1*sin(a*pi/180)/sin(pi-atan(sqrt(1-kosi1^2)/kosi1)-(a*pi/180));%ÀûÓÃÕýÏÒ¶¨Àí pc=beta*zc;ngc=beta*[1,-zc];dgc=[1,-pc];functionvarargout=rg_lead(ng0,dg0,s1)if nargout==1ngv=polyval(ng0,s1);dgv=polyval(dg0,s1);g=ngv/dgv;thetal=pi-angle(g);zc=real(s1)-imag(s1)/tan(thetal);t=-1/zc;varargout{1}=[t,1];elseif nargout==2 ngv=polyval(ng0,s1);dgv=polyval(dg0,s1);g=ngv/dgv;theta=angle(g);phi=angle(s1);if theta>0 phi_c=pi-theta;endif theta<0;phi_c=-thetaendtheta_z=(phi+phi_c)/2;theta_p=(phi-phi_c)/2;z_c=real(s1)-imag(s1)/tan(theta_z);p_c=real(s1)-imag(s1)/tan(theta_p);nk=[1-z_c];varargout{2}=[1-p_c];kc=abs(p_c/z_c);if theta<0 kc=-kcendvarargout{1}=kc*nk;elseerror('Êä³ö±äÁ¿ÊýÄ¿²»ÕýÈ·£¡');endfunction [bp,ts]=s2bpts(s,delta)[kosi,wn]=s2kw(s);bp=exp(-kosi.*pi./sqrt(1-kosi.^2));ts=-1./(kosi.*wn)*log(delta.*sqrt(1-kosi.^2));function[kosi,wn]=s2kw(s)kosi=1./sqrt(1+(imag(s)/real(s)).^2);wn=-real(s)./kosi;%Èç¹ûwnΪ¸ºÖµ£¬ÔòwnÈ¡Õý£¬²¢ÇÒkosiÈ¡·´iwn=(wn<0);wn(iwn)=-wn(iwn);kosi(iwn)=-kosi(iwn);function[pos,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);for i=1:dimtif y(i)>=1 tr=t(i);break;end end;for i=1:length(y)ify(i)<=(1-delta)*yss|y(i)>=(1+delta)*yss ts=t(i);end end第十一章11.1a=[0 1 0;0 0 1;-1-5-6];b=[0 0 1]';p=[-2+4j;-2-4j;-10];K=acker(a,b,p)eig(a-b*K)11.2a=[0 1 0;0 0 1;-6-11-6];b=[1,0,0]';p=[-2+2*sqrt(3)*j;-2-2*sqrt(3)*j;-10];K=acker(a,b,p)eig(a-b*K)11.6A=[-1 0 0;0-2-3;0 0-3];B=[1 0;2 3;-3-3];C=[1 0 0;1 1 1 ];[G,K,L]=decoupling(A,B,C)11.8A=[0 20.6;1 0];b=[0 1]';c=[0 1];d=0;G=ss(A,b,c,d);Q=diag([1,0,0,0,0]);R=1;p=[-1.8+2.4j;-1.8-2.4j];[k,P]=lqr(A,b,Q,R);l=(acker(A',c',p))' Gc=-reg(G,k,l);zpk(Gc), eig(Gc.a), t=0:0.05:2;G_1=feedback(G*Gc,1);a1=eig(G_1.a), y_1=step(G_1,t);第十二章function[t,xx]=diffstate(G,H,x0,u0,N,T)xk=x0;u=u0;t=0 for k=1:N xk=G*xk+H*u;x(:,k)=xk;t=[t,k*T];end;xx=[x0,x];12.1function sys=M601(t,x)u=1;sys=[x(2);x(3);-800*x(1)-80*x(2)-24*x(3)+u];function[t,y]=ode4(A,B,C,D,x0,h,r,v,t0,tf)Ab=A-B*v*C;B=B;C=C;x=x0';y=0;t=t0;N=round((tf-t0)/h);for i=1:N k1=Ab*x+B*r;k2=Ab*(x+h*k1/2)+B*r;k3=Ab*(x+h*k2/2)+B*r;k4=Ab*(x+h *k3)+B*r;x=x+h*(k1+2*k2+2*k3+k4)/6;y=[y,C*x];t=[t,t(i)+h];end 12.1tspan=[0,10];x0=[0,0,0]';[t,y]=ode45('M601',tspan,x0);y1=800*y(:,1);plot(t,y1);12.2 num=10;den=conv([1,0],conv([1,2],[1,3]));[A,B,C,D]=tf2ss(num,den);x0=[0,0,0];v=1;t0=0;tf=10;h=0.01; r=1;[t,y]=ode4(A,B,C,D,x0,h,r,v,t0,tf);plot(t,y),grid12.3 12.4 g=[-2.8-1.4 0 0;1.4 0 0 0;-1.8-0.3-1.4-0.6;0 0 0.6 0];h=[1 0 1 0]';c=[0 0 0 1];d=0;x0=[0 0 0 0]';u=1;N=30;T=0.1;[t,xx]=diffstate(g,h,x0,u,N,T);plot(t,xx);y=c*xx;figurestairs(t,y)grid on12.6 第十四章14.1clear all;load optcar.mat;t=signals(1,:);p=signals(2,:);v=signals(3,:);a=signals(4,:);theta =signals(5,:);subplot(4,1,1);plot(t,p);gridon;ylabel('λÖÃ(m)');subplot(4,1,2);plot(t,v);gridon;ylabel('ËÙ¶È(m/s)');subplot(4,1,3);plot(t,a);gridon;ylabel('¼ÓËÙ¶È(m/s2)');subplot(4,1,4);plot(t,theta);gridon;ylabel('½Ç¶È(¶È)');14.1clear all loadcar.mat %½«µ¼Èëµ½car.matÖеķÂÕæʵÑéÊý¾Ý¶Á³ö t=signals(1,:);x=signals(2,:);theta=signals(3,:);x1=signals(4,:);thet a1=signals(5,:);plot(t,x,t,x1);ylabel('С³µÎ»ÖÃ(m)'),grid on;%»æÖÆ¿ØÖÆÁ¦×÷ÓÃϽüËÆÄ£Ðͺ;«È·Ä£ÐÍxµÄµ¥Î»½×Ô¾ÏìÓ¦ÇúÏß figure % »æÖÆ¿ØÖÆÁ¦×÷ÓÃϽüËÆÄ£Ðͺ;«È·Ä£ÐÍthetaµÄµ¥Î»½×Ô¾ÏìÓ¦ÇúÏßplot(t,theta,t,theta1);ylabel('°Ú½ÇÖµ(rad)'),grid on;第二篇:控制系统的MATLAB仿真与设计课后答案第二章1>>x=[15 22 33 94 85 77 60] >>x(6)>>x([1 3 5])>>x(4:end)>>x(find(x>70))2>>T=[1-2 3-4 2-3];>>n=length(T);>>TT=T';>>for k=n-1:-1:0 >>B(:,n-k)=TT.^k;>>end >>B >>test=vander(T)3>>A=zeros(2,5);>>A(:) =-4:5 >>L=abs(A)>3 >>islogical(L)>>X=A(L)4>>A=[4,15,-45,10,6;56,0,17,-45,0] >>find(A>=10&A<=20)5>>p1=conv([1,0,2],conv([1,4],[1,1 ]));>>p2=[1 0 1 1];>>[q,r]=deconv(p1,p2);>>cq='商多项式为';cr='余多项式为';>>disp([cq,poly2str(q,'s')]),disp([cr,poly2str(r,'s')])6>>A=[11 12 13;14 15 16;17 18 19];>>PA=poly(A)>>PPA=poly2str(PA,'s')第三章1>>n=(-10:10)';>>y=abs(n);>>plot(n,y,'r.','MarkerSize',20)>>axisequal >>grid on>>xlabel('n')2>>x=0:pi/100:2*pi;>>y=2*exp(-0.5*x).*sin(2*pi*x);>>plot(x,y),gridon;3>>t=0:pi/50:2*pi;>>x=8*cos(t);>>y=4*sqrt(2)*sin(t);>>z=-4*sqrt(2)*sin(t);>>plot3(x,y,z,'p');>>title('Line in 3-D Space');>>text(0,0,0,'origin');>>xlabel('X'),ylable('Y'),zlable('Z');gr id;4>>theta=0:0.01:2*pi;>>rho=sin(2*theta).*cos(2*theta);>>po lar(theta,rho,'k');5>>[x,y,z]=sphere(20);>>z1=z;>>z1(:,1:4)=NaN ;>>c1=ones(size(z1));>>surf(3*x,3*y,3*z1,c1);>>holdon >>z2=z;>>c2=2*ones(size(z2));>>c2(:,1:4)=3*ones(size(c2(:,1 :4)));>>surf(1.5*x,1.5*y,1.5*z2,c2);>>colormap([0,1,0;0.5,0,0;1,0,0 ]);>>grid on >>hold off第四章1>>for m=100:999 m1=fix(m/100);m2=rem(fix(m/10),10);m3=rem(m,10);ifm==m1*m1*m1+m2*m2*m2+m3*m3*m3 disp(m)end end M文件:function[s,p]=fcircle(r)s=pi*r*r;p=2*pi*r;主程序:[s,p]=fcircle(10)3>>y=0;n=100;for i=1:n y=y+1/i/i;end >>y M文件:function f=factor(n)if n<=1 f=1;elsef=factor(n-1)*n;end主程序:>>s=0;for i=1:5 s=s+factor(i);end >>s5>>sum=0;i=1;while sum<2000 sum=sum+i;i=i+1;end;>>n=i-26 for循环M文件:function k=jcsum(n)k=0;for i=0:n k=k+2^i;end主程序: >>jcsum(63)While循环M文件: function k=jcsum1(n)k=0;i=0;while i<=n k=k+2^i;i=i+1;end主程序:>>jcsum1(63)第五章1>>A=[2,1,-5,1;1,-5,0,7;0,2,1,-1;1,6,-1,-4];>>b=[13,-9,6,0]';>>x=Ab M文件:functionf=fxyz(u)x=u(1);y=u(2);z=u(3);f=x+y.^2./x/4+z.^2./y+2./z;主程序:[U,fmin]=fminsearch('fxyz',[0.5,0.5,0.5])3>>X=linspace(0,2*p i,50);>>Y=sin(X);>>P=polyfit(X,Y,3)>>AX=linspace(0,2*pi,50);>>Y=sin(X);>>Y1=polyval(P,X)>>plot(X,Y,':O',X,Y1,'-*')4>>x=0:2.5:10;>>h=[0:30:60]';>>T=[95,14,0,0,0;88,48,32,12,6; 67,64,54,48,41];>>xi=[0:0.5:10];>>hi=[0:10:60]';>>temps=interp 2(x,h,T,xi,hi,'cubic');>>mesh(xi,hi,temps);第六章1>>syms x>>y=finverse(1/tan(x))2>>syms x y>>f=1/(1+x^2);g=sin(y);>>fg=compose(f,g)3>>syms x>>g=(exp(x)+x*sin(x))^(1/2);>>dg=diff(g)4>>F=int(int('x*e xp(-x*y)','x'),'y')5>>syms x>>F=ztrans(x*exp(-x*10))6>>a=[0 1;-2-3];>>syms s>>inv(s*eye(2)-a);7>>f=solve('a*x^2+b*x+c')8>>f=solve('x+y+z=1','x-y+z=2','2*x-y-z=1')9>>y=dsolve('D2y+2*Dy+2*y=0','y(0)=1','Dy(0)=0')>>ezpl ot(y),grid on10>>a=maple('simplify(sin(x)^2+cos(x)^2);')11>>f=maple(' laplace(exp(-3*t)*sin(t),t,s);')12>>syms t x>>F=sin(x*t+2*t);>>L=laplace(F)第七章第八章1-1>>h=tf([5,0],[1,2,2])1-2>>s = tf('s');>>H = [5/(s^2+2*s+2)];>>H.inputdelay =2 1-3>>h=tf([0.5,0],[1,-0.5,0.5],0.1)2>>num=2*[1,0.5];den=[1,0.2,1.01];>>sys=tf(num,d en)>>[z,p,k]=tf2zp(num,den);>>zpk(z,p,k)>>[A,B,C,D]=tf2ss(nu m,den);>>ss(A,B,C,D)3 >>num=[1,5];den=[1,6,5,1];ts=0.1;>>sys c=tf(num,den);>>sysd=c2d(sysc,ts,'tustin')>>r1=1;r2=2;c1=3;c2=4;>>[A,B,C,D]=linmod('x84');>>[num ,den]=ss2tf(A,B,C,D);>>sys=tf(num,den)5>>A=[1,1,0;0,1,0;0,0,2]; B=[0,0;1,0;0,-2];>>n=size(A)>>Tc=ctrb(A,B);if n==rank(Tc)disp('系统完全能控');elsedisp('系统不完全能控');end第九章1>>num=[2,5,1];den=[1,2,3];>>bode(num,den);grid on;>>figure;>>nyquist(num,den);2>>num=5*[1,5,6];den=[1,6,1 0,8];>>step(num,den);gridon;>>figure;>>impulse(num,den);gridon;3>>kosi=0.7;wn=6;>>num=wn^2;den=[1,2*kosi*wn,wn^2]; >>step(num,den);grid on;>>figure;>>impulse(num,den);grid on;4 M文件:function[rtab,info]=routh(den)info=[];vec1=den(1:2:length(den));nrT=len gth(vec1);vec2=den(2:2:length(den)-1);rtab=[vec1;vec2,zeros(1,nrT-length(vec2))];for k=1:length(den)-2, alpha(k)=vec1(1)/vec2(1);for i=1:length(vec2), a3(i)=rtab(k,i+1)-alpha(k)*rtab(k+1,i+1);endif sum(abs(a3))==0 a3=polyder(vec2);info=[info,'All elements in row ',...int2str(k+2)' are zeros;'];elseif abs(a3(1)) rtab=[rtab;a3, zeros(1,nrT-length(a3))];vec1=vec2;vec2=a3;end主程序:>>den=[1,2,8,12,20,16,16];>>[rtab,info]=routh(den)>>a=rt ab(:,1)if all(a>0)disp('系统是稳定的');elsedisp('系统是不稳定的');end5>>num=7*[1,5];den=conv([1,0,0],conv([1,10],[1,1]));>>[gm ,pm,wg,wc]=margin(num,den)第十章 M文件:。

matlab课后习题及答案

matlab课后习题及答案

第一章5题已知a=4.96,b=8.11,计算)ln(b a e b a +-的值。

解:clearclca=4.96;b=8.11;exp(a-b)/log(a+b)ans =0.01676题已知三角形的三边a=9.6,b=13.7,c=19.4,求三角形的面积。

提示:利用海伦公式area =))()((c s b s a s s ---计算,其中S=(A+B+C)/2.解:clearclca=9.6;b=13.7;c=19.4;s=(a+b+c)/2area=sqrt(s*(s-a)*(s-b)*(s-c))s =21.3500第二章8题已知S=1+2+2^2+2^3+……+2^63,求S 的值解:clearclcS=0;for i=0:1:63S=S+2^i;endSS =1.8447e+0199题分别用for 和while 循环结构编写程序,计算∑=-1001n 1n 2)(的值。

解:clearclcs=0;for n=1:100s=s+(2*n-1);endss =10000clearclcn=1;s=0;while n<=100s=s+(2*n-1);n=n+1;endss =10000第三章2题在同一坐标下绘制函数x ,,2x -,2x xsin(x)在()∏∈,0x 的曲线。

解:clearclcx=0:0.2:pi;y1=x;y2=x.^2;y3=-(x.^2);y4=x.*sin(x);plot(x,y1,'-',x,y2,'-',x,y3,'-',x,y4,'-')00.51 1.52 2.53-10-8-6-4-22468109题用不同的线型和颜色在同一坐标内绘制曲线y1=2e x 5.0 、y2=sin(2∏x )的图形。

解:clearclcx=0:0.01:pi;y1=2*exp(-0.5*x);y2=sin(2*pi*x);plot(x,y1,'b:',x,y2,'r--')00.51 1.52 2.53 3.5-1-0.50.511.52第四章1题对表达式f=3238641+++x x x 进行化简。

控制系统的Matlab仿真与设计课后答案

控制系统的Matlab仿真与设计课后答案
disp(m)
end
end
4.2[s,p]=fcircle(10)
4.3y=0;n=100;
fori=1:n
y=y+1/i/i;
end
y
4.4s=0;
fori=1:5
s=s+factor(i);
end
s
4.5sum=0;i=1;
whilesum<2000
sum=sum+i;
i=i+1;
end;
n=i-2
y=2*exp(-0.5*x).*sin(2*pi*x);
plot(x,y),grid on;
3.3
t=0:pi/50:2*pi;
x=8*cos(t);
y=4*sqrt(2)*sin(t);
z=-4*sqrt(2)*sin(t);
plot3(x,y,z,'p');
title('Line in 3-D Space');
text(0,0,0,'origin');
xlabel('X'),ylable('Y'),zlable('Z');grid;
3.4
theta=0:0.01:2*pi;
rho=sin(2*theta).*cos(2*theta);
polar(theta,rho,'k');
3.5
[x,y,z]=sphere(20);
fg=compose(f,g)
6.3symsx
g=(exp(x)+x*sin(x))^(1/2);
Y=sin(X);
P=polyfit(X,Y,3)

中南大学matlab课后答案-第六章

中南大学matlab课后答案-第六章

实验指导二1,(1)>> A=[1/2,1/3,1/4;1/3,1/4,1/5;1/4,1/5,1/6];B=[,,]';x=A\B (2)>> A=[1/2,1/3,1/4;1/3,1/4,1/5;1/4,1/5,1/6];B=[,,]';x=A\B (3)>> cond(A)2,(1)建立函数文件,命令如下;Function fx=funx(x)fx=x^41+x^3+1;$调用fzero函数求根,命令如下;>> z=fzero(@funx,-1)(2) 建立函数文件,命令如下;Function fx=sin(x)fx=x-(sin(x))/x;调用fzero函数求根,命令如下;>> z=fzero(@sin,(3) 建立函数文件,命令如下;function q=myfun(p)x=p(1);、y=p(2);z=p(3);q(1)=sin(x)+y^2+log(z)-7;q(2)=3*x+2^y-z^3+1;q(3)=x+y+z-5;调用fsolve函数求根,命令如下;>> options=optimset('Display','off');x=fsolve(@myfun,[1,1,1]',options) 3,(1) 建立函数文件,命令如下;function yp=funt(t,y)>yp=-y*+sin(10*t));求微分方程,程序如下:>> t0=0;tf=5;y0=1;[t,y]=ode23(@funt,[t0,tf],y0)(2) 建立函数文件,命令如下;function yp=funr(t,y)yp=cos(t)-(y)/(1+t^2);求微分方程,程序如下:>> t0=0;tf=5;y0=1;[t,y]=ode23(@funr,[t0,tf],y0)4,建立函数文件命令如下:{function fx=mymax(x)fx=-1*(1+x^2)/(1+x^4);求最大值,程序如下:>> [x,y]=fminbnd(@mymax,0,2)5,编写目标函数M文件,命令如下:function f=fop(x)f=-1*(x(1)^(1/2)+x(2)^(1/2)+x(3)^(1/2)+x(4)^(1/2));设定约束条件,并调用fmincon函数求解此约束最优化问题,程序如下:>>x0=[200,200,200,200];%A=[1,0,0,0;,1,0,0;,,1,0;,,,1];b=[400,440,484,];Ib=[0,0,0,0];options=optimset('Display','off');[x,y]=fmincon(@fop,x0,A,b,[],[],Ib,[],[],options)思考练习1,(1)矩阵求逆:>> A=[2,3,5;3,7,4;1,-7,1];b=[10,3,5]';x=inv(A)*b矩阵除法:>> A=[2,3,5;3,7,4;1,-7,1];b=[10,3,5]';x=A\b!矩阵分解:>> A=[2,3,5;3,7,4;1,-7,1];b=[10,3,5]';[L,U]=lu(A);x=U\(L\b) (2)矩阵求逆:>>A=[6,5,-2,5;9,-1,4,-1;3,4,2,-2;3,-9,0,2];b=[-4,13,1,11]';x=inv(A)*b矩阵除法:>>A=[6,5,-2,5;9,-1,4,-1;3,4,2,-2;3,-9,0,2];b=[-4,13,1,11]';x=A\b矩阵分解:>> A=[6,5,-2,5;9,-1,4,-1;3,4,2,-2;3,-9,0,2];b=[-4,13,1,11]'; [L,U]=lu(A);x=U\(L\b)2,(1)建立函数文件,命令如下:function fx=fun1(x)fx=3*x+sin(x)-exp(x);调用fzero函数求根,命令如下;>> y=fzero(@fun1,、(2) 建立函数文件,命令如下:function fx=fun2(x)fx=1-(1/x)+5;调用fzero函数求根,命令如下;>> y=fzero(@fun2,1)(3) 建立函数文件,命令如下;function q=fun3(p)x=p(1);y=p(2);q(1)=x^2+y^2-9;'q(2)=x+y-1;调用fsolve函数求根,命令如下;>> options=optimset('Display','off');x=fsolve(@fun3,[1,1]',options) 3,(1)建立函数文件,命令如下:function ydot=fun5(t,y)ydot(1)=(2-3*y(2)-2*t*y(1))/(1+t^2);ydot(2)=y(1);ydot=ydot';求解微分方程,命令如下:'>> t0=0;tf=5;x0=[0,1];[t,y]=ode45(@fun5,[t0,tf],x0);[t,y](2) (1)建立函数文件,命令如下:function ydot=fun6(t,y)ydot(1)=cos(t)+(5*y(1)*cos(2*t))/(t+1)^2-y(2)-y(3)/(3+sin(t)); ydot(2)=y(1);ydot(3)=y(2);ydot=ydot';求解微分方程,命令如下:>> t0=0;tf=5;x0=[0,1];[t,y]=ode45(@fun5,[t0,tf],x0);[t,y]4,】建立函数文件命令如下:function fx=max(x)fx=-1*(sin(x)+cos(x^2));求最大值,程序如下:>> [x,y]=fminbnd(@mymax,0,pi)5,编写目标函数M文件,命令如下:function f=topm(x)f=-1*x*(3-2*x)^2;设定约束条件,并调用fmincon函数求解此约束最优化问题,程序如下:>>x0=[0];A=[1];b=[];Ib=[0];options=optimset('Display','off');[x,y]=fminco n(@top,x0,A,b,[],[],Ib,[],[],options)。

MATLAB语言与控制系统仿真-参考答案-第6章

MATLAB语言与控制系统仿真-参考答案-第6章

6.4 控制系统频域分析MATLAB 仿真实训6.4.1实训目的 1. 学会利用MATLAB 绘制开环系统的伯德图; 2. 学会利用MATLAB 绘制开环系统的极坐标图;3. 掌握通过编程或相关命令求取系统稳定裕度的方法;4.通过仿真进一步理解掌握系统频域分析的有关知识。

6.4.2实训内容1.已知单位负反馈系统的开环传递函数为()()()10.5s 10.2s 1s 1.0ks G +++=)(要求编程绘制50=k 时的极坐标图,确定曲线与负实轴的交点坐标及频率值;n=50;d=conv([0.1,1],conv([0.2,1],[0.5,1])); sys=tf(n,d); nyquist(sys)曲线与负实轴的交点坐标为-3.76; 曲线与负实轴的交点频率值9.2;2.绘制下列系统的伯德图,并要求在图上显示出幅值裕度、相角裕度等信息。

(1)()()()18s 12s 2.6s G ++=>> n=2.6;>> d=conv([2,1],[8,1]); >> sys=tf(n,d)Transfer function: 2.6---------------------- 16 s^2 + 10 s + 1>> margin(sys)从图上信息可知,幅值裕度为无穷,相角裕度为88.2度。

(2)()()()110s 1s 10s G ++=s>> n=10;>> d=conv([1,0],conv([1,1],[10,1])); >> sys=tf(n,d) Transfer function: 10------------------------ 10 s^3 + 11 s^2 + s >> margin(sys)由图上信息可知,幅值裕度为-19.2dB,相角裕度为-34.3度。

(3)()()()10.5s 1s 1)8(10s s G +++=s从图上信息可知,幅值裕度为无穷,相角裕度为13.2度。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
要求编程绘制 时的极坐标图,确定曲线与负实轴的交点坐标及频率值;
n=50;
d=conv([0.1,1],conv([0.2,1],[0.5,1]));
sys=tf(n,d);
nyquist(sys)
曲线与负实轴的交点坐标为-3.76;
曲线与负实轴的交点频率值9.2;
2.绘制下列系统的伯德图,并要求在图上显示出幅值裕度、相角裕度等信息。
sys=tf(n,d);
bode(sys);
grid;
图上相角为 时所对应的频率值 ;
该频率值所对应的分贝数 ;
5.已知某系统如图6-14所示
(1)求取系统的开环传递函数并绘制开环传递函数的伯德图。
解:图6-14中的中间运放(红色虚框内)的传递函数为:
图6-14中的右侧运放(蓝色虚框内)的传递函数为:
(2)
>> n=10;
>> d=conv([1,0],conv([1,1],[10,1]));
>> sys=tf(n,d)
Transfer function:
10
------------------------
10 s^3 + 11 s^2 + s
>> margin(sys)
由图上信息可知,幅值裕度为-19.2dB,相角裕度为-34.3度。
6.4控制系统频域分析MATLAB仿真实训
6.4.1实训目的
1.学会利用MATLAB绘制开环系统的伯德图;
2.学会利用MATLAB绘制开环系统的极坐标图;
3.掌握通过编程或相关命令求取系统稳定裕度的方法;
4.通过仿真进一步理解掌握系统频域分析的有关知识。
6.4.2实训内容
1.已知单位负反馈系统的开环传递函数为
1.62
1.34
-101.31
-111.80
-120.96
-128.66
-135.00
-140.19
-144.46
-147.99
-150.95
-153.43
>> n=3;
>> d=conv([1,0],[2,1]);
>> sys=tf(n,d)
Transfer function:
3
-------------
图6-14系统的开环传递函数为:
仿真程序为:
n=2;
d=conv([1,0],[0.1,1]);
syso=tf(n,d);
bode(syso)
(2)求取系统的闭环传递函数并绘制闭环传递函数的极坐标图,并在图上读取与虚轴交点所对应的频率值。
n=2;
d=conv([1,0],[0.1,1]);
[nc,dc]=cloop(n,d);
>> sys=tf(n,d)
Transfer function:
3
---------------
2 s^2 + s
>> bode(sys)
(2)编写程序,根据程序结果完成下表;
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
29.42
13.93
8.57
5.86
4.24
('截止频率');
title('截止频率与阻尼比关系曲线');
grid;
subplot(3,1,2);
plot(z,gama);
ylabel('相角裕量');
title('相角裕量与阻尼比关系曲线');
grid;
subplot(3,1,3);
plot(z,wb);
sysc=tf(nc,dc);
nyquist(sysc);
与虚轴交点所对应的频率值为4.5。
6.已知典型二阶系统频域与时域指标间的关系
截止频率
相角裕量
带宽频率
假设某典型二阶系统 ,阻尼系数 ,设增量为0.01,试分别绘制截止频率 与 关系曲线、相角裕量 与 关系曲线、带宽频率 与 关系曲线。
z=0:0.01:1;
2 s^2 + s
>> [m,p]=bode(sys,0.1:0.1:1.0)
m(:,:,1) =
29.42
m(:,:,2) =
13.93
m(:,:,3) =
8.57
m(:,:,4) =
5.86
m(:,:,5) =
4.24
m(:,:,6) =
3.20
m(:,:,7) =
2.49
m(:,:,8) =
1.99
wn=10;
wc=wn*sqrt(sqrt(1+4*z.^4)-2*z.^2);
gama=atan(2*z./ sqrt(sqrt(1+4*z.^4)-2*z.^2));
wb=wn*sqrt((1-2*z.^2)+sqrt(2-4*z.^2+4*z.^4));
subplot(3,1,1);
plot(z,wc);
(3)
从图上信息可知,幅值裕度为无穷,相角裕度为13.2度。
(4)
>> n=conv([10],[0.0025,0.1,1]);
>> d=conv([1,0],conv([1,1],[0.1,1]));
>> sys=tf(n,d)
Transfer function:
0.025 s^2 + s + 10
-147.99
p(:,:,9) =
-150.95
p(:,:,10) =
-153.43
4.已知系统开环传递函数
试利用bode(sys)命令绘制系统的伯德图(要求带网格线),并通过鼠标在仿真曲线上点击、滑动,在图上找出相角为 时所对应的频率值 以及该频率值所对应的分贝数
n=[1,1];
d=conv([1,0],conv([0.5,1],[0.1,0.25,1]));
(1)
>> n=2.6;
>> d=conv([2,1],[8,1]);
>> sys=tf(n,d)
Transfer function:
2.6
----------------------
16 s^2 + 10 s + 1
>> margin(sys)
从图上信息可知,幅值裕度为无穷,相角裕度为88.2度。
m(:,:,9) =
1.62
m(:,:,10) =
1.34
p(:,:,1) =
-101.31
p(:,:,2) =
-111.80
p(:,:,3) =
-120.96
p(:,:,4) =
-128.66
p(:,:,5) =
-135.00
p(:,:,6) =
-140.19
p(:,:,7) =
-144.46
p(:,:,8) =
-----------------------------
0.1 s^3 + 1.1 s^2 + s
>> margin(sys)
从图上信息可知,幅值裕度为无穷,相角裕度为18.5度。
3.已知系统开环传递函数
(1)试编程绘制系统的BODE图;
>> n=3;
>> d=conv([1,0],[2,1]);
相关文档
最新文档