初步认识MATLAB和控制系统仿真

上传人:飞*** 文档编号:39913302 上传时间:2018-05-21 格式:DOC 页数:24 大小:1.04MB
返回 下载 相关 举报
初步认识MATLAB和控制系统仿真_第1页
第1页 / 共24页
初步认识MATLAB和控制系统仿真_第2页
第2页 / 共24页
初步认识MATLAB和控制系统仿真_第3页
第3页 / 共24页
初步认识MATLAB和控制系统仿真_第4页
第4页 / 共24页
初步认识MATLAB和控制系统仿真_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《初步认识MATLAB和控制系统仿真》由会员分享,可在线阅读,更多相关《初步认识MATLAB和控制系统仿真(24页珍藏版)》请在金锄头文库上搜索。

1、自动控制原理实验报告自动控制原理实验报告实验题目:初步认识 MATLAB 和控制系统仿真院系:电气信息学院班级:姓名:学号:日期:实验一实验一 初步认识初步认识 MATLABMATLAB 和控制系统仿真和控制系统仿真一、实验目的实验目的(1)了解并掌握 MATLAB 仿真软件的使用方法; (2)掌握控制系统数学模型的多种描述方法及其仿真实现和互相转换; (3) 熟悉控制系统仿真常用的 MATLAB 函数。二、实验设备实验设备(1)硬件:个人计算机;(2)软件:MATLAB 仿真软件(版本 6.5 或以上)。三、实验内容和步骤实验内容和步骤 1.1.质量质量- -弹簧弹簧- -阻尼器系统的零输入

