ImageVerifierCode 换一换
格式:DOCX , 页数:51 ,大小:1.14MB ,
资源ID:6811134      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6811134.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(计算机仿真技术实验指导书版MATLAB.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

计算机仿真技术实验指导书版MATLAB.docx

1、计算机仿真技术实验指导书版MATLAB计算机仿真技术实验指导书滨州学院光电工程系目 录实验一 MATLAB环境的熟悉与基本运算 1实验二 MATLAB数值及符号运算 7实验三 MATLAB语言的程序设计 11实验四 MATLAB的图形绘制 15实验五 线性系统时域响应仿真分析 20实验六 控制系统的根轨迹 24实验七 控制系统的频率特性分析 29实验八 Simulink建模与仿真 34实验九 基于传递函数的控制器设计 42实验一 Matlab使用方法(数组和矩阵的基本运算)实验二 Matlab程序设计基本方法实验三 数值计算与绘图实验四 Simulink建模与仿真实验五 控制系统的分析(1)时

2、域分析、频域分析和根轨迹分析实验六 控制系统的分析(2)稳定性分析实验七 经典控制系统设计根轨迹法实验八 经典控制系统设计Bode图法实验一 MATLAB环境的熟悉与基本运算 一、实验目的: 1熟悉MATLAB开发环境2掌握矩阵、变量、表达式的各种基本运算二、实验基本知识: 1.熟悉MATLAB环境: MATLAB桌面和命令窗口、命令历史窗口、帮助信息浏览器、工作空间浏览器文件和搜索路径浏览器。2.掌握MATLAB常用命令clc 清除命令窗口中内容clear 清除工作空间中变量help 对所选函数的功能、调用格式及相关函数给出说明lookfor 查找具有某种功能的函数但却不知道该函数的准确名称

3、who查询工作空间中的变量信息3.MATLAB变量与运算符变量命名规则如下: (1) 变量名可以由英语字母、数字和下划线组成(2) 变量名应以英文字母开头(3) 长度不大于31个(4) 区分大小写MATLAB中设置了一些特殊的变量与常量,列于下表。表1 MATLAB的特殊变量与常量变量名 功能说明 变量名 功能说明 ANS 默认变量名,以应答最近一次操作运算结果realmin 最小的正实数i或j 虚数单位INF(inf) 无穷大pi 圆周率NAN(nan) 不定值(0/0) eps 浮点数的相对误差nargin 函数实际输入参数个数realmax 最大的正实数nargout 函数实际输出参数个

4、数 MATLAB运算符,通过下面几个表来说明MATLAB的各种常用运算符表2 MATLAB算术运算符操作符 功能说明 操作符 功能说明 + 加 矩阵左除- 减. 数组左除* 矩阵乘/ 矩阵右除.* 数组乘./ 数组右除 矩阵乘方 矩阵转置. 数组乘方. 数组转置表3 MATLAB关系运算符操作符 功能说明 = 等于= 不等于 大于= 大于等于= 小于等于表4 MATLAB逻辑运算符逻辑运算符 逻辑运算 说明 & And 逻辑与| Or 逻辑或 Not 逻辑非Xor 逻辑异或表5 MATLAB特殊运算符号 功能说明示例 符号 功能说明示例 : 1:1:4;1:2:11 . ; 分隔行 . , 分

5、隔列 () % 注释 构成向量、矩阵 ! 调用操作系统命令 构成单元数组= 用于赋值 4.MATLAB的一维、二维数组的寻访表6 子数组访问与赋值常用的相关指令格式指令格式 指令功能 A(r,c) 数组A中r指定行、c指定列之元素组成的子数组A(r,:) 数组A中r指定行对应的所有列之元素组成的子数组A(:,c) 数组A中c指定列对应的所有行之元素组成的子数组A(:) 数组A中各列元素首尾相连组成的“一维长列”子数组A(i) 一维长列子数组中的第i个元素A(r,c)=Sa 数组A中r指定行、c指定列之元素组成的子数组的赋值A(:)=D(:) 数组全元素赋值,保持A的行宽、列长不变,A、D两组元

6、素总合应相同5.MATLAB的基本运算表7 两种运算指令形式和实质内涵的异同表数组运算 矩阵运算 指令 含义 指令 含义 A 非共轭转置A 共轭转置A=s 把标量s赋给A的每个元素s+B 标量s分别与B元素之和s-B,B-s 标量s分别与B元素之差s.*A 标量s分别与A元素之积s*A 标量s分别与A每个元素之积s./B,B.s 标量s分别被B的元素除S*inv(B)B阵的逆乘s A.n A的每个元素自乘n次An A阵为方阵,自乘n次A.p 对A各元素分别求非整数幂Ap 方阵A的非整数乘方A+B 对应元素相加A+B 矩阵相加A-B 对应元素相减A-B 矩阵相减A.*B 对应元素相乘A*B 内维

7、相同矩阵相乘A./B A的元素别B的对应元素除A/B A右除B B.A 与上相同BA A左除B exp(A) 以自然数e为底,分别以A的元素为指数,求幂expm(A)A的矩阵指数函数log(A) 对A的各元素求对数logm(A) A的矩阵对数函数sqrt(A) 对A的各元素求平方根sqrtm(A)A的矩阵平方根函数 6.MATLAB的常用函数表8 标准数组生成函数指令 含义 指令 含义 diag 产生对角形数组(对高维不适用)rand 产生均匀分布随机数组eye 产生单位数组(对高维不适用) randn产生正态分布随机数组magic 产生魔方数组(对高维不适用) zeros产生全0数组ones

8、 产生全1数组size()返回指定矩阵的行数和列数表9 数组操作函数指令 含义 diag 提取对角线元素,或生成对角阵flipud以数组“水平中线”为对称轴,交换上下对称位置上的数组元素fliplr 以数组“垂直中线”为对称轴,交换左右对称位置上的数组元素reshape在总元素数不变的前提下,改变数组的“行数、列数” rot90 矩阵逆时针旋转90度det 方阵的行列式值rank 矩阵的秩三、实验内容 1、新建一个文件夹(自己的名字命名) 2、启动MATLAB6.5,将该文件夹添加到MATLAB路径管理器中。方法如下: 3、保存,关闭对话框 4、学习使用help命令,例如在命令窗口输入help

9、 eye,然后根据帮助说明,学习使用指令eye(其它不会用的指令,依照此方法类推) 5、学习使用clc、clear,观察command window、command history和workspace等窗口的变化结果。6、初步程序的编写练习,新建M-file,保存(自己设定文件名,例如exerc1、exerc2、 exerc3),学习使用MATLAB的基本运算符、数组寻访指令、标准数组生成函数和数组操作函数。注意:每一次M-file的修改后,都要存盘。练习A: (1) help rand,然后随机生成一个26的数组,观察command window、command history和worksp

10、ace等窗口的变化结果。(2)学习使用clc、clear,了解其功能和作用。(3)输入C=1:2:20,则C(i)表示什么?其中i=1,2,3,10。(4)输入A=7 1 5;2 5 6;3 1 5,B=1 1 1; 2 2 2; 3 3 3,在命令窗口中执行下列表达式,掌握其含义: A(2, 3) A(:,2) A(3,:) A(:,1:2:3) A(:,3).*B(:,2) A(:,3)*B(2,:) A*B A.*B A2 A.2 B/A B./A(5)二维数组的创建和寻访,创建一个二维数组(48)A, 查询数组A第2行、第3列的元素,查询数组A第2行的所有元素,查询数组A第6列的所有元

11、素。(6) 两种运算指令形式和实质内涵的比较。设有3个二维数组A24,B24,C22,写出所有由2个数组参与的合法的数组运算和矩阵指令。(7) 学习使用表8列的常用函数(通过help方法) (8) 学习使用表9数组操作函数。 练习B(10)用reshape指令生成下列矩阵,并取出方框内的数组元素。实验二 MATLAB数值及符号运算一、 实验目的:1、了解伴随矩阵、稀疏矩阵、魔方矩阵、对角矩阵、范德蒙等矩阵的创建,掌握矩阵的基本运算2、掌握矩阵的数组运算3、掌握多项式的基本运算4、会求解代数方程5、掌握创建符号表达式和矩阵的方法6、掌握符号表达式的微分和积分运算二、 实验基本知识:1、创建矩阵的

12、方法:直接输入法;用matlab函数创建矩阵2、矩阵运算:矩阵加、减(,)运算矩阵乘()运算矩阵乘方inv 矩阵求逆det 行列式的值eig 矩阵的特征值diag 对角矩阵 矩阵转置sqrt 矩阵开方3、矩阵的数组运算:数组加减(.+,.-):对应元素相加减数组乘():a,b两数组必须有相同的行和列,两数组相应元素相乘数组除(./,.):a./b=b.a 都是b的元素被a的对应元素除(a除以b)a.b=b./a 都是a的元素被b的对应元素除( 除以a)数组乘方(.):元素对元素的幂数组点积(点乘):维数相同的两个向量的点乘,其结果是一个标量数组叉积:就是一个过两个相交向量的交点且垂直于两个向量

13、所在平面的向量数组混合积:先叉乘后点乘4、多项式运算 poly 产生特征多项式系数向量roots 求多项式的根p=poly2str(c,x)(以习惯方式显示多项式)conv,convs多项式乘运算deconv多项式除运算多项式微分polyder(p): 求p的微分polyder(a,b): 求多项式a,b乘积的微分p,q=polyder(a,b): 求多项式a,b商的微分5、代数方程组求解1).恰定方程组的解方程ax=b(a为非奇异)两种求解方法: x=inv(a)b 采用求逆运算解方程 x=ab 采用左除运算解方程 2)超定方程组的解方程 ax=b ,mn时此时不存在唯一解。 x=(a a)

