MATLAB控制系统仿真试验报告_第1页
MATLAB控制系统仿真试验报告_第2页
MATLAB控制系统仿真试验报告_第3页
MATLAB控制系统仿真试验报告_第4页
MATLAB控制系统仿真试验报告_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本文格式为Word版,下载可任意编辑——MATLAB控制系统仿真试验报告

清华大学自动化工程学院

试验报告

课程:控制系统仿真

专业自动化班级122姓名学号

指导教师:

时间:2023年10月19日—10月28日

目录

试验一MATLAB环境的熟悉与基本运算???????????????????1试验二MATLAB语言的程序设计??????????????????????6试验三MATLAB的图形绘制????????????????????????9试验四采用SIMULINK的系统仿真????????????????????14试验五控制系统的频域与时域分析?????????????????????17试验六控制系统PID校正器设计法?????????????????????23

试验一MATLAB环境的熟悉与基本运算

一、试验时间及地点:

试验时间:2023.10.19上午8:30—9:30试验地点:计算中心

二、试验目的:

1.熟悉MATLAB开发环境

2.把握矩阵、变量、表达式的各种基本运算

三、试验内容:

1、新建一个文件夹(自己的名字命名,在机器的最终一个盘符)2、启动MATLAB6.5,将该文件夹添加到MATLAB路径管理器中。3、保存,关闭对话框

4、学习使用help命令,例如在命令窗口输入helpeye,然后根据帮助说明,学习使用指令

eye(其它不会用的指令,依照此方法类推)

5、学习使用clc、clear,观测commandwindow、commandhistory和workspace等窗口的变

化结果。

6、初步程序的编写练习,新建M-file,保存(自己设定文件名,例如exerc1、exerc2、

exerc3??),学习使用MATLAB的基本运算符、数组寻访指令、标准数组生成函数和数组操作函数。

注意:每一次M-file的修改后,都要存盘。

练习A:

(1)helprand,然后随机生成一个2×6的数组,观测commandwindow、command

history和workspace等窗口的变化结果

(2)学习使用clc、clear,了解其功能和作用

(3)输入一个2维数值数组,体会标点符号的作用(空格和逗号的作用)。

(4)一维数组的创立和寻访,创立一个一维数组(1×8)X,查询X数组的第2个

元素,查询X数组的第3个元素到第6个元素,查询X数组的第5个元素到最终一个元素,查询X数组的第3、2、1个元素,查询X数组中≤5元素,将X数组的第2个元素重新赋值为111,实例expm1。

(5)二维数组的创立和寻访,创立一个二维数组(4×8)A,查询数组A第2行、

第3列的元素,查询数组A第2行的所有元素,查询数组A第6列的所有元素,查询数组A按列拉长形成新的数组B(1×8),查询数组A按行拉长形成新的数组C(1×8),以全元素赋值的方式对数组A赋值。

(6)两种运算指令形式和实质内涵的比较。设有3个二维数组A2×4,B2×4,C2×2,

写出所有由2个数组参与的合法的数组运算和矩阵指令

(7)学习使用表8列的常用函数(通过help方法)(8)学习使用表9数组操作函数

(9)学习字符串的创立,a='Thisisanexample.'

1

串数组的大小size(a)

串数组的元素标识a14=a(1:4)对字符串ASCLL码的数组操作

ra=a(end:-1:1)