2、响应阻尼器系统的零输入响应运动方程零输入响应 理论分析:质量-弹簧-阻尼器系统是一个典型的二阶系统,因为,0)(limtyt所以的稳态值为 0,即。其传递函数为:,化成首一标)(ty0)(ykbsMss21)(准型为:,故,且当不变时 Mk MbM sss21)(Mb n2Mk nn越小,响应曲线衰减越慢。Mb n2修改并运行程序 lab1_1.m 以求取下列情形的零输入响应曲线并存盘:(1) 理论分析:因为,所以为欠阻尼系统,响应曲线有振荡。经过一段101Mb时间衰减后衰减到零。编写程序如下: y0=0.15;wn=sqrt(2);zeta=1/(2*sqrt(2);t=0:0.1:10;c

3、=y0/(sqrt(1-zeta2);y=c*exp(-zeta*wn*t).*sin(wn*sqrt(1-zeta2)*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)曲线如下图:012345678910-0.2-0.15-0.1-0.0500.050.10.150.2Time (sec)y(t) (meters)n=1.4142

4、 =0.35355经改动并检验正确的程序为:y0=0.15; wn=sqrt(2); zeta=1/(2*sqrt(2); t=0:0.1:10; s1=-wn*(zeta+sqrt(zeta2-1); s2=-wn*(zeta-sqrt(zeta2-1); k1=(1-zeta/sqrt(zeta2-1)/2; k2=(1+zeta/sqrt(zeta2-1)/2; y=y0*(k1*exp(s1*t)+k2*exp(s2*t); plot(t,y),grid xlabel(Time (sec),ylabel(y(t) (meters) legend(omega_n=,num2str(wn)

5、, zeta=,num2str(zeta)该情形下的零输入响应曲线为:012345678910-0.0500.050.10.15Time (sec)y(t) (meters)n=1.4142 =0.35355对比证明,实验结果与理论分析得到的结果一致,不过由于程序有些许的改动,导致图像有一些变化。(2)理论分析:因为,处于临界阻尼状态,没有振荡,信号逐渐衰减到122Mb0。编写程序如下: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) (me

6、ters)legend(omega_n=,num2str(wn), zeta=,num2str(zeta)其响应曲线如下图:01234567891000.020.040.060.080.10.120.140.16Time (sec)y(t) (meters)n=1.4142 =1经运行验证该理论猜想与实验结果相符,证明实验结果正确。(3) 理论分析:因为,为过阻尼状态,没有振荡,信号逐渐衰减到 0。12 4Mb编写程序如下: y0=0.15;wn=sqrt(2);zeta=sqrt(2);t=0:0.1:10;s1=-wn*(zeta+sqrt(zeta2-1);s2=-wn*(zeta-sq

7、rt(zeta2-1);k1=(1-zeta/sqrt(zeta2-1)/2;k2=(1+zeta/sqrt(zeta2-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)响应曲线如下图:01234567891000.020.040.060.080.10.120.140.16Time (sec)y(t) (meters)n=1.4142 =1.4142经运行检验实验结果与理

8、论猜想相符,证明实验结果正确。2.系统传递函数的 MATLAB 实现及零极点分布 (1)多项式的表示及求值:系数按降幂顺序构成行向量;求值函数 ployval;多项式的表示: p=1 3 0 4;降幂顺序排列构成行向量求值函数ployval: p=3 2 1;value=polyval(p,-5)输出结果为: value=66(2)多项式的根:由函数 roots 求得;函数 ploy(roots()的功能;函数roots: p=1 3 0 4;r=roots(p)输出结果为:r =-3.3553 + 0.0000i0.1777 + 1.0773i0.1777 - 1.0773i继续输入: p=

9、poly(r)输出结果为:p =1.0000 3.0000 -0.0000 4.0000结论得出函数 ploy(roots()的功能为:将原来多项式转变为字符型多项 式输出。(3)多项式的积:由函数 conv 实现;输入:p=3 2 1; q=1 4;n=conv(p,q)输出:n =3 14 9 4(4)系统传递函数:由函数tf实现;输入:num1=10; den1=1 2 5;sys1=tf(num1,den1)输出:sys1 =10-s2 + 2 s + 5(5)传递函数的零极点表示:函数pole,zero和pzmap的运用。输入:sys=tf(1 10,1 2 1);p=pole(sy

10、s)输出:p =-1-1继续输入:z=zero(sys)输出:z =-10继续输入:pzmap(sys)输出:Pole-Zero MapReal Axis (seconds-1)Imaginary Axis (seconds-1)-10-9-8-7-6-5-4-3-2-10-1-0.8-0.6-0.4-0.200.20.40.60.81System: sys Zero : -10 Damping: 1 Overshoot (%): 0 Frequency (rad/s): 10System: sys Pole : -1 Damping: 1 Overshoot (%): 0 Frequency

11、 (rad/s): 1运行程序 lab1_2.mlab1_6.m,并写(指)出各段程序中的多项式、传递函数和零极点。(1)运行程序 lab1_2.m 为:p=1 3 0 4;r=roots(p)p=poly(r)r =-3.3553 + 0.0000i0.1777 + 1.0773i0.1777 - 1.0773ip =1.0000 3.0000 -0.0000 4.0000这段程序主要展现了 roots 和 poly 的用法,roots 指的是多项式的零值,ploy 指的是字符型多项式,而 p=1 3 0 4是多项式。(2)运行程序 lab1_3.m 为:p=3 2 1; q=1 4;n=c

12、onv(p,q)value=polyval(n,-5)n =3 14 9 4value =-66这段程序主要表现的是求积函数 conv 和求值函数 polyval 的用法,而 p=3 2 1,q=1 4是这段程序中的多项式。(3)运行程序 lam1_4.m 为:num1=10; den1=1 2 5;sys1=tf(num1,den1)num2=1; den2=1 1;sys2=tf(num2,den2)sys=sys1+sys2sys1 =10-s2 + 2 s + 5Continuous-time transfer function.sys2 =1-s + 1Continuous-time

13、 transfer function.sys =s2 + 12 s + 15-s3 + 3 s2 + 7 s + 5Continuous-time transfer function.这段程序中,tf 是传递函数,即传递函数为 tf(num1,den1)和 tf(num2,den2);num1=10,den1=1 2 5,num2=1,den2=1 1为多项式。(4)运行程序 lam1_5.m 为:sys=tf(1 10,1 2 1)p=pole(sys)z=zero(sys)sys =s + 10-s2 + 2 s + 1Continuous-time transfer function.p

14、 =-1-1z =-10这段程序中,1 10,1 2 1是多项式,tf(1 10,1 2 1)是传递函数,pole(sys)是函数的极点,zero(sys)是函数的零点。(5)运行程序 lab1_6.m 为:numg=6 0 1; deng=1 3 3 1; sysg=tf(numg,deng);z=zero(sysg)p=pole(sysg)n1=1 1; n2=1 2; d1=1 2*i; d2=1 -2*i; d3=1 3;numh=conv(n1,n2); denh=conv(d1,conv(d2,d3);sysh=tf(numh,denh)sys=sysg/syshpzmap(sys

15、)z =0.0000 + 0.4082i0.0000 - 0.4082ip =-1.0000 + 0.0000i-1.0000 + 0.0000i-1.0000 - 0.0000isysh =s2 + 3 s + 2-s3 + 3 s2 + 4 s + 12Continuous-time transfer function.sys =6 s5 + 18 s4 + 25 s3 + 75 s2 + 4 s + 12-s5 + 6 s4 + 14 s3 + 16 s2 + 9 s + 2Continuous-time transfer function.这段程序中,numg=6 0 1; deng=1 3 3 1,n1=1 1; n2=1 2; d1=1 2*i; d2=1 -2*i; d3=1 3是多项式,sysg=tf(n

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号