14、-1 a b 求逆法 3)欠定方程组的解matlab可求出两个解:用除法求的解x是具有最多零元素的解是具有最小长度或范数的解,这个解是基于伪逆pinv求得的。6、复数运算:复数的实虚部、模和幅角计算real_z=real(z) image_z=imag(z)magnitude_z=abs(z)angle_z_radian=angle(z) %弧度单位angle_z_degree=angle(z)*180/pi %度数单位 7、符号矩阵的创建1)用matlab函数sym创建矩阵(symbolic 的缩写)命令格式:A=sym( ) 2)用字符串直接创建矩阵8、符号矩阵的修改a.直接修改:可用、

15、键找到所要修改的矩阵,直接修改b.指令修改:subs(A, new, old)来修改9、符号矩阵与数值矩阵的转换将数值矩阵转化为符号矩阵,函数调用格式:sym(A)将符号矩阵转化为数值矩阵,函数调用格式: numeric(A)10、符号微积分与积分变换diff(f) 对缺省变量求微分diff(f,v) 对指定变量v求微分diff(f,v,n) 对指定变量v求n阶微分int(f) 对f表达式的缺省变量求积分int(f,v) 对f表达式的v变量求积分int(f,v,a,b) 对f表达式的v变量在(a,b)区间求定积分11、符号代数方程求解solve(f) 求一个方程的解solve(f1,f2, f

16、n) 求n个方程的解12、符号微分方程求解指令:dsolve命令格式:dsolve(f,g): f 微分方程,可多至12个微分方程的求 解;g为初始条件,默认自变量为 x,可任意指定自变量t, u等,微分方程的各阶导数项以大写字母D表示 三、实验内容:1、生成一个3行3列的随机矩阵,并逆时针旋转90,左右翻转,上下翻转。2、已知a=1 2 3,b=4 5 6, 求a.b和a./ b3、数组和矩阵有何不同?4、已知a=1 2 3;4 5 6;7 8 0,求其特征多项式并求其根。5、已知多项式a(x)=x2+2x+3,b(x)=4x2+5x+6,求a,b的积并微分。6、求解方程1)2) 3)7、用

