与控制系统仿说真实验报告.doc

上传人:本田雅阁 文档编号:2092870 上传时间:2019-02-12 格式:DOC 页数:36 大小:1.26MB
返回 下载 相关 举报
与控制系统仿说真实验报告.doc_第1页
第1页 / 共36页
与控制系统仿说真实验报告.doc_第2页
第2页 / 共36页
与控制系统仿说真实验报告.doc_第3页
第3页 / 共36页
亲,该文档总共36页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《与控制系统仿说真实验报告.doc》由会员分享,可在线阅读,更多相关《与控制系统仿说真实验报告.doc(36页珍藏版)》请在三一文库上搜索。

1、MATLAB与控制系统仿真实验报告班级: 自动化102班 学号: 6100310059 姓名: 费梦娟 时间: 2013年 6月目 录实验一 MATLAB的环境与基本运算(一)实验二 MATLAB的环境与基本运算(二)实验三 MATLAB语言的程序设计实验四 MATLAB的图形绘制实验五 基于SIMULINK的系统仿真实验六 控制系统的频域与时域分析实验七 控制系统PID校正器设计法实验八 线性方程组求解及函数求极值南昌大学实验报告学生姓名: 费梦娟 学 号: 6100310059 专业班级: 自动化102班 实验类型: 验证 综合 设计 创新 实验日期: 实验成绩: 实验一 MATLAB的环

2、境与基本运算(一)一、实验目的1 熟悉MATLAB开发环境2掌握矩阵、变量、表达式的各种基本运算二、实验基本原理1.熟悉MATLAB环境: MATLAB桌面和命令窗口、命令历史窗口、帮助信息浏览器、工作空间浏览器、文件和搜索路径浏览器。2.掌握MATLAB常用命令表1 MATLAB常用命令clc 清除命令窗口中内容clear 清除工作空间中变量help 对所选函数的功能、调用格式及相关函数给出说明lookfor 查找具有某种功能的函数但却不知道该函数的准确名称3.MATLAB变量与运算符31变量命名规则32 MATLAB的各种常用运算符表2 MATLAB算术运算符操作符 功能说明 操作符 功能

3、说明 + 加 矩阵左除- 减. 数组左除* 矩阵乘/ 矩阵右除.* 数组乘./ 数组右除 矩阵乘方 矩阵转置. 数组乘方. 数组转置 表3 MATLAB关系运算符操作符 功能说明 = 等于= 不等于 大于= 大于等于A=1,2,3,4,5;10,9,8,7,6;11,12,13,14,15;16,17,18,19,20A = 1 2 3 4 5 10 9 8 7 6 11 12 13 14 1516 17 18 19 20 A(2,2:3)ans = 9 8 A(2:4,4)ans = 7 1419 A(4:5,1:3)ans= 16 17 18 21 22 23六、实验总结 在第一次实验的基

4、础上,自己这次实验要相对上一次比较顺利,一些基本功能也能更好的掌握,但是对matlab这个软件的强大功能还不能很好的应用,因此我要加强对该软件的学习,让它更好的处理各个学科的知识,总而言之,这次实验的收获还是比较大的。南昌大学实验报告学生姓名: 费梦娟 学 号: 6100310059 专业班级: 自动化102班 实验类型: 验证 综合 设计 创新 实验日期: 实验成绩: 实验三 MATLAB语言的程序设计一、实验目的1熟悉MATLAB程序编辑与设计环境2掌握各种编程语句语法规则及程序设计方法 3函数文件的编写和设计 4了解和熟悉跨空间变量传递和赋值 二、实验基本原理1程序流程控制语句 for循

5、环结构语法:for i初值:增量:终值 语句1 语句n end 说明:1i初值:终值,则增量为1。 2初值、增量、终值可正可负,可以是整数,也可以是小数,只须符合数学逻辑。while 循环结构 语法:while 逻辑表达式 循环体语句 end 说明:(1)whiIe结构依据逻辑表达式的值判断是否执行循环体语勾。若表达式的值为真,执行循环体语句一次、在反复执行时,每次都要进行判断。若表达式的值为假,则程序执行end之后的语句。(2)为了避免因逻辑上的失误,而陷入死循环,建议在循环体语句的适当位置加break语句、以便程序能正常执行。(执行循环体的次数不确定;每一次执行循环体后,一定会改变whil

6、e后面所跟关系式的值。) (3)while循环也可以嵌套、其结构如下: while逻辑表达式1 循环体语句1 while逻辑表达式2 循环体语句2 end 循环体语句3 end if-else-end分支结构if 表达式 1 语句1 else if 表达式 2(可选) 语句2 else(可选) 语句3 end end 说明:(1)if结构是一个条件分支语句,若满足表达式的条件,则往下执行;若不满足,则跳出if结构。(2)else if表达式2与else为可选项,这两条语句可依据具体情况取舍。(3)注意:每一个if都对应一个end,即有几个if,记就应有几个end。switch-case结构语法