w=find(a>='a'

ascii_a(w)=ascii_a(w)-32;%英文大小写字母ASCLL值差32(小-32=大)char(ascii_a)练习B

(10)创立符号对象与函数命令sym()、syms()与class()的熟悉和运用。有符

号表达式:

e1?acx2y?apx2?bcxy?bpx?cky?kp,e2?cy?p

试计算e1e2??与e1\\e2??

四、试验操作过程(试验说明)

>>helprand%用help指令学习rand的用法

rand-Uniformlydistributedpseudorandomnumbers

ThisMATLABfunctionreturnsapseudorandomscalardrawnfromthestandarduniformdistributionontheopeninterval(0,1).

r=randr=rand(n)r=rand(sz1,...,szN)r=rand(sz)r=rand(classname)r=rand(n,classname)r=rand(sz1,...,szN,classname)r=rand(sz,classname)r=rand('like',p)r=rand(n,'like',p)r=rand(sz1,...,szN,'like',p)r=rand(sz,'like',p)

>>rand(2,6)%随机生成一个2×6的数组

2

ans=

0.81470.12700.63240.27850.95750.1576

0.90580.91340.09750.54690.96490.9706>>clear%清除命令窗口>>[12;34]%输入一个二维数组

ans=1234

>>[1,2;3,4]%将空格改为逗号效果一致

ans=1234>>a=[1234;5678];

>>b=a(2:2,3:4)%逗号前面是行,后面是列,冒号前后的数表示所选范围

b=

78

>>eye(3)%产生单位矩阵

ans=

100010001

>>magic(3)%产生魔方矩阵

ans=

3

试验三MATLAB的图形绘制

一、试验时间及地点:

试验时间:2023.10.21上午8:30—9:30试验地点:黄岛老校区计算中心

二、试验目的:

1、学习MATLAB图形绘制的基本方法;

2、熟悉和了解MATLAB图形绘制程序编辑的基本指令;

3、熟悉把握利用MATLAB图形编辑窗口编辑和修改图形界面,并添加图形的各种标注;4、把握plot、subplot的指令格式和语法。

三、试验内容:练习A

二维曲线绘图基本指令演示。t=(0:pi/50:2*pi)';k=0.4:0.1:1;Y=cos(t)*k;plot(t,Y)

10.80.60.40.20-0.2-0.4-0.6-0.8-101234567plot指令基本操作演示

用图形表示连续调制波形y?sin(t)sin(9t)及其包络线。t=(0:pi/100:pi)';y1=sin(t)*[1,-1];y2=sin(t).*sin(9*t);t3=pi*(0:9)/9;

y3=sin(t3).*sin(9*t3);plot(t,y1,'r:',t,y2,'b',t3,y3,'bo')axis([0,pi,-1,1])

9

10.80.60.40.20-0.2-0.4-0.6-0.8-100.511.522.53

通过绘制二阶系统阶跃响应,综合演示图形标识。本例比较综合,涉及的指令较广。请耐心读、实际做、再看例后说明,定会有匪浅收益。clf;t=6*pi*(0:100)/100;y=1-exp(-0.3*t).*cos(0.7*t);tt=t(find(abs(y-1)>0.05));ts=max(tt);plot(t,y,'r-','LineWidth',3)axis([-inf,6*pi,0.6,inf])set(gca,'Xtick',[2*pi,4*pi,6*pi],'Ytick',[0.95,1,1.05,max(y)])gridontitle('\\ity=1-e^{-\\alphat}cos{\\omegat}')text(13.5,1.2,'\\fontsize{12}{\\alpha}=0.3')text(13.5,1.1,'\\fontsize{12}{\\omega}=0.7')holdon;plot(ts,0.95,'bo','MarkerSize',10);holdoffcell_string{1}='\\fontsize{12}\%uparrow';cell_string{2}='\\fontsize{16}\\fontname{隶书}镇静时间';cell_string{3}='\\fontsize{6}';cell_string{4}=['\\fontsize{14}\\rmt_{s}='num2str(ts)];text(ts,0.85,cell_string)xlabel('\\fontsize{14}\\bft\\rightarrow')ylabel('\\fontsize{14}\\bfy\\rightarrow')

y=1-e-atcoswt1.2843a=0.3w=0.71.051y?0.95-?ò?¨?±?ts=9.61336.283212.566418.8496t?二阶阶跃响应图的标识

四、试验操作过程(试验说明)

10

1.二维曲线绘图基本指令演示:

>>t=(0:pi/50:2*pi)';k=0.4:0.1:1;Y=cos(t)*k;

plot(t,Y)

执行结果:(图3-1)

图3-1

2.用图形表示连续调制波形y?sin(t)sin(9t)及其包络线:

>>t=(0:pi/100:pi)';y1=sin(t)*[1,-1];

y2=sin(t).*sin(9*t);t3=pi*(0:9)/9;

y3=sin(t3).*sin(9*t3);plot(t,y1,'r:',t,y2,'b',t3,y3,'bo')axis([0,pi,-1,1])执行结果:(图3-2)

11

图3-2

3.通过绘制二阶系统阶跃响应,综合演示图形标识:

>>clf;t=6*pi*(0:100)/100;y=1-exp(-0.3*t).*cos(0.7*t);tt=t(find(abs(y-1)>0.05));ts=max(tt);plot(t,y,'r-','LineWidth',3)axis([-inf,6*pi,0.6,inf])

set(gca,'Xtick',[2*pi,4*pi,6*pi],'Ytick',[0.95,1,1.05,max(y)])gridon

title('\\ity=1-e^{-\\alphat}cos{\\omegat}')text(13.5,1.2,'\\fontsize{12}{\\alpha}=0.3')

text(13.5,1.1,'\\fontsize{12}{\\omega}=0.7')

holdon;plot(ts,0.95,'bo','MarkerSize',10);holdoffcell_string{1}='\\fontsize{12}\%uparrow';

cell_string{2}='\\fontsize{16}\\fontname{隶书}镇静时间';cell_string{3}='\\fontsize{6}';

cell_string{4}=['\\fontsize{14}\\rmt_{s}='num2str(ts)];text(ts,0.85,cell_string)

xlabel('\\fontsize{14}\\bft\\rightarrow')

ylabel('\\fontsize{14}\\bfy\\rightarrow')执行结果:(图3-3)

12

图3-3

五、试验结果及探讨

1,通过这次试验,我学会了MATLAB图形绘制的基本方法,把握了MATLAB图形绘制程序编辑的基本指令,而且还懂得了利用MATLAB图形编辑窗口编辑和修改图形界面,并添加图形的各种标注。2,感觉到了MATLAB的强大,而且很实用。

13

Continuous-timetransferfunction.>>>>>>>>k=1;>>num=k;>>den=[24.510];>>Gs=tf(num,den)Gs=

12s^3+4.5s^2+s

Continuous-timetransferfunction.

>>Ms=Gs/(Gs+1)Ms=2s^3+4.5s^2+s

4s^6+18s^5+24.25s^4+11s^3+5.5s^2+s

Continuous-timetransferfunction.

>>rlocus(Ms)%绘制系统闭环的根轨迹图(图5-1)19

图5-1

>>pzmap(Ms)%绘制零极点图(5-2)

图5-2>>[p,z]=pzmap(Ms)p=

20

0.0000+0.0000i-2.1254+0.0000i-2.0000+0.0000i-0.0623+0.4810i-0.0623-0.4810i-0.2500+0.0000iz=

0-2.0000-0.2500

>>[k,poles]=rlocfind(Ms)

Selectapointinthegraphicswindow

selected_point=

0.5795+0.4927ik=

4.1162poles=

0.0000+0.0000i-2.4675+0.0000i-2.0000+0.0000i0.1088+1.0124i0.1088-1.0124i-0.2500+0.0000i

21

五、试验结果及探讨

1.MATLAB通过函数tf(num,den)建立传递函数模型,通过zpk(z,p,k)建立零极点增益模型,

通过ss(A,B,C,D)建立连续系统状态空间模型;

2.MATLAB通过ss2tf(),ss2zp(),tf2ss(),tf2zp(),zp2ss(),zp2tf()等函数将传递函数模型、零

极点增益模型、状态空间模型等模型相互转换;

3.通过函数rlocus(sys)可绘制系统sys的根轨迹图,通过pzmap(sys)可绘制系统sys的零

极点图,通过[k,poles]=rlocfind(Ms)在根轨迹图上任选一点可计算出该点的增益k及所有极点的位置。

22

试验六控制系统PID校正器设计法

一、试验时间及地点:

试验时间:2023.10.28上午8:30-9:30试验地点:黄岛老校区计算中心

二、试验目的:

1、熟悉常规PID控制器的设计方法2、把握PID参数的调理规律

3、学习编写程序求系统的动态性能指标

三、试验内容:

1、在SIMULINK窗口建立如下模型2、设计PID控制器,传递函数模型如下

??1?Gc(s)?Kp?1??TD

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论