17、两种方法创建符号矩阵,A = a, 2*b 3*a, 0 并把其中的a改为c。8、计算二重不定积分9、对符号方程f = ax2+bx+c 求解1)对x求解2)对a求解。10、求解微分方程。实验三 MATLAB语言的程序设计一、实验目的: 1、熟悉MATLAB程序编辑与设计环境2、掌握各种编程语句语法规则及程序设计方法 3、函数文件的编写和设计 4、了解和熟悉跨空间变量传递和赋值 二、实验基本知识: 1、程序流程控制语句 for循环结构语法:for i初值:增量:终值 语句1 语句n end 说明:1i初值:终值,则增量为1。 2初值、增量、终值可正可负,可以是整数,也可以是小数,只须符合数学逻

18、辑。while 循环结构 语法:while 逻辑表达式 循环体语句 end 说明:1、whiIe结构依据逻辑表达式的值判断是否执行循环体语勾。若表达式的值为真,执行循环体语句一次、在反复执行时,每次都要进行判断。若表达式的值为假,则程序执行end之后的语句。2、为了避免因逻辑上的失误,而陷入死循环,建议在循环体语句的适当位置加break语句、以便程序能正常执行。(执行循环体的次数不确定;每一次执行循环体后,一定会改变while后面所跟关系式的值。) 3、while循环也可以嵌套、其结构如下: while逻辑表达式1 循环体语句1 while逻辑表达式2 循环体语句2 end 循环体语句3 en

