《机电系统动态仿真》实验指导书(1)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一MATLAB基本操作
一、实验目的:
①通过上机实验操作,使学生熟悉MATLAB实验环境,练习MATLAB命令、m文件,进行矩阵运算、图形绘制、数据处理。
②通过上机操作,使得学生掌握Matlab变量的定义和特殊变量的含义,理解矩阵运算和数组运算的定义和规则。
③通过上机操作,使得学生掌握数据和函数的可视化,以及二维曲线、三维曲线、三维曲面的各种绘图指令。
二、实验原理与说明
Matlab是Matrix 和Laboratory两词的缩写,是美国Mathworks公司推出的用于科学计算和图形处理的可编程软件,经历了基于DOS版和Windows版两个发展阶段。
三、实验设备与仪器:
PC电脑,Matlab7.0仿真软件
四、实验内容、方法与步骤:
数组运算与矩阵运算
数组“除、乘方、转置”运算符前的“.”决不能省略,否则将按矩阵运算规则进行运算;执行数组与数组之间的运算时,参与运算的数组必须同维,运算所得的结果也与参与运算的数组同维。
A=[ 1 2 3; 4 5 6; 7 8 9];
B=[-1 -2 -3;-4 -5 -6;-7 -8 -9];
X=A.*B
Y=A*B
plot用于二维曲线绘图,若格式为
plot(X,Y,’s’),其中X为列向量,Y是与X等行的矩阵时,以X 为横坐标,按Y的列数绘制多条曲线;
若X为矩阵,Y是向量时,以Y为纵坐标按X的列数(或行数)绘
制多条曲线。
参考程序如下:
t=(0:pi/100:pi)'
y1=sin(t)*[-1 1];
y2=sin(t).*sin(9*t);
plot(t,y1, 'r:', t, y2, 'b-.')
axis([0 pi, -1, 1])
title('Drawn by Dong-yuan GE')
程序运行界面如下:
plot3用于三维曲线绘制,其使用格式与plot十分相似。参考程序如下:
t=0:0.02:2*pi;
x=sin(t);
y=cos(t);
z=cos(2*t);
plot3(x,y,z,'b-', x,y,z,'o')
程序运行界面如下:
mesh与surf用于三维空间网线与曲面的绘制。基本指令为mesh(X,Y,Z);
surf(X,Y,Z);
参考程序如下:
clf
[x,y]=meshgrid(-3:0.1:3, -2:0.1:2);
z=(x.^2-1.4*x).*exp(-x.^2-y.^2+x.*y);
surf(x,y,z),
axis([-3,3,-2,2,-0.5,1])
title('shading faceted'), shading faceted
%mesh(x, y, z)
程序运行界面如下:
实验二 经典控制系统分析
一、实验目的:
对控制系统进行时域、频域分析 二、实验原理与说明
三、实验设备与仪器:
PC 电脑,Matlab7.0仿真软件。
四、实验内容、方法与步骤: 1、实验内容:
已知系统传递函数为)564/()1(10)(23++++=s s s s s G ,求最大超调量,调整时间和峰值时间。
控制系统的稳态性能用系统的稳态误差表示,它是系统控制精度的度量。
如图2.1所示,系统的开环传递函数为:)()(s H s G ,在不考虑干扰的影响时,可得系统的稳态偏差为
)()()(11
lim ))(lim 0
s X s H s G s
s sE e s s ss +==→→,可得系统的稳态误差为
)
()()()(11
lim ))(lim 0
s H s X s H s G s
s sE s s ss +==→→ε
当系统的输入分别为单位阶跃信号、单位斜坡信号、单位加速度信号时,可得系统的静态位置误差系数Kp 、静态速度误差系数Kv 、静态加速度误差系数Ka 分别为:
图2.1 控制系统方框图
)()(lim 0
s H s G K s p →=
)()(lim 0
s H s sG K s v →=
)()(lim 20
s H s G s K s a →=
则控制系统的稳态偏差分别为:
p
ss K e +=
111,v ss K e 12=
,a
ss K e 13=。 若控制系统为单位反馈系统,则稳态误差等于稳态偏差,若不为单位反馈系统,则
)
(1
lim 0
s H e ss
s ss →=ε。 已知单位负反馈系统的开环传递函数为)
5)(1(10
)(++=s s s s G ,求其单位斜
坡输入时,系统的稳态误差。 GK=zpk([], [0 -1 -5],10); XI=zpk([], [ 0 0], 1); sys=1/(1+GK); Es=sys*XI
ess=dcgain(tf ([ 1 0], [1])*Es) t=0:0.05:10; xi=t;
y=lsim(sys*GK, xi,t); plot(t, xi, 'r-.', t, y, t, xi-y','k:') xlabel('t(s)') ylabel('幅值、差值') legend('输入','输出','误差',0)
title('Static Error Developed by Dong-yuan GE ')