您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 《MATLAB与控制系统。。仿真》实验报告
《MATLAB与控制系统仿真》实验报告班级:学号:姓名:时间:2013年6月1目录实验一MATLAB环境的熟悉与基本运算(一)实验二MATLAB环境的熟悉与基本运算(二)实验三MATLAB语言的程序设计实验四MATLAB的图形绘制实验五基于SIMULINK的系统仿真实验六控制系统的频域与时域分析实验七控制系统PID校正器设计法实验八线性方程组求解及函数求极值2实验一MATLAB环境的熟悉与基本运算(一)一、实验目的1.熟悉MATLAB开发环境2.掌握矩阵、变量、表达式的各种基本运算二、实验基本原理1.熟悉MATLAB环境:MATLAB桌面和命令窗口、命令历史窗口、帮助信息浏览器、工作空间浏览器、文件和搜索路径浏览器。2.掌握MATLAB常用命令表1MATLAB常用命令clc清除命令窗口中内容clear清除工作空间中变量help对所选函数的功能、调用格式及相关函数给出说明lookfor查找具有某种功能的函数但却不知道该函数的准确名称3.MATLAB变量与运算符3.1变量命名规则3.2MATLAB的各种常用运算符表2MATLAB算术运算符操作符功能说明操作符功能说明+加\矩阵左除-减.\数组左除*矩阵乘/矩阵右除.*数组乘./数组右除^矩阵乘方'矩阵转置.^数组乘方.'数组转置表3MATLAB关系运算符操作符功能说明==等于~=不等于大于小于=大于等于=小于等于表4MATLAB逻辑运算符逻辑运算符逻辑运算说明&And逻辑与3|Or逻辑或~Not逻辑非Xor逻辑异或表5MATLAB特殊运算符号功能说明示例符号功能说明示例:1:1:4;1:2:11.;分隔行..,分隔列…()%注释[]构成向量、矩阵!调用操作系统命令{}构成单元数组=用于赋值4.MATLAB的一维、二维数组的寻访表6子数组访问与赋值常用的相关指令格式三、主要仪器设备及耗材计算机四.实验程序及结果1、新建一个文件夹(自己的名字命名,在机器的最后一个盘符)2、启动MATLAB,将该文件夹添加到MATLAB路径管理器中。3、学习使用help命令。44、窗口命令closecloseallclcholdon5holdoff5、工作空间管理命令whowhosclear66、随机生成一个2×6的矩阵,观察commandwindow、commandhistory和workspace等窗口的变化结果,实现矩阵左旋90°或右旋90°的功能。7.求高阶方程的的根,求高阶多项式的值。8、创建一个二维数组A(4×8)。查询数组A第2行、第3列的元素;查询数组A第2行的所有元素;查询数组A第6列的所有元素;查询数组A按列拉长形成新的数组B;查询数组A按行拉长形成新的数组C。7五、实验总结通过第一次做实验,熟悉了一些的基本功能。掌握矩阵、变量、表达式的各种基本运算,让自己感觉到了MATLAB功能的强大.8实验二MATLAB环境的熟悉与基本运算(二)一、实验目的1.熟悉MATLAB开发环境2.掌握矩阵、变量、表达式的各种基本运算二、实验基本原理1.MATLAB的基本运算表1两种运算指令形式和实质内涵的异同表2.MATLAB的常用函数9三、主要仪器设备及耗材计算机四、实验程序及结果1、设有3个二维数组A(2×4),B(2×4),C(2×2),参照表1写出所有由2个数组参与的合法的数组运算和矩阵指令及结果。2、学习使用表2列出的常用函数。103、学习使用表3列出的数组操作函数。4、生成下列矩阵,并取出方框内的数组元素A=[1,2,3,4;5,6,7,8;9,10,11,12];diag(A)ans=1611fliplr(A)ans=432187651211109flipud(A)ans=910111256781234A=[1,2;3,4];reshape(A,1,4)ans=1324rot90(A)ans=2413det(A)ans=-2rank(A)ans=211A=[1,2,3,4,5;10,9,8,7,6;11,12,13,14,15;16,17,18,19,20]A=1234510987611121314151617181920A(2,2:3)ans=98A(2:4,4)ans=71419A(4:5,1:3)ans=16171821222312实验三MATLAB语言的程序设计一、实验目的1、熟悉MATLAB程序编辑与设计环境2、掌握各种编程语句语法规则及程序设计方法3、函数文件的编写和设计4、了解和熟悉跨空间变量传递和赋值二、实验基本原理1、程序流程控制语句for循环结构语法:fori=初值:增量:终值语句1……语句nend说明:1.i=初值:终值,则增量为1。2.初值、增量、终值可正可负,可以是整数,也可以是小数,只须符合数学逻辑。while循环结构语法:while逻辑表达式循环体语句end说明:1、whiIe结构依据逻辑表达式的值判断是否执行循环体语勾。若表达式的值为真,执行循环体语句一次、在反复执行时,每次都要进行判断。若表达式的值为假,则程序执行end之后的语句。2、为了避免因逻辑上的失误,而陷入死循环,建议在循环体语句的适当位置加break语句、以便程序能正常执行。(执行循环体的次数不确定;每一次执行循环体后,一定会改变while后面所跟关系式的值。)3、while循环也可以嵌套、其结构如下:while逻辑表达式1循环体语句1while逻辑表达式2循环体语句2end循环体语句3endif-else-end分支结构if表达式1语句1elseif表达式2(可选)语句2else(可选)语句313endend说明:1.if结构是一个条件分支语句,若满足表达式的条件,则往下执行;若不满足,则跳出if结构。2.elseif表达式2与else为可选项,这两条语句可依据具体情况取舍。3.注意:每一个if都对应一个end,即有几个if,记就应有几个end。switch-case结构语法:switch表达式case常量表达式1语句组1case常量表达式2语句组2……otherwise语句组nend说明:1.switch后面的表达式可以是任何类型,如数字、字符串等。2.当表达式的值与case后面常量表达式的值相等时,就执行这个case后面的语句组如果所有的常量表达式的值都与这个表达式的值不相等时,则执行otherwise后的执行语句。程序流程控制指令break、return、pause2、函数文件的结构和编写方法函数只能在函数体内对变量进行操作,也就是只能访问函数本身工作空间中的变量。M函数文件的结构(1)函数定义行(function)(2)H1行(函数帮助文本的第一行)(3)函数帮助文本(4)函数体(5)注释函数文件编写后,保存时,其文件名必须与函数名相同。注意:函数名不要与MATLAB自身的函数命令相同。三、主要仪器设备及耗材计算机四、实验程序及结果练习A1、熟悉MATLAB程序编辑与设计环境2、用for循环语句实现求1~100的和3、用for循环语句实现编写一个求阶乘n!的函数文件144、判断y向量的元素属于3n3n+1或3n+2,设y=[3,5,7,9,11,16]。(使用函数rem求余数)。7、已知数组A=[2,4,6,8,10],B=[4,9,6,7,4],求]1[][1inBiAni,其中n=5。五、实验总结15在前两次实验的基础上,掌握了基本的操作,这次实验进一步加深了对软件功能的探索,让自己熟悉MATLAB程序编辑与设计环境.16实验四MATLAB的图形绘制一、实验目的1、学习MATLAB图形绘制的基本方法;2、熟悉和了解MATLAB图形绘制程序编辑的基本指令;3、熟悉掌握利用MATLAB图形编辑窗口编辑和修改图形界面,并添加图形的各种标注;4、掌握plot、subplot的指令格式和语法。二、实验基本原理1、基本的绘图命令plot(x,y,)2、建立图形窗口命令figure(1);figure(2);…;figure(n)打开不同的图形窗口,以便绘制不同的图形。3、gridon:在所画出的图形坐标中加入栅格gridoff:除去图形坐标中的栅格。4、holdon:把当前图形保持在屏幕上不变,同时允许在这个坐标内绘制另外一个图形。holdoff:使新图覆盖旧的图形。5、axis设定轴的范围axis([xminxmaxyminymax])设定x轴与y轴的最大、最小坐标。axis(‘equal’):将x坐标轴和y坐标轴的单位刻度大小调整为一样。6、文字标示text(x,y,’字符串’)在图形的指定坐标位置(x,y)处,标示单引号括起来的字符串。gtext(‘字符串’)利用鼠标在图形的任意位置标示字符串。title(‘字符串’)在所画图形的最上端显示说明该图形标题的字符串。xlabel(‘字符串’),ylabel(‘字符串’)设置x,y坐标轴的名称。输入特殊的文字需要用反斜杠(\)开头7、subplot(m,n,k):分割图形显示窗口,在同一个窗口中显示多个图形。m:上下分割个数n:左右分割个数k::子图编号8、semilogx:绘制以x轴为对数坐标(以10为底),y轴为线性坐标的半对数坐标图形。semilogy:绘制以y轴为对数坐标(以10为底),x轴为线性坐标的半对数坐标图形。三、主要仪器设备及耗材计算机四、实验程序及结果1、绘制下列曲线,要求尽可能多地使用二中所列命令。17①33xxy②2221xey③trytrxcossin④y=sin(t)sin(9t)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')18text(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')五实验总结这次实验掌握了MATLAB图形绘制的基本方法,熟悉和了解MATLAB图形绘制程序编辑的基本指令,利用MATLAB图形编辑窗口编辑和修改图形界面.19实验五基于SIMULINK的系统仿真一、实验目的1、熟悉SIMULINK工作环境及特点2、掌握线性系统仿真常用基本模块的用法3、掌握SIMULINK的建模与仿真方法4、子系统的创建和封装设计二、实验基本原理1、了解SIMULINK模块库中各子模块基本功能2、SIMULINK的建模与仿真方法(1)打开模块库,找出相应的模块。鼠标左键点击相应模块,拖拽到模型窗口中即可。(2)创建子系统:当模型大而复杂时,可创建子系统。(3)设置仿真控制参数。三、实验程序及结果1、SIMULINK仿真实际应用(1)双环调速的电流环系统的方框图模型为:图中参
本文标题:《MATLAB与控制系统。。仿真》实验报告
链接地址:https://www.777doc.com/doc-3844912 .html