实验报告 基于Matlab的计算机控制技术仿真实验
重 庆 交 通 大 学学 生 实 验 报 告
实验课程名称 计算机控制实验 开课实验室 交通装备与制造工程实训中心 学院 机电与汽车工程学院 年级 2012专业班 二班 学 生 姓 名 朱 瑞 学 号 631224030230 开 课 时 间 2014 至 2015 学年第 二 学期 总 成 绩 教师签名 批改日期 2015年 6 月
实验项目 实验时间 基于Matlab的计算机控制技术仿真实验 2015年6月 实验地点 实验性质 90304 ?验证性 ?设计性 ?综合性 教师评价: 评价教师签名: 一:实验目的 1.熟悉Matlab的使用环境,学习Matlab软件的使用方法与编程方法。 2.学习使用Matlab进行各类数学变换运算的方法。 3.学习使用Matlab建立控制系统模型的方法。 1
实验报告 基于Matlab的计算机控制技术仿真实验
二:实验主要内容及过程 第二章 习题 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 - exp(-T*a)) >> simple(FZ) ans = z/(z - 1) - z/(z - exp(-T*a)) >> pretty(FZ) z z ----- - ------------- z - 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)?k6 s(s?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) (4)F(s)?s?2 (s?1)(s?3) 2
实验报告 基于Matlab的计算机控制技术仿真实验
>> syms s n T >> ft = ilaplace( (s+2)/((s+1)*(s+3)) ) ft = exp(-t)/2 + exp(-3*t)/2 >> FZ=(ztrans(1/(2*exp(n*T))+1/(2*exp(3*n*T)))) FZ = z/(2*(z - exp(-T))) + z/(2*(z - exp(-3*T))) >> pretty(FZ) z z --------------- + ----------------- 2 (z - exp(-T)) 2 (z - exp(-3 T)) 3、求下列各函数的Z反变换。 (1):F(z)?z z?0.5>> f=z/(z-0、5); >> iztrans(f) ans = (1/2)^n z2(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 第三章 习题 P56 1、试求如题图3、1所示的采样控制系统在单位阶跃信号作用下的输出响应y*(t)。 设G(s)=20,采样周期T=0、1s。 s(s?10) >> 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) 3
实验报告 基于Matlab的计算机控制技术仿真实验
2 试求如题图3、1所示的控制系统在单位速度作用下的稳态误差 设G(s)=1,采样周期T=0、1s。 s(0.1s?1) >> 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); 4
实验报告 基于Matlab的计算机控制技术仿真实验
>> t=[0:0、1:10]'; %效果相同 >> ramp=t; >> lsim(gzb,ramp,t) 5