19、d if-else-end分支结构if 表达式 1 语句1 else if 表达式 2(可选) 语句2 else(可选) 语句3 end end 说明:1.if结构是一个条件分支语句,若满足表达式的条件,则往下执行;若不满足,则跳出if结构。2else if表达式2与else为可选项,这两条语句可依据具体情况取舍。3注意:每一个if都对应一个end,即有几个if,记就应有几个end。switch-case结构语法:switch表达式case常量表达式1 语句组1 case常量表达式2 语句组2 otherwise 语句组n end 说明:1switch后面的表达式可以是任何类型,如数字、字符串

20、等。2当表达式的值与case后面常量表达式的值相等时,就执行这个case后面的语句组如果所有的常量表达式的值都与这个表达式的值不相等时,则执行otherwise后的执行语句。程序流程控制指令break、return、pause 2、函数文件的结构和编写方法 函数只能在函数体内对变量进行操作,也就是只能访问函数本身工作空间中的变量。M函数文件的结构(1) 函数定义行(function) (2) H1行(函数帮助文本的第一行) (3) 函数帮助文本(4) 函数体(5) 注释函数文件编写后,保存时,其文件名必须与函数名相同。注意:函数名不要与MATLAB自身的函数命令相同。三、实验内容: 练习A 1

21、、熟悉MATLAB程序编辑与设计环境2、用for循环语句实现求1100的和。3、用for循环语句实现编写一个求n阶乘的函数文件。4、Fibonacci数组的元素满足Fibonacci 规则:且 ,现要求该数组中第一个大于10000的元素。练习B 思考题4、已知一维数组A=2,4,5,8,10,B=4,6,9,3,4,用for循环语句实现。求和函数可用sum()。.5、利用for循环求1!+2!+3!+ +5!的值。.实验四 MATLAB的图形绘制 一、实验目的: 1、学习MATLAB图形绘制的基本方法; 2、熟悉和了解MATLAB图形绘制程序编辑的基本指令; 3、熟悉掌握利用MATLAB图形编

