课程设计-基于Matlab的控制系统模型 联系客服

发布时间 : 星期日 文章课程设计-基于Matlab的控制系统模型更新完毕开始阅读1f8aac115727a5e9856a61f1

计算机控制系统 仿真实验

实验一 基于Matlab的控制系统模型

一、 实验目的

1. 熟悉Matlab的使用环境,学习Matlab软件的使用方法和编程方法 2. 学习使用Matlab进行各类数学变换运算的方法 3. 学习使用Matlab建立控制系统模型的方法

二、 实验器材

x86系列兼容型计算机,Matlab软件

三、 实验原理

1. 香农采样定理

对一个具有有限频谱的连续信号f(t)进行连续采样,当采样频率满足?S?2?max时,采样信号f*(t)能无失真的复现原连续信号。 作信号f(t)?5e?10t和f(t)?5e*?10kT的曲线,比较采样前后的差异。 幅度曲线: T=0.05 t=0:T:0.5 f=5*exp(-10*t) subplot(2,1,1) plot(t,f) grid subplot(2,1,2) stem(t,f) grid 请改变采样周期T,观察不同的采样周期下的采样效果。 2. 拉式变换和Z变换

使用Matlab求函数的拉氏变换和Z变换 拉式变换: syms a w t f1=exp(-a*t) laplace(f1) f2=t laplace(f2) f3=t* exp(-a*t) laplace(f3) f4=sin(w*t) 幅频曲线: w=-50:1:50 F=5./sqrt(100+w.^2) plot(w,F) grid 若|F(j?max)|?0.1|F(0)|,选择合理的采样周期T并验加以证 w=-400:20:400 ws=200 Ts=2*pi/ws F0=5/Ts*(1./sqrt(100+(w).^2)) F1=5/Ts*(1./sqrt(100+(w-ws).^2)) F2=5/Ts*(1./sqrt(100+(w+ws).^2)) plot(w,F0,w,F1,w,F2) grid 请改变采样频率ws,观察何时出现频谱混叠? Z变换: syms a k T f1=exp(-a*k*T) ztrans(f1) f2=k*T ztrans(f2) f3=k*T*exp(-a*k*T) ztrans(f3) f4=sin(a*k*T) 第1页 共12页

计算机控制系统 仿真实验

laplace(f4) f5=exp(-a*t)*cos(w*t) laplace(f5) 反拉式变换 syms s a f1=1/s ilaplace(f1) f2=1/(s+a) ilaplace(f2) f3=1/s^2 ilaplace(f3) f4=w/(s^2+w^2) ilaplace(f4) f5=1/(s*(s+2)^2*(s+3)) ilaplace(f5)

3. 控制系统模型的建立与转化

ztrans(f4) f5=a^k ztrans(f5) 反Z变换 syms z a T f1=z/(z-1) iztrans(f1) f2=z/(z-exp(-a*T)) iztrans(f2) f3=T*z/(z-1)^2 iztrans(f3) f4=z/(z-a) iztrans(f4) f5=z/((z+2)^2*(z+3)) iztrans(f5) numb1sm?b2sm?1???bm?传递函数模型:num=[b1,b2,…bm],den=[a1,a2,…an],G(s)? dena1sn?a2sn?1???bn零极点增益模型:z=[z1,z2,……zm],p=[p1,p2……pn],k=[k],G(s)?k建立系统模型和(s?z1)(s?z2)?(s?zm)

(s?p1)(s?p2)?(s?pn)s(s?1)s2?sG(s)??(s?2)(s?3)s2?5s?6z(z?1)z2?zG(z)??2 (z?2)(z?3)z?5z?6传递函数模型: num=[1,1,0] den=[1,5,6] T=0.1 Gs1=tf(num,den) Gz1=tf(num,den,T) 零极点增益模型: z=[0,-1] p=[-2,-3] k=[1] T=0.1 Gs2=zpk(z,p,k) Gz2=zpk(z,p,k,T) 传递函数模型和零极点增益模型相互转化 传递函数模型转化零极点增益模型: num=[1,1,0] den=[1,5,6] T=0.1 Gs1=tf(num,den) Gz1=tf(num,den,T) [z,p,k]=tf2zp(num,den) Gs2=zpk(z,p,k) Gz2=zpk(z,p,k,T) 零极点增益模型转化传递函数模型: z=[0,-1] p=[-2,-3] k=[2] T=0.1 Gs1=zpk(z,p,k) Gz1=zpk(z,p,k,T) [num,den]=zp2tf(z',p',k) Gs2=tf(num,den) Gz2=tf(num,den,T) 第2页 共12页

计算机控制系统 仿真实验

(s?1)(s2?2s?2)(z?1)(z2?2z?2)建立系统模型G(s)?2和G(z)?2 22(s?2)(s?4s?8)(z?2)(z?4z?8)num1=[1,1] num2=[1,2,2] den1=[1,0,2] den2=[1,4,8] num=conv(num1,num2) den=conv(den1,den2) T=0.1 Gs1=tf(num,den) Gz1=tf(num,den,T) [z,p,k]=tf2zp(num,den) Gs2=zpk(z,p,k) Gz2=zpk(z,p,k,T) 四、 实验步骤

1. 根据参考程序,验证采样定理、拉氏变换和Z变换、控制系统模型建立的方法 2. 观察记录输出的结果,与理论计算结果相比较

3. 自行选则相应的参数,熟悉上述的各指令的运用方法

五、 实验数据及结果分析

记录输出的数据和图表并分析

六、 总结

第3页 共12页

计算机控制系统 仿真实验

实验二 基于Matlab的控制系统仿真

一、 实验目的

1. 学习使用Matlab的命令对控制系统进行仿真的方法

2. 学习使用Matlab中的Simulink工具箱进行系统仿真的方法

二、 实验器材

x86系列兼容型计算机,Matlab软件

三、 实验原理

1. 控制系统命令行仿真

R(s)+R(z)3/sC(s)C(z)-1建立如图所示一阶系统控制模型并进行系统仿真。一阶系统闭环传递函数为 G(s)?3/s3,转换为离散系统脉冲传?1?3/ss?3递函数并仿真。 %模型建立 num=[3] %传递函数分子 den=[1,3] %传递函数分母 T=0.1 %采样周期 gs=tf(num,den) %传递函数模型建立 gz=c2d(gs,T,'zoh') %转化为离散系统脉冲传递函数模型 %'zoh' 零阶保持器变换 %'foh' 三角变换(一阶保持器) %'tustin' 双线性变换 %'prewarp' 带频率预畸的双线性变换 %'matched' 零极点匹配变换 %模型特性 [z,p,k]=tf2zp(num,den) %求零极点 pzmap(gs) %零极点图 grid pzmap(gz) %零极点图 grid rlocus(gs) %根轨迹图 grid rlocus(gz) %根轨迹图 grid %时间响应 impulse(gs) %单位脉冲响应 impulse(gz) %离散单位脉冲响应 step(gs) %单位阶跃响应 step(gz) %离散单位阶跃响应 %频率响应 freqs(num,den) %频率响应 freqz(num,den) %频率响应 close bode(gs) %波特图 bode(gz) %波特图 nyquist(gs) %奈奎斯特曲线 nyquist(gz) %奈奎斯特曲线 nichols(gs) %尼科尔斯曲线 nichols(gz) %尼科尔斯曲线 第4页 共12页