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

下载本文档

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

文档简介

1、清华大学自动化工程学院 实验报告 课程:控制系统仿真 专业 自动化班级 122 姓名学号 指导教师: 时间:2015 年10 月19 日一_10_月_28_日 目录 实验一MATLAB环境的熟悉与基本运算 1 实验二MATLAB语言的程序设计 6 实验三MATLAB的图形绘制 9 实验四采用SIMULINK的系统仿真 14 实验五控制系统的频域与时域分析 17 实验六控制系统PID校正器设计法 23 2 实验一 MATLAB境的熟悉与基本运算 一、实验时间及地点: 实验时间:上午 8:30 9:30 实验地点:计算中心 、实验目的: 1 . 熟悉MATLAB发环境 2 掌握矩阵、变量、表达式的

2、各种基本运算 三、实验内容: 1 、 新建一个文件夹(自己的名字命名,在机器的最后一个盘符) 2、启动,将该文件夹添加到 MATLAB径管理器中。 3、保存,关闭对话框 4、 学习使用help命令,例如在命令窗口输入 help eye,然后根据帮助说明,学 习使用指令eye (其它不会用的指令,依照此方法类推) 5、学习使用 clc 、 clear ,观察 commandwindow、 commandhistory 和 workspace 等窗口的变化结果。 6、初步程序的编写练习,新建 M-file ,保存(自己设定文件名,例如 exerc1 、 exerc2、exerc3 ),学习使用 M

3、ATLAB基本运算符、数组寻访指令、标准数组生 成函数和数组操作函数。 注意:每一次 M-file 的修改后,都要存盘。 练习 A: (1) help rand,然后随机生成一个 2 x 6的数组,观察 comma nd win dow command history 和 workspace 等窗口的变化结果 ( 2) 学习使用 clc 、 clear ,了解其功能和作用 ( 3) 输入一个 2 维数值数组, 体会标点符号的作用 (空格和逗号的作用) 。 (4) 一维数组的创建和寻访,创建一个一维数组( 1X 8) X,查询X数组 的第2个元素,查询X数组的第3个元素到第6个元素,查询 X数组