22、辑窗口编辑和修改图形界面,并添加图形的各种标注; 4、掌握plot、subplot的指令格式和语法。二、实验基本知识: 1、plot(x,y)-绘制由x,y所确定的曲线; 2、多组变量绘图:plot(x1, y1, 选项1, x2, y2, 选项2, ); 3、双Y轴绘图:plotyy()函数; 4、图形窗口的分割; 5、图形编辑窗口的使用。 三、实验内容 练习A 【1】二维曲线绘图基本指令演示。本例运作后,再试验plot(t), plot(Y), plot(Y,t) ,以观察产生图形的不同。t=(0:pi/50:2*pi); k=0.4:0.1:1; Y=cos(t)*k; plot(t,Y

23、)plot指令基本操作演示【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】在一个图形窗口绘制正弦和余弦曲线,要求给图形加标题“正弦和余弦曲线”,X轴Y轴分别标注为“时间t”和“正弦、余弦”,在图形的某个位置标注“sin(t)”“cos(t)”,并加图例,显示网格,坐标为正方形坐标系。【4】绘制向量

24、x=1 3 0.5 2.5 2的饼形图,并把3对应的部分分离出来。【5】绘制参数方程x=t,y=sin(t),z=cos(t)在t=0 7区间的三维曲线。【6】用hold on命令在同一个窗口绘制曲线y=sin(t),y1=sin(t+0.25)y2=sin(t+0.5),其中t=0 10。【7】观察各种轴控制指令的影响。演示采用长轴为3.25,短轴为1.15的椭圆。注意:采用多子图(图6.2-4)表现时,图形形状不仅受“控制指令”影响,而且受整个图面“宽高比”及“子图数目”的影响。t=0:2*pi/99:2*pi; x=1.15*cos(t);y=3.25*sin(t); subplot(2

25、,3,1),plot(x,y),axis normal,grid on, title(Normal and Grid on) subplot(2,3,2),plot(x,y),axis equal,grid on,title(Equal) subplot(2,3,3),plot(x,y),axis square,grid on,title(Square) subplot(2,3,4),plot(x,y),axis image,box off,title(Image and Box off) subplot(2,3,5),plot(x,y),axis image fill,box off tit

26、le(Image and Fill) subplot(2,3,6),plot(x,y),axis tight,box off,title(Tight)各种轴控制指令的不同影响实验五 线性系统时域响应仿真分析一实验目的:1. 熟悉MATLAB软件分析系统时域响应方法。通过观察典型二阶系统在单位阶跃、脉冲、斜坡信号作用下的动态特性,熟悉各种典型的响应曲线。2. 通过二阶系统定性及定量了解参数变化对动态特性的影响。分析参数变化时对系统响应的影响。二实验设备:PC机及MATLAB软件。三实验方法:1. 一阶系统阶跃响应: 图示RC网络为一阶系统 图9-1 研究图9-1所示电路,其运动方程为 式中,T=

27、RC为时间常数.当初始条件为零时,其传递函数为 若R=1,C=0.01F, 则T=RC=0.01s。 传递函数 (s)= 1/(0.01s+1) 求单位阶跃响应的MATLAB程序如下:设 K=1、 T=0.01 % Exampleclearclear all num=1; den=0.01 1; step(num,den)执行后可得如下图形: 图5-2 2. 求当K=1, T=0.1, 0.5, 1 , 2s时的阶跃响应,记录曲线列表求出 ts并分析。为读数方便,可加入step(num,den);grid on。数据可保留两位有效数字(二)位置随动系统可以用如下二阶系统模型描述: n自然频率,

28、 相对阻尼系数1试绘制n=6, =0.2, 0.4, 1.0, 2.0时的单位阶跃响应。MATLAB程序: % Example 2.1wn=6; kosi=0.1:0.2:1.0 ,2.0; figure(1) hold on for kos=kosinum=wn.2;den=1,2*kos*wn,wn.2;step(num,den)end title(Step Response)hold off2绘制典型二阶系统 ,当=0.7, n=2, 4, 6, 8时的单位阶跃响应。 MATLAB程序:% Example 2.2w=2:2:8; kos=0.5; figure(1) hold on for wn=w num=wn.2; den=1,2*kos*wn,wn.2;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1