MATLAB控制系统仿真
1
可编辑ppt
提纲
一、弹簧-重物-阻尼器系统
二、传递函数
三、结构图模型
2
可编辑ppt
引言
MATLAB是一套高性能的数值计算和可视化软件,它集数值分析、矩阵运算和图形显示于一体,构成了一个方便的界面友好的用户环境。
控制系统的分析与设计方法,都是以数学模型为基础进行的。MATLAB可以用于以传递函数形式描述的控制系统。
在本节中,首先举例说明如何使用MATLAB进行辅助分析。然后讨论传递函数和结构图。
3
可编辑ppt
一、弹簧-重物-阻尼器系统
弹簧—重物—阻尼器动力学系统如图2-1所示。重物M的位
移由y(t)表示,用微分方程描述如下:
该系统在初始位移作用下的瞬态响应为:
其中q =cos-1z ,初始位移是y(0)。
系统的瞬态响应当z<1时为欠阻尼,当z>1时为过阻尼,
当z=1时为临界阻尼。
4
可编辑ppt
过阻尼情况:y(0)= m wn= (弧度/秒)
( )
欠阻尼情况:y(0)= m wn= (弧度/秒)
( )
利用MATLAB程序—,可以显示初始位移为y(0)
的物体自由运动曲线,如图2-63所示。
,变量y(0),wn,t,z 1和z 2的值由指令
直接输入工作区,
线。
5
可编辑ppt
>>y0=;wn=sqrt(2);
>>zeta1=3/(2*sqrt(2)); zeta2=1/(2*sqrt(2));
>>t=[0::10];
>>unforced
(a)MATLAB指令窗口
6
可编辑ppt
* 计算系统在给定初始条件下的自由运动
t1=acos(zeta1)*ones(1,length(t));
t2=acos(zeta2)*ones(1,length(t));
c1=(y0/sqrt(1-zeta1^2)); c2=(y0/sqrt(1-zeta2^2));
y1=c1*exp(-zeta1*wn*t)sin(wn*sqrt(1-zeta1^2)*t+t1);
y2=c2*exp(-zeta2*wn*t)sin(wn*sqrt(1-zeta2^2)*t+t2);
* 计算运动曲线的包络线
bu=c2*exp(-zeta2*wn*t);bl=-bu;
* 画图
plot(t,y1, ‘-’,t,y2,‘-’,t,bu, ‘--’,bl, ‘--’),grid
xlabel(‘Time[sec]’), ylabel(‘y(t) Displacement[m]’)
text(,,[‘oeverdamped zeta1=’,num2str(zeta1),] )
text(,,[‘underdamped zeta2=’,num2str(zeta2),] )
(b)分析弹簧—重物—
图2-63 分析弹簧—重物—阻尼器的MATLAB指令
7
可编辑ppt
图2-64 弹簧—重物—阻尼器的自由运动曲线
在欠阻尼和过阻尼情况下的响应曲线如图2-64所示 :
MATLAB可分析以传递函数形式描述的系统。分子多项式和
分母多项式都必须在MATLAB指令中指定。
8
可编辑ppt
在MATLAB中多项式由行向量组成,这些行向量包含了降次
排列的多项式系数。例如多项式p(s)=1s3+3s2+0s1+4s0,按图2-65
的格式输入p=[1 3 0 4],
>>p=[1 3 0 4];
>>r=roots(p)
r=
-+00
-01++00j
-01-+00j
>>p=poly(r)
p=
- +
图2-65 输入多项式并求根
9
可编辑ppt
矩阵乘法由MATLAB的conv()函数完成。把两个多项式相乘
合并成一个多项式n(s),即:
MATLAB控制系统仿真 来自淘豆网www.taodocs.com转载请标明出处.