7、:switch表达式case常量表达式1 语句组1 case常量表达式2 语句组2 otherwise 语句组n end 说明:(1)switch后面的表达式可以是任何类型,如数字、字符串等。(2)当表达式的值与case后面常量表达式的值相等时,就执行这个case后面的语句组如果所有的常量表达式的值都与这个表达式的值不相等时,则执行otherwise后的执行语句。程序流程控制指令break、return、pause 2函数文件的结构和编写方法 函数只能在函数体内对变量进行操作,也就是只能访问函数本身工作空间中的变量。M函数文件的结构(1) 函数定义行(function) (2) H1行(函数帮

8、助文本的第一行) (3) 函数帮助文本(4) 函数体(5) 注释函数文件编写后,保存时,其文件名必须与函数名相同。注意:函数名不要与MATLAB自身的函数命令相同。三、主要仪器设备及耗材计算机四、实验内容 练习A 1熟悉MATLAB程序编辑与设计环境2用for循环语句实现求1100的和3用for循环语句实现编写一个求阶乘n!的函数文件4设y=3,5,7,9,11,16,21,23,25,27,将y向量中属于能整除3的元素传递给向量z。(使用函数rem求余数)。7已知数组A=2,4,6,8,10,B=4,9,6,7,4,求,其中n=5。五、实验程序及结果程序如下:%用for循环语句实现求1100

9、的和sum=0;for i=1:100sum=sum+i;endsum结果为:sum = 5050%用for循环语句实现编写一个求阶乘n!的函数文件function f=factor(n)f=1;for i=1:n f=f*i;End运行结果为: f=factor(10)f = 3628800%设y=3,5,7,9,11,16,21,23,25,27,将y向量中属于能整除3的元素传递给向量z。(使用函数rem求余数)y=3,5,7,9,11,16,21,23,25,27;z=;for i=1:10 a=rem(y(i),3); if a=0 z=z,y(i); endendz 结果为:z =

10、3 9 21 27%已知数组A=2,4,6,8,10,B=4,9,6,7,4,求,其中n=5。A=2,4,6,8,10;B=4,9,6,7,4;n=5;sum=0;for i=1:5 a(i)=A(i)*B(n-i+1); sum=sum+a(i);endsum结果为:sum = 184六、实验总结 在前两次实验的基础上,掌握了基本的操作,这次实验进一步加深了对软件功能的探索,让自己熟悉MATLAB程序编辑与设计环境,掌握编程语句语法规则及程序设计方法、函数文件的编写和设计,了解和熟悉跨空间变量传递和赋值。让自己掌握了基本的编程方法,受益匪浅。南昌大学实验报告学生姓名: 费梦娟 学 号: 61

11、00310059 专业班级: 自动化102班 实验类型: 验证 综合 设计 创新 实验日期: 实验成绩: 实验四 MATLAB的图形绘制一、实验目的1学习MATLAB图形绘制的基本方法; 2熟悉和了解MATLAB图形绘制程序编辑的基本指令; 3熟悉掌握利用MATLAB图形编辑窗口编辑和修改图形界面,并添加图形的各种标注; 4掌握plot、subplot的指令格式和语法。二、实验基本原理1基本的绘图命令plot(x,y,)2建立图形窗口命令figure(1);figure(2);figure(n)打开不同的图形窗口,以便绘制不同的图形。3grid on:在所画出的图形坐标中加入栅格grid of

12、f:除去图形坐标中的栅格。4hold on:把当前图形保持在屏幕上不变,同时允许在这个坐标内绘制另外一个图形。hold off:使新图覆盖旧的图形。5axis设定轴的范围axis(xmin xmax ymin ymax)设定x 轴与y轴的最大、最小坐标。axis(equal):将x坐标轴和y坐标轴的单位刻度大小调整为一样。6文字标示l text(x,y,字符串)在图形的指定坐标位置(x,y)处,标示单引号括起来的字符串。l gtext(字符串)利用鼠标在图形的任意位置标示字符串。l title(字符串)在所画图形的最上端显示说明该图形标题的字符串。l xlabel(字符串),ylabel(字符

13、串)设置x,y坐标轴的名称。l 输入特殊的文字需要用反斜杠()开头7subplot(m,n,k):分割图形显示窗口,在同一个窗口中显示多个图形。l m:上下分割个数l n:左右分割个数l k::子图编号8semilogx:绘制以x轴为对数坐标(以10为底),y轴为线性坐标的半对数坐标图形。semilogy:绘制以y 轴为对数坐标(以10 为底),x 轴为线性坐标的半对数坐标图形。三、主要仪器设备及耗材计算机四、实验内容 1绘制下列曲线,要求尽可能多地使用二中所列命令。 y=sin(t)sin(9t)2绘制二阶系统阶跃响应,综合演示图形标识。clf;t=6*pi*(0:100)/100;y=1-

