资源描述:
《初步认识matlab和控制系统仿真》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、自动控制原理实验报告 实验题目:初步认识MATLAB和控制系统仿真 院系:电气信息学院 班级: 姓名: 学号: 日期:实验一初步认识MATLAB和控制系统仿真一、实验目的(1)了解并掌握MATLAB仿真软件的使用方法;(2)掌握控制系统数学模型的多种描述方法及其仿真实现和互相转换;(3)熟悉控制系统仿真常用的MATLAB函数。二、实验设备(1)硬件:个人计算机;(2)软件:MATLAB仿真软件(版本6.5或以上)。三、实验内容和步骤1.质量-弹簧-阻尼器系统的零输入响应运动方程零输入响应理论分析
2、:质量--弹簧--阻尼器系统是一个典型的二阶系统,因为,所以的稳态值为0,即。其传递函数为:,化成首一标准型为:,故,且当不变时越小,响应曲线衰减越慢。修改并运行程序lab1_1.m以求取下列情形的零输入响应曲线并存盘:(1)理论分析:因为,所以为欠阻尼系统,响应曲线有振荡。经过一段时间衰减后衰减到零。编写程序如下:y0=0.15;wn=sqrt(2);zeta=1/(2*sqrt(2));t=[0:0.1:10];c=y0/(sqrt(1-zeta^2));y=c*exp(-zeta*wn*t).*sin(wn*sqrt(
3、1-zeta^2)*t+acos(zeta));bu=c*exp(-zeta*wn*t);bl=-bu;plot(t,y,t,bu,'k--',t,bl,'k--'),gridxlabel('Time(sec)'),ylabel('y(t)(meters)')legend(['omega_n=',num2str(wn),'zeta=',num2str(zeta)])曲线如下图:经改动并检验正确的程序为:y0=0.15;wn=sqrt(2);zeta=1/(2*sqrt(2));t=[0:0.1:10];s1=-wn*(z
4、eta+sqrt(zeta^2-1));s2=-wn*(zeta-sqrt(zeta^2-1));k1=(1-zeta/sqrt(zeta^2-1))/2;k2=(1+zeta/sqrt(zeta^2-1))/2;y=y0*(k1*exp(s1*t)+k2*exp(s2*t));plot(t,y),gridxlabel('Time(sec)'),ylabel('y(t)(meters)')legend(['omega_n=',num2str(wn),'zeta=',num2str(zeta)])该情形下的零输入响应曲线为
5、:对比证明,实验结果与理论分析得到的结果一致,不过由于程序有些许的改动,导致图像有一些变化。(2)理论分析:因为,处于临界阻尼状态,没有振荡,信号逐渐衰减到0。编写程序如下:y0=0.15;wn=sqrt(2);zeta=1;t=[0:0.1:10];y=y0*(exp(-wn*t)+wn*t.*exp(-wn*t));xlabel('Time(sec)'),ylabel('y(t)(meters)')legend(['omega_n=',num2str(wn),'zeta=',num2str(zeta)])其响应曲线如
6、下图:经运行验证该理论猜想与实验结果相符,证明实验结果正确。(3)理论分析:因为,为过阻尼状态,没有振荡,信号逐渐衰减到0。编写程序如下:y0=0.15;wn=sqrt(2);zeta=sqrt(2);t=[0:0.1:10];s1=-wn*(zeta+sqrt(zeta^2-1));s2=-wn*(zeta-sqrt(zeta^2-1));k1=(1-zeta/sqrt(zeta^2-1))/2;k2=(1+zeta/sqrt(zeta^2-1))/2;y=y0*(k1*exp(s1*t)+k2*exp(s2*t));pl
7、ot(t,y),gridxlabel('Time(sec)'),ylabel('y(t)(meters)')legend(['omega_n=',num2str(wn),'zeta=',num2str(zeta)])响应曲线如下图:经运行检验实验结果与理论猜想相符,证明实验结果正确。2.系统传递函数的MATLAB实现及零极点分布(1)多项式的表示及求值:系数按降幂顺序构成行向量;求值函数ployval;多项式的表示:p=[1304];降幂顺序排列构成行向量求值函数ployval:p=[321];value=polyval
8、(p,-5)输出结果为:value=66(2)多项式的根:由函数roots求得;函数ploy(roots())的功能;函数roots:p=[1304];r=roots(p)输出结果为:r=-3.3553+0.0000i0.1777+1.0773i0.1777-1.0773i继续输入:p=p