第二章 习题 P37
1、求下列函数的Z变换 (1)f(t)?1?e?at
>> syms a n T
>> FZ=(ztrans(1-exp(-a*n*T)))
FZ = z/(z - 1) - z/(z - 1/exp(T*a))
>> simple(FZ)
>> pretty(FZ)
z z ----- - ------------ z - 1 1 z - -------- exp(T a)
?1?(2)f(t)??? k>=0
?4?>> syms k
>> FZ=ztrans((1/4)^k) FZ = z/(z - 1/4)
>> syms a n T
>> FZ=ztrans((1/4)^(n*T))
FZ =z/(z - (1/4)^T)
(3)F(s)???k?6?? ??s(s?2)?方法 1 (假设采样周期为 1 ) gs=tf([6],[1 2 0]) gz=c2d(gs,1,'imp') Transfer function: 2.594 z ----------------------
z^2 - 1.135 z + 0.1353
Sampling time: 1
方法 2 (采用符号计算工具箱,正确) >> syms s n T
>> ft = ilaplace( 6/(s*(s+2)) ) ft = 3 - 3/exp(2*t)
>>FZ=(ztrans(3 - 3/exp(2*n*T)))
FZ =(3*z)/(z - 1) - (3*z)/(z - exp(-2*T))
>> pretty(FZ)
3 z 3 z ----- - ------------- z - 1 z - exp(-2 T)
补充:
(1) 单位阶跃信号的Z变换 >> f = n/n f =1
>> ztrans(f) ans = z/(z - 1)
(2) 单位速度信号的Z变换 >> f = n f =n
>> ztrans(f)
ans =z/(z - 1)^2 %只反映了T=1时的情况
>> syms n T; >> f = n*T f =T*n
>> ztrans(f)
ans =(T*z)/(z - 1)^2 %正确
(3) 单位加速度信号的Z变换 >> f = 0.5*(n*T)^2
>> ztrans(f)
(4) 广义Z变换
延迟0.25 T 的速度信号的Z变换 >> f = n*T+0.75*T f =(3*T)/4 + T*n >> ztrans(f)
ans =(3*T*z)/(4*(z - 1)) + (T*z)/(z - 1)^2
该式乘以z^(-1) 得到结果。与教科书P27表上结果相同。
e^(-at) 延迟q* T 后的Z变换 >> syms a n q T
>> FZ= ztrans( exp(-a*(n-q)*T) )
>> FZ= ztrans( exp(-a*n*T) *exp(a*q*T))
FZ = (z*exp(T*a*q))/(z - exp(-T*a))
e^(-at) 超前b* T 后的Z变换
>> syms a n q b T
FZ= ztrans( exp(-a*n*T) *exp(-a*b*T))
FZ =(z*exp(-T*a*b))/(z - exp(-T*a))
将此式乘以z^(-1) 得到结果。与教科书P27表上结果相同。
2、求下列函数的初值和终值
10z?1(1):F(z)? ?12(1?z)解:
>> F= 10*z^(-1)/(1-z^(-1) )^2
F = 10/z/(1-1/z)^2
根据初值定理,初值就是当z趋于无穷大时F(Z)的值 syms z
limit(F,z,inf) ans = 0
根据终值定理,终值就是当z趋于1时F(Z)*(z-1)的值 >> limit(F*(z-1),z,1)
ans = NaN
1?4z?1?3z?2(2):F(z)? ?1?2?31?2z?6z?2.5z>> F= (1+4*z^(-1)+3*z^(-2))/(1+2*z^(-1)+6*z^(-2)+2.5*z^(-3))
F = (1+4/z+3/z^2)/(1+2/z+6/z^2+5/2/z^3)
>> limit(F,z,inf)
ans = 1
>> limit(F*(z-1),z,1)
ans = 0
3、求下列各函数的Z反变换。
(1):F(z)?>> f=z/(z-0.5); >> iztrans(f)
ans = (1/2)^n
z
z?0.5z2(2):F(z)?
(z?0.8)(z?0.1)>> f=z^2/((z-0.8)*(z-0.1)); >> iztrans(f)
ans =8/7*(4/5)^n-1/7*(1/10)^n
第三章 习题 P37
习题1、试求如题图3.1所示的采样控制系统在单位阶跃信号作用下的输出响应y*(t)。设G(s)=
20,采样周期T=0.1s。
s(s?10)
% 先求Z变换,再求闭环传递函数和响应,正确。 gs=tf([20],[1 10 0]); gz=c2d(gs,0.1,'imp'); gzb1=gz/(gz+1);
gzb2=feedback(gz,1); %两种方式均可 y=step(gzb1); step(gzb1,gzb2);
% 方法二,也正确。 gs=tf([20],[1 10 0]); gz=c2d(gs,0.1,'imp'); gzb2=feedback(gz,1);
rz=tf([1 0],[1 -1],0.1); %阶跃输入信号的Z变换 yz=rz*gzb2; impulse(yz)
% 先求闭环传递函数,再求Z变换和响应,错误。 gsb1=feedback(gs,1); %gsb1=gs/(gs+1);
gzb3=c2d(gsb1,0.1,'imp'); % 用冲击响应不变法,实际却是阶跃输入,错误。 gzb4=c2d(gsb1,0.1); % 用阶跃响应不变法,仍然错误。 step(gsb1, gzb2,gzb3,gzb4)
习题 2 求单位速度作用下的稳态误差 gs=tf([1],[0.1 1 0]); T=0.1;
gz=c2d(gs,T,'imp');
gzb=feedback(gz,1); % 先求Z变换,再求闭环传递函数和响应,正确 rz = tf([0.1 0],[1 -2 1],T); %单位速度信号 rz1 = zpk([0],[1 1],T,T); %效果相同 yz=rz*gzb; impulse(yz);
t=[0:0.1:10]'; %效果相同 ramp=t;
lsim(gzb,ramp,t)
[y,t1] = lsim(gzb,ramp,t); ER = ramp - y
plot(ER,t),grid %误差曲线
gs=tf([1],[0.1 1 0]); %连续情况,稳态误差为1 gsb=feedback(gs,1);
rs = tf([1],[1 0 0]); %单位速度信号 ys=rs*gsb; t1=0:0.01:10;
2015计算机控制技术作业评讲
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)