14、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) grid on title(it y = 1 - e -alphatcosomegat) text(13.5,1.2,fontsize12alpha=0.3) text(13.5,1.1,fontsize12omega=0.7) hold on;plot(ts,0.95,

15、bo,MarkerSize,10);hold off cell_string1=fontsize12uparrow; cell_string2=fontsize16 fontname隶书镇定时间; cell_string3=fontsize6 ; cell_string4=fontsize14rmt_s = num2str(ts); text(ts,0.85,cell_string) xlabel(fontsize14 bft rightarrow)ylabel(fontsize14 bfy rightarrow)五、实验程序及结果1绘制下列曲线,要求尽可能多地使用二中所列命令。 y=sin(

16、t)sin(9t) %绘制下列曲线subplot(2,2,1);x=-5:0.1:5;y=x-x.3/3;plot(x,y);title(图形1);xlabel(x);ylabel(y);grid onsubplot(2,2,2);x=-5:0.1:5;y=1/2/pi*exp(x.2/2);plot(x,y);title(图形2);xlabel(x);ylabel(y);grid onsubplot(2,2,3);t=linspace(0,2*pi,10000);r=2;x=r*sin(t);y=r*cos(t);plot(x,y);title(图形3);xlabel(x);ylabel(y

17、);axis(equal)grid onsubplot(2,2,4);t=linspace(0,2*pi,10000);y=sin(t).*sin(9*t);plot(t,y);title(图形4);xlabel(t);ylabel(y);grid on 2绘制二阶系统阶跃响应,综合演示图形标识。六、实验总结 这次实验掌握了MATLAB图形绘制的基本方法,熟悉和了解MATLAB图形绘制程序编辑的基本指令,利用MATLAB图形编辑窗口编辑和修改图形界面,并添加图形的各种标注,掌握plot、subplot的指令格式和语法。让自己对软件的拓展范围加大,自己的使用更加顺利,收获很大。南昌大学实验报告学

18、生姓名: 费梦娟 学 号: 6100310059 专业班级: 自动化102班 实验类型: 验证 综合 设计 创新 实验日期: 实验成绩: 实验五 基于SIMULINK的系统仿真一、实验目的1、熟悉SIMULINK 工作环境及特点2、掌握线性系统仿真常用基本模块的用法3、掌握SIMULINK 的建模与仿真方法4、子系统的创建和封装设计二、实验基本原理1、了解SIMULINK模块库中各子模块基本功能 2、SIMULINK 的建模与仿真方法(1)打开模块库,找出相应的模块。鼠标左键点击相应模块,拖拽到模型窗口中即可。(2)创建子系统:当模型大而复杂时,可创建子系统。(3)设置仿真控制参数。三、实验程

19、序及结果1、SIMULINK仿真实际应用(1) 双环调速的电流环系统的方框图模型为: 图中参数设为Ks=44;Ts=0.00167;Ta=0.017;R=1;Tm=0.075;Ce=0.1925;Kt=0.01178;T1=0.049;T2=0.088(1)在Simulink集成环境下建立模型,在给定信号作用点处输入单位给定阶跃响应信号,0.3秒后在扰动信号点输入单位阶跃响应信号。并绘制相应的响应曲线(2)计算仿真结果的超调量、上升时间、调节时间、稳态误差。(3)设计PID调节器替代图中的比例积分调节器,调节Kp,Ti,Td,用使系统满足超调量15%,上升时间0.3s,调节时间0.4s的要求。

20、(4)要求对加入的PID控制器封装成一个模块使用。PID调节器 封装模块应用PID调节器后2、用Simulink对以下系统进行仿真 其中为系统输入,y(t)为系统输出,仿真当输入为正弦信号时,输出的信号的波形,仿真时间0=0t0.95*yss)&(y(tm)yss*1.05) tm=tm-1;endts=t(tm);k=1;while y(k) f=-(1+x2)/(1+x4),x=fminsearch(f,0),ymax=(1+x2)/(1+x4)f =-(1+x2)/(1+x4)x = 0.6436ymax = 1.20712) f=-sin(x)-cos(x2),x=fminsearch(f,0),ymax=sin(x)+cos(x2) f = -sin(x)-cos(x2) x = 0.7310 ymax = 1.5282四、心得体会: 通过这几次做实验,基本掌握了的基本matlab的功能,也把matlab强大的功能应用于其他几门课实验数据的处理。不得不说matlab的功能很强大,我们只是掌握了其中一点点,matlab中的很多工具箱都很实用,有待自己进一步去探究和学习。35

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1