.. ..
课程设计容
1、Matlab简介
MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
2、最少拍控制系统设计
①单位加速度输入有波纹
M文件代码:
z=[-2,-6];p=[0,0,-1,-5,-8];k=668;
Gs=zpk(z,p,k) %求被控对象传递函数G(s)的MATLAB描述 T=0.1;
Gz=c2d(Gs,T)
Gz=c2d(Gs,T,'zoh') %用零阶保持器离散化,求被控对象脉冲传递函数G(z)
[z,p,k]=zpkdata(Gz); %求出G(z)的极点,零点及增益
Gz=zpk(z,p,k,0.1,'variable','z^-1') %转换Gz为零极点增益模型按z-1形式排列
syms z a0 a1 a2 b0 b1 %配置参数
Gz=0.096757*z^-1*(1+3.252*z^-1)*(1-0.8187*z^-1)*(1-0.5488*z^-1)*(1+0.2281*z^-1)/(1-z^-1)^2/(1-0.9048*z^-1)/(1-0.6065*z^-1)/(1-0.4493*z^-1)
Gcz=z^-1*(1+3.252*z^-1)*(a0+a1*z^-1+a2*z^-2);
%设置闭环脉冲传递函数Gc(z),满足Dy(z)可实现、最少拍和稳定的要求
f1=subs(Gcz,z,1)-1; %.列方程求解a0 a1 a2,定Gcz f2=subs(diff(Gcz,1),z,1); f3=subs(diff(Gcz,2),z,1);
[a0j,a1j,a2j]=solve(f1,f2,f3) ;
Gcz=subs(Gcz,[a0 a1 a2],[a0j a1j a2j]);
Gez=(1-z^-1)^3*(b0+b1*z^-1); %设置Ge(z)
f4=1-subs(Gez,z,-3.252); %6.方程求解b0,b1定Gez
. . . .