4、的第5个 元素到最后一个元素,查询 X数组的第3、2、1个元素,查询 X数组中w 5元 素,将X数组的第2个元素重新赋值为111,实例expm1。 (5) 二维数组的创建和寻访,创建一个二维数组(4X 8) A,查询数组 A 第2行、第3列的元素,查询数组 A第2行的所有元素,查询数组 A第6列的 所有元素,查询数组 A按列拉长形成新的数组 B(1 X 8),查询数组 A按行拉长 形成新的数组 C(1X 8),以全元素赋值的方式对数组A赋值。 (6) 两种运算指令形式和实质内涵的比较。 设有 3个二维数组 A2x4, B2x4, C2x2,写出所有由2个数组参与的合法的数组运算和矩阵指令 (

5、7) 学习使用表 8 列的常用函数(通过 help 方法) (8) 学习使用表9数组操作函数 (9) 学习字符串的创建,a=This is an example. 串数组的大小size(a) 串数组的元素标识 a14=a(1:4)ra=a(e nd:-1:1) 对字符串ASCLL码的数组操作 w=fi nd(a=a3 4 % 清除命令窗口 % 输入一个二维数组 19 ans = 1 2 3 4 1,2;3,4 % 将空格改为逗号效果一致 ans = 1 2 3 4 a=1 2 3 4;5 6 7 8; b=a(2:2,3:4)% 逗号前面是行,后面是列,冒号前后的数表示所选范围 b = 7 8

6、 eye(3)% 产生单位矩阵 ans = 100 010 magic(3) % 产生魔方矩阵 ans = 8 1 6 3 5 7 4 9 2 flipud(ans)%以数组“水平中线”为对称轴,交换上下对称位置上的元 素 ans = 4 9 2 3 5 7 8 1 6 rot90(ans)% 逆时针旋转数组 90 ans = 2 7 6 9 5 1 4 3 8 a=hello a = hello b=size(a)% 字符串 a 的大小为 1x5 syms x y p k a b c%创建符号对象 e仁 x2*a*c*y+a*p*xA2+b*p*x+c*k*y+k*p%创建函数命令 el =

7、 k*p + a*p*xA2 + c*k*y + b*p*x + a*c*xA2*y e2=c*y+p e2 = p + c*y e1/e2 ans = (k*p + a*p*xA2 + c*k*y + b*p*x + a*c*xA2*y)/(p + c*y) a=1 2 1 2 c=reshape(a,2,1) %改变数组a的行数和列数 五、实验结果及讨论 1.熟悉了 MATLAB勺基本软件操作。 2.通过本次实验熟悉了 MATLAB的开发环境掌握了矩阵、变量、表达式的各种运算 了解了 *与.*、/与、a与.a等区别以及绝对值、开方e的阶乘、正弦、正切的运算的符号。 3. 让我明白了 MAT

8、LAB的实用性。 实验二MATLAB语言的程序设计 一、实验时间及地点: 实验时间:上午 8:30 9:30 实验地点:黄岛老校区计算中心 、实验目的: 1、熟悉MATLAB序编辑与设计环境 2、掌握各种编程语句语法规则及程序设计方法 3、函数文件的编写和设计 4、了解和熟悉跨空间变量传递和赋值 三、实验内容: 练习 A 1、熟悉MATLAB序编辑与设计环境 2、用for循环语句实现求 1100的和 3、用 for 循环语句实现编写一个求 n 阶乘的函数文件 练习 B 思考题 n 4、 已知一维数组 A 2,4,5,8,10 、 B 4,9,6,7,4 ,用 for 循环语句实现Ai Bn i

9、 1 i1 求和函数可用 sum() 5、(1)编写求解一维数组平均值的函数文件。 (2)编写求解二维数组平均值的函数文件。 四、实验操作过程(实验说明) 1 用 for 循环语句实现求 1 100 的和,函数名为 theSec(). 程序: a=0; for i=1:100 a=i+a; end fprintf(%dn,a) 执行结果: theSec % 求 1 100 的和 5050 2. 用for循环语句实现编写一个求n阶乘的函数文件,函数名为 程序: function jiex(x) a=1; for i=1:x a=a*i; end fprintf( %dn ,a) 执行结果: ji

10、ex(4)% 求 4 的阶乘 24 3. 已知一维数组 A 2,4,5,8,10 、 B 4,9,6,7,4 ,用 for n Ai Bn i 1 。求和,函数名用 ABsum() i1 程序: function y=ABsum() a=2,4,5,8,10; b=4,9,6,7,4; n=5; sum=0; for i=1:n sum=sum+a(1,i)*b(1,n-i+1); end y=sum; jiex(x). 循环语句实现 执行结果: ABsum() ans = 178 4. 编写求解任意数组平均值的函数文件,函数名为 avg(f). 程 序: function y=avg(f)

11、m,n=size(f); sum=0; for i=1:m for j=1:n sum=sum+f(i,j); end end y=sum/(m*n); 执行结果: a=1,2,3,4;5,6,7,8%定义一个数组 a = 1 2 3 4 5 6 7 8 avg(2*a) % 求数组 2*a 的平均值 ans = 9 五、实验结果及讨论 1. 编程语句: 循环语句有 for 循环和 while 循环,我习惯使用 for 循环, 使用格 式如下: for 循环变量 =表达式 1(初值):表达式 2(增量):表达式 3(终值) 循环语句组 end 条件判断语句if语句格式为: if 表达式 执行语

12、句 end 实验三MATLAB的图形绘制 一、实验时间及地点: 实验时间:上午 8:30 9:30 实验地点:黄岛老校区计算中心 、实验目的: 1、学习MATLAB图形绘制的基本方法; 2、熟悉和了解MATLAB图形绘制程序编辑的基本指令; 3、熟悉掌握利用 MATLAB图形编辑窗口编辑和修改图形界面,并添加图形的各种标注; 4、掌握plot、subplot的指令格式和语法。 三、实验内容: 练习A 【1】二维曲线绘图基本指令演示。 t=(0:pi/50:2*pi): k=:1; Y=cos(t)*k; plot(t,Y) 【2】用图形表示连续调制波形y sin(t)sin(9t)及其包络线。

13、 t=(0:pi/100:pi): y1=s in(t)*1,-1; y2=si n( t).*si n(9*t); t3=pi*(0:9)/9; y3=si n(t3) .*si n(9*t3);plot(t,y1,r:,t,y2,b,t3,y3,bo) axis(0,pi,-1,1) 【3】通过绘制二阶系统阶跃响应,综合演示图形标识。本例比较综合,涉及的指令较 广。请耐心读、实际做、再看例后说明,定会有匪浅收益。 clf;t=6*pi*(0:100)/100;y=1-exp*t).*cos*t); tt=t(fi nd(abs(y-1);ts=max(tt); plot(t,y,r-,L

14、in eWidth,3) axis(-i nf,6*pi,i nf) set(gca,Xtick,2*pi,4*pi,6*pi,Ytick,1,max(y) grid on title(it y = 1 - eA -alphatcosomegat) text,fo ntsize12alpha=) text,fo ntsize12omega=) hold on;plot(ts,bo,MarkerSize,10);hold off cell_stri ng1=fo ntsize12uparrow; cell_string2=fontsize16 fontname隶书镇定时间; cell_stri

15、ng3=fo ntsize6; cell_stri ng4=fo ntsize14rmt_s = num2str(ts); text(ts,cell_stri ng) xlabel(fo ntsize14 bft rightarrow) ylabel(fo ntsize14 bfy rightarrow) 二阶阶跃响应图的标识 四、实验操作过程(实验说明) 1. 二维曲线绘图基本指令演示: t=(0:pi/50:2*pi): k=:1; Y=cos(t)*k; plot(t,Y) 执行结果:(图3-1) 2.用图形表示连续调制波形y sin(t)sin(9t)及其包络线: t=(0:pi/10

16、0:pi): y1=s in( t)*1,-1; y2=si n( t).*si n( 9*t); t3=pi*(0:9)/9; y3=si n(t3) .*si n( 9* t3);plot(t,y1,r:,t,y2,b,t3,y3,bo) axis(0,pi,-1,1) 执行结果:(图3-2 ) 3. 通过绘制二阶系统阶跃响应,综合演示图形标识: clf;t=6*pi*(0:100)/100;y=1-exp*t).*cos*t); tt=t(fi nd(abs(y-1);ts=max(tt); plot(t,y,r-,L in eWidth,3) axis(-i nf,6*pi,i nf)

17、 set(gca,Xtick,2*pi,4*pi,6*pi,Ytick,1,max(y) grid on title(it y = 1 - eA -alphatcosomegat) text,fo ntsize12alpha=) text,fo ntsize12omega=) hold on;plot(ts,bo,MarkerSize,10);hold off cell_stri ng1=fo ntsize12uparrow: cell_string2=fontsize16 fontname隶书镇定时间 cell_stri ng3=fo ntsize6; cell_stri ng4=fo nt

18、size14rmt_s = num2str( ts); text(ts,cell_stri ng) xlabel(fo ntsize14 bft rightarrow) ylabel(fo ntsize14 bfy rightarrow) 执行结果:(图3-3 ) 五、实验结果及讨论 1 ,通过这次实验,我学会了 MATLAB图形绘制的基本方法,掌握 了 MATLAB图形绘制程序编辑的基本指令,而且还懂得了利用MATLAB图形编辑窗 口编辑和修改图形界面,并添加图形的各种标注。 2 ,感觉到了 MATLAB的强大,而且很实用。 实验四采用SIMULINK的系统仿真 一、实验时间及地点: 实验时

19、间:上午 8:30 9:30 实验地点:黄岛老校区计算中心 二、实验目的: 1、熟悉 SIMULINK 工作环境及特点 2、掌握线性系统仿真常用基本模块的用法 3、掌握 SIMULINK 的建模与仿真方法 4、子系统的创建和封装设计 1、实验内容: 练习 A 1、SIMULINK仿真实际应用,建立双环调速的电流环系统的方框图模型,模型参数设为 Ks=44; Ts=; Ta=; R=1; Tm= Ce=; Kt= ; T1=; T2=, (1) 在Simulink集成环境下建立模型,在给定信号作用点处输入单位给定阶跃响应信 号,秒后在扰动信号点输入单位阶跃响应信号。并绘制相应的响应曲线 (2)

20、计算仿真结果的超调量、上升时间、调节时间、稳态误差。 (3) 设计PID调节器替代图中的比例积分调节器,调节Kp, Ti,Td用使系统满足超调 量15%上升时间,调节时间的要求。 (4) 要求对加入的PID控制器封装成一个模块使用 封装步骤1创建子系统 封装步骤2封装子系统 封装步骤3设置参数 封装步骤4修改和设计模块图标 四、实验操作过程(实验说明) 1.画出双环调速的电流环系统的方框图模型,并在Simuli nk集成环境下建立模 型:(图4-1) Oock 图4-1 2. 绘制相应的响应曲线:(图4-2) 五、实验结果及讨论 1、SIMULINK的基本操作: 1) 启动SIMULINK软件

