实验室指导书确定版.doc_第1页
实验室指导书确定版.doc_第2页
实验室指导书确定版.doc_第3页
实验室指导书确定版.doc_第4页
实验室指导书确定版.doc_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

MATLAB与系统仿真实验指导书湖州师范学院信息工程学院二零零九年九月前 言MATLAB与系统仿真课程的教学内容为MATLAB软件的基本编程与应用操作,由于该软件功能太多,使用范围和涉及的应用领域较广,是一门实用性很强的专业技术课程,要使学生学习好本门课,除在课堂上做基本应用方法的学习外,还必须有针对性的学习与专业理论知识相关的应用方法,由于该课程的特殊性,要求学生边学习边上机操作和练习,通过具体的专业问题来掌握和熟练该软件的基本使用方法,所以上机实验是必不可少的一个掌握软件操作方法的重要学习环节。MATLAB软件是一种进行科学与工程计算的交互式程序语言,能够方便地进行矩阵运算及控制和信息处理领域的分析计算,它是用于自动控制系统分析设计、系统辨识和信号处理的仿真工具。为了使机械专业的学生更好的掌握计算机仿真技术,根据教学要求,我们特编写了MATLAB与系统仿真实验指导书,与理论课程的教学配套使用。根据我校MATLAB与系统仿真课程教学大纲的要求,在学生学习完相关课程并对所学的基本知识有了初步的了解后,再经过实验训练,掌握所学理论的实际应用方法,为今后从事自动控制领域的相关工作打下扎实的基础。本实验指导书是根据学校教学大纲要求掌握的内容编写的,有实验项目十个,任课老师可根据各专业的教学大纲以及教学计划的安排,选做部分或全部的实验项目。本实验指导书在编写过程中,由于水平有限,不足与失误在所难免,将在使用中不断进行补充与修改,更希望得到宝贵意见和建议。 编者 2009.8 实验一 Matlab环境语法及数学运算一、实验目的1、掌握 Matlab 软件使用的基本方法;2、熟悉 Matlab 的数据表示、基本运算方法;二、实验仪器与软件1、PC机 1台2、MATLAB7.0环境 三、实验原理1、MATLAB的集成环境MATLAB环境是一种为数值计算、数据分析和图形显示服务的交互式的环境。MATLAB集成环境包括MATLAB主窗口、命令窗口(Command Window)、工作空间窗口(Workspace)、历史命令窗口(Command History)、当前目录窗口(Current Directory)和启动平台窗口(Launch Pad)。a.主窗口MATLAB主窗口是MATLAB的主要工作界面。b命令窗口(The Command Window)当MATLAB启动后,出现的最大的窗口就是命令窗口。命令窗口是MATLAB的主要交互窗口,用于输入命令并显示除图形以外的所有执行结果。用户可以在提示符“”后面输入交互的命令,这些命令就立即被执行。c工作空间窗口(Workspace)工作空间是MATLAB用于存储各种变量和结果的内存空间。d历史命令窗口(Command History)在默认设置下,历史记录窗口中会自动保留自安装起所有用过的命令的历史记录,并且还标明了使用时间,从而方便用户查询。e当前目录窗口(Current Directory)当前目录是指MATLAB运行文件时的工作目录,只有在当前目录或搜索路径下的文件、函数可以被运行或调用。f.启动平台窗口(Launch Pad)MATLAB 7.0的启动平台窗口可以帮助用户方便地打开和调用MATLAB的各种程序、函数和帮助文件。2、MATLAB 帮助系统a. 进入帮助窗口b. 帮助命令MATLAB帮助命令包括help、lookfor。3、 变量的操作a.变量的定义变量是编程语言中数据的符号标识和载体。b.变量的赋值通过等于符号将表达式的值赋予变量。d.变量的管理变量查询: who和whos指令;exist指令。变量删除:clear 指令。e.变量的输出格式变量输出时用户可以用format命令设置或改变数据输出格式。f.变量的保存与加载保存当前工作空间中的所有的变量在MAT文件中。方法一:打开File 菜单的Save Workspace As菜单项。方法二:利用Save指令。利用Load指令可以加载所有保存的变量。三、实验内容1、 了解MATLAB语言环境:MATLAB的启动,运行,关闭;MATLAB的各个窗口的作用; 2、 MATLAB的联机帮助及实例演示:使用 help 命令,查找 sqrt(开方)函数的使用方法3、 完成以下变量的相关操作:a清除工作空间中的所有变量;b观察路径,是否在matlabwork文件夹下;c建立数据 数:a1=5;a2=3+5i;一维数组: 20个从3到8的等距离数组b1;20个步长为0.3的从1开始的数组b2;二维数组: 4*4的一个二维数组b3,内容不限;d设置输出格式为16位;e计算a1的平方根 a1_s;a2的幅值 a2_a;f用who 和whos指令观察变量名字,类型等内容;g将变量b1,b2保存到文件p1_0908, 然后在工作空间把他们删除;h将剩余所有变量保存到文件p2_0908, 然后在工作空间把他们全部删除;i载入文件p1_0908;四、实验报告要求利用所学知识,完成上述实验内容,并将实验步骤和实验结果写在实验报告上。 实验二 MATLAB数值运算与绘图一、实验目的l、熟悉Matlab中各类数据,尤其是矩阵的定义、赋值和运用;2、了解Matlab的矩阵分析函数以及求线性方程组的数值解;3、熟悉多项式运算函数、数值插值;二、实验仪器与软件1、 PC机 1台2、 MATLAB7.0环境 三、实验原理1、创建矩阵的方法a.直接输入法规则矩阵元素必须用 括住,矩阵元素必须用逗号或空格分隔,在 内矩阵的行与行之间必须用分号分隔。b.利用M文件建立矩阵对于比较大且比较复杂的矩阵,可以为它专门建立一个M文件。c.利用冒号表达式建立一个向量冒号表达式可以产生一个行向量,一般格式是:e1:e2:e3,其中e1为初始值,e2为步长,e3为终止值。d.用matlab函数创建矩阵:空阵 :matlab允许输入空阵,当一项操作无结果时,返回空阵;rand:随机矩阵;eye:单位矩阵;zeros:全部元素都为0的矩阵;ones:全部元素都为1的矩阵2、矩阵算术运算a.矩阵加、减(,)运算规则:(1)相加、减的两矩阵必须有相同的行和列两矩阵对应元素相加减。(2)允许参与运算的两矩阵之一是标量,标量与矩阵的所有元素分别进行加减操作。b.矩阵乘(.*,./,.)运算规则:A矩阵的列数必须等于B矩阵的行数;标量可与任何矩阵相乘。c.矩阵乘方(an,ap,pa)运算规则:ap:a 自乘p次幂,对于p的其它值,计算将涉及特征值和特征向量,如果p是矩阵,a是标量,ap使用特征值和特征向量自乘到p次幂;如a,p都是矩阵,ap则无意义。3、矩阵关系运算MATLAB提供了6种关系运算符:(小于)、(大于)、=(大于或等于)、=(等于)、=(不等于)。4、矩阵逻辑运算MATLAB提供了3种逻辑运算符:&(与)、|(或)和(非)。5、多项式运算 在 Matlab 中,n 次多项式是用一个长度为 n+1的向量来表示,向量降幂排列,缺少的幂次项系数为 0。如:f(x)=anxn+an-1xn-1+a0可用行向量 P=an an-1 a1 a0表示;a.多项式求根:MATLAB提供的roots函数用于求多项式的全部根,其调用格式为:x=roots(P)其中P为多项式的系数向量,求得的根赋给向量x。b. 多项式逆运算:若已知多项式的全部根,则可以用poly函数建立起该多项式,其调用格式为:P=poly(x)6、曲线拟合在MATLAB中,用polyfit函数来求得最小二乘拟合多项式的系数,再用polyval函数按所得的多项式计算所给出的点上的函数近似值。polyfit函数的调用格式为:P,S=polyfit(X,Y,m)函数根据采样点X和采样点函数值Y,产生一个m次多项式P及其在采样点的误差向量S。7、插值运算插值:在已知数据之间计算估计值的过程;根据自变量的维数不同,插值方法可以分为一维插值和二维插值等;a.一维数据插值在MATLAB中,实现一维插值的函数是interp1,其调用格式为:z=interp1(x,y,x0,method)函数根据x,y的值,计算函数在X1处的值。x,y分别描述采样点和样本值,x0是一个向量或标量,描述欲插值的点,z是一个与x0等长的插值结果,method是插值方法。b.二维数据插值在MATLAB中,提供了解决二维插值问题的函数interp2,其调用格式为:zi=interp2(x,y,z,x0,y0,method)其中x,y分别描述两个参数的采样点,z是与参数采样点对应的函数值,x0,y0是两个向量或标量,描述欲插值的点。zi是根据相应的插值方法得到的插值结果。 method的取值与一维插值函数相同。四、实验内容1、完成以下矩阵的相关操作:a.随意建立两个3*3的矩阵X,Y;建立一个4*5的零矩阵 Z;b.建立一个与矩阵A同样大小的零矩阵;(假设A 矩阵已存在,写出命令语句即可);c.建立01间均匀分布的5阶随机矩阵B,找出小于0.4的元素位置,并把小于0.4的元素加1;d.提取矩阵B的奇数行以及所有列生成矩阵C1;提取矩阵B的3,2,1行,2,3,4列生成矩阵C2;e.求矩阵X,Y的加减乘除;f.假设Xd=Y,求d;g.将XY的所有值设为零;2、已知 (1) 计算f(x)=0 的全部根;(2)求x在1到30每个点上f(x)的值,并绘制x与f(x)的关系曲线;(3) 由方程f(x)=0的根构造一个多项式g(x),并与f(x)进行对比;3、在一天24小时内,从零点开始每间隔2小时测得的环境温度为(摄氏度) 12,9,9,10,18,24,28,27,25,20,18,15,13,推测在每一秒时的温度。并利用不同的插值方法描绘温度曲线;五、实验要求 利用所学知识,完成上述实验内容,并将实验步骤和实验结果写在实验报告上。实验三 Matlab 基本编程方法一、实验目的1、熟悉 Matlab 程序设计的基本方法;2、掌握 Matlab 绘图的基本方法;二、实验仪器与软件1、PC机 1台2、MATLAB7.0环境 三、实验原理MATLAB程序的基本组成结构说明清除命令:清除workspace中的变量和图形(clear,close)定义变量:包括全局变量的声明及参数值的设定逐行执行命令:指MATLAB提供的运算指令或工具箱提供的专用命令 控制循环 逐行执行命令:包含for,if then,switch,while等语句 end绘图命令:将运算结果绘制出来1、 顺序结构a.数据的输入从键盘输入数据,则可以使用input函数来进行,该函数的调用格式为:A=input(提示信息,选项)b.数据的输出 MATLAB提供的命令窗口输出函数主要有disp函数,其调用格式为:disp(输出项)2、循环结构a.无条件循环当需要无条件重复执行某些命令时,可以使用 for 循环:for 循环变量 t=表达式 1 : 达式 2 : 表达式 3 语句体end 说明:表达式 1 为循环初值,表达式 2 为步长,表达式 3 为循环终值;当表达式 2 省略时则默认步长为 1;for 语句允许嵌套。b.条件循环1) if-else-then 语句(1)if 逻辑表达式语句体end(2) if 逻辑表达式 1语句体 1else语句体 2end(3) if 逻辑表达式 1 语句体 1elseif 逻辑表达式 2 语句体 2 elseif 逻辑表达式 3 else语句体 n end2) while 循环语句while 循环的一般使用形式为:while 表达式语句体end3、分支结构若需要对不同的情形执行不同的操作,可用 switch 分支语句:switch 表达式(标量或字符串)case 值 1 语句体 1 case 值 2 语句体 2 otherwise 语句体 n end 说明:当表达式不是“case”所列值时,执行 otherwise 语句体。4、二维绘图的plot指令plot函数的基本调用格式为:plot(x,y)其中x和y为长度相同的向量,分别用于存储x坐标和y坐标数据;要设置曲线样式可以在plot函数中加绘图选项,其调用格式为:plot(x1,y1,选项1,x2,y2,选项2,xn,yn,选项n)5、基本三维图形plot3函数与plot函数用法十分相似,其调用格式为:plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,xn,yn,zn,选项n)其中每一组x,y,z组成一组曲线的坐标参数,选项的定义和plot函数相同。四、实验内容1、编写命令文件:计算 1+2+n0,系统稳定,表示G(j)H(j)曲线不包围(-1,j0)点;1 或 Kg(db)0 , 系统稳定;Kg 1 或 Kg(db)6db 。也可只对提要求。MATLAB提供的margin函数,可以求出系统的幅值裕度和相角裕度及对应的幅值穿越频率和相位穿越频率,因而可以用于判定系统的相对稳定性。三、实验内容1、已知开环传递函数绘制该系统的根轨迹图,记录并观察曲线,依此分析系统的性能。2、已知控制系统的开环传递函数为: 应用margin函数求其幅值裕度,相位裕度,幅值穿越频率和相位穿越频率,并判断当由10增加到100时,系统的稳定性如何变化。3、已知单位反馈系统的开环传递函数为(1) 用时域稳定性分析方法分别确定k=2,k=10时系统的稳定性。(2) 绘制该系统的根轨迹,并确定使上述系统稳定的 K的取值范围。(3)用频域稳定性分析方法分别确定k=2,k=10时系统的稳定性。六、实验报告要求利用所学知识,完成上述实验内容,并将实验程序和结果写在实验报告上。实验六 基于SIMULINK的系统性能分析一、实验目的1、熟悉SIMULINK环境。2、学习基于SIMULINK构建系统的结构图及系统仿真。3、练习两种运用matlab进行控制系统仿真的方法。二、实验仪器与软件1、PC机 1台2、MATLAB7.0环境三、实验原理运用matlab实现控制系统仿真,有两种方法:1、用Simulink仿真模块建模进行控制系统仿真请掌握下列主要仿真模块的使用方法:在MATLAB命令窗口中键入simulink3命令,或者先进入Simulink Library Browser窗口,再双击Simulink子模块库,即可进入该模块库,主要包含: Sources(信号源子模块库):包含各种各样的输入信号模块。Step(阶跃信号)模块:它能够根据不同的参数产生不同的阶跃信号,可以对采样时间、信号初始值、信号终值和产生阶跃的时间等参数进行相应地修改。 Sinks(信号接收子模块集)Scope(示波器):用于将输入信号在示波器上显示出来。 Continuous(连续子模块集)Integrator(积分器) 模块:将输入信号进行数值积分后再输出。Derivative(微分器) 模块:将输入信号进行微分后再输出。State-space(状态空间) 模块:线性系统的一种时域描述。Transfer fcn(传递函数) 模块:用来表示控制系统的传递函数模块。Pole-Zero(零极点)模块:用来表示控制系统的零极点形式。 Math(数学运算子模块集)包含 Sum(求和)、 Product(乘积)、 Gain(数值增益)、 Matrix Gain(矩阵增益)、 Logical Operator(逻辑运算)、 Math Function(常用的数学函数)、 Abs(求绝对值或求模)和 Sign(符号函数)等各种数学运算仿真模块。2、用仿真命令编程进行控制系统仿真请掌握下列主要命令的使用方法:tf(num,den):建立传递函数模型,num为分子多项式,den为分母多项式;get(G):显示对象属性,G为传递函数模型;nn,dd=tfdata(G,v):从对象中提取分子分母多项式;zpk(z,p,k):建立零极点传递函数模型,z为零点,p为极点,k为增益;pzmap(G):绘制零极点图;ss(A,B,C,D):建立状态空间模型,A为系统矩阵,B为输入矩阵,C为输出矩阵,D为前向反馈矩阵;tf(GSS):将状态空间模型转换成传递函数模型;zpk(GSS):将状态空间模型

温馨提示

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

评论

0/150

提交评论