21、包:可以在 MATLAB令窗口键入“ SIMULINK命令, 回车后将弹出 SIMULINK图形库浏览器(SIMULINK LIBRARY BREWSER界面,也可 以选择“ SIMULINKLIBRARY BREWSE同样可以打开该界面; 2) SIMULINK用户接口: SIMULINK仿真模型编译器界面有菜单栏、工具栏、 状态栏等,通过这些接口可以调整仿真运行时间,仿真模式等,可以查看仿真运行 进度等信息。 3) 构建SIMULINK框图:用鼠标将模块库中的所需的模块拖至系统模型中, 然后添加连线将各个模块连接起来,模型中可以包含WORKSPACE已定义的变量; 4) 运行:点击仿真模型

22、编译器界面中的运行按钮,系统会在输入信号的作用 下输出,通过 SCOPE莫块可以查看输出响应曲线,通过TO WORKSPA(模块可以将 输出及时间信号送至工作区。 实验五控制系统的频域与时域分析 一、实验时间及地点: 实验时间:上午 8:30-9:30 实验地点:黄岛老校区计算中心 二、实验目的: 1、掌握控制系统数学模型的基本描述方法和相互转化 2、了解控制系统的稳定性分析方法 3、掌握控制系统频域与时域分析基本方法 、实验内容: 练习A: 1、 表示下列传递函数模型,并转化成其他的数学模型 G(s) 4(s 2)(s2 6s 6)2 332 s(s 1)3(s3 3s2 2s 5) (2)

23、 G(s) 4s 2 s3 2s 5 (3) G(s) 1 (2s 1)(s 2) ? X1 01x1 0 ? u 12 x2 1 X2 X1 y 0 1 X2 2、 一个单位负反馈开环传递函数为 k s 0.5s 1 4s 1 k及其所有 试绘出系统闭环的根轨迹图;并在跟轨迹图上任选一点,试计算该点的增益 极点的位置 四、实验操作过程(实验说明) num=4,-2 num = 4 -2 den=1 0 2 5 den = 1 0 2 5 Gs=tf(num,den) Gs = 4 s - 2 sA3 + 2 s + 5 Continuous-time transfer function. n

24、um=; den=1 1; Gs=tf(num,den) Gs = sA2 + s + 1 Continuous-time transfer function. k=1; num=k; den=2 1 0; Gs=tf(num,den) Gs = 1 2 sA3 + sA2 + s Continuous-time transfer function. Ms=Gs/(Gs+1) Ms = 2 sA3 + sA2 + s 4 sA6 + 18 sA5 + sA4 + 11 sA3 + sA2 + s Continuous-time transfer function. rlocus(Ms) % 绘

25、制系统闭环的根轨迹图(图 Rost Lnrus 1 丨/ z E/ / J ._ _ _ y K :、 : : ! : x, 1 1 6 Real Axis (seconds- i 0 4 2 0 2 (TSPUQ 俎5) XJEU.6EE- 图5-1 pzmap(Ms) %绘制零极点图(5-2 ) OE 0 J Q 3 oe 1 1 - x- -C -& I - 1J I X 5 -2 只制 Axis (socondc-1) -0.5 0 Polo Zorc Map C I. uT g In - 图5-2 p,z=pzmap(Ms) 25 + + + + z = 0 k,poles=rloc

26、find(Ms) Select a point in the graphics window selected_point = + k = poles = + + + + 五、实验结果及讨论 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 的根轨迹图,通过 pzma

温馨提示

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

评论

0/150

提交评论