欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    《MATLAB仿真技术》实验指导书附答案分析.docx

    • 资源ID:5983743       资源大小:1.73MB        全文页数:42页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《MATLAB仿真技术》实验指导书附答案分析.docx

    1、MATLAB仿真技术实验指导书附答案分析实验项目及学时安排实验一 MATLAB环境的熟悉与基本运算 2学时实验二 MATLAB数值计算实验 2学时实验三 MATLAB数组应用实验 2学时实验四 MATLAB符号计算实验 2学时 实验五 MATLAB的图形绘制实验 2学时实验六 MATLAB的程序设计实验 2学时实验七 MATLAB工具箱Simulink的应用实验 2学时实验八 MATLAB图形用户接口GUI的应用实验 2学时实验一 MATLAB环境的熟悉与基本运算一、实验目的 1熟悉MATLAB开发环境2掌握矩阵、变量、表达式的各种基本运算二、实验基本知识 1.熟悉MATLAB环境: MATL

    2、AB桌面和命令窗口、命令历史窗口、帮助信息浏览器、工作空间浏览器、文件和搜索路径浏览器。2.掌握MATLAB常用命令clc 清除命令窗口中内容clear 清除工作空间中变量help 对所选函数的功能、调用格式及相关函数给出说明lookfor 查找具有某种功能的函数但却不知道该函数的准确名称who查询工作空间中的变量信息3.MATLAB变量与运算符变量命名规则如下: (1) 变量名可以由英语字母、数字和下划线组成(2) 变量名应以英文字母开头(3) 长度不大于31个(4) 区分大小写MATLAB中设置了一些特殊的变量与常量,列于下表。表1 MATLAB的特殊变量与常量变量名 功能说明 变量名 功

    3、能说明 ANS 默认变量名,以应答最近一次操作运算结果realmin 最小的正实数i或j 虚数单位INF(inf) 无穷大pi 圆周率NAN(nan) 不定值(0/0) eps 浮点数的相对误差nargin 函数实际输入参数个数realmax 最大的正实数nargout 函数实际输出参数个数 MATLAB运算符,通过下面几个表来说明MATLAB的各种常用运算符表2 MATLAB算术运算符操作符 功能说明 操作符 功能说明 + 加 矩阵左除- 减. 数组左除* 矩阵乘/ 矩阵右除.* 数组乘./ 数组右除 矩阵乘方 矩阵转置. 数组乘方. 数组转置表3 MATLAB关系运算符操作符 功能说明 =

    4、 等于= 不等于 大于= 大于等于= 小于等于表4 MATLAB逻辑运算符逻辑运算符 逻辑运算 说明 & And 逻辑与| Or 逻辑或 Not 逻辑非Xor 逻辑异或表5 MATLAB特殊运算符号 功能说明示例 符号 功能说明示例 : 1:1:4;1:2:11 . ; 分隔行 . , 分隔列 () % 注释构成向量、矩阵 ! 调用操作系统命令构成单元数组= 用于赋值 4.MATLAB的一维、二维数组的寻访表6 子数组访问与赋值常用的相关指令格式指令格式 指令功能 A(r,c) 数组A中r指定行、c指定列之元素组成的子数组A(r,:) 数组A中r指定行对应的所有列之元素组成的子数组A(:,c)

    5、 数组A中c指定列对应的所有行之元素组成的子数组A(:) 数组A中各列元素首尾相连组成的“一维长列”子数组A(i) 一维长列子数组中的第i个元素A(r,c)=Sa 数组A中r指定行、c指定列之元素组成的子数组的赋值A(:)=D(:) 数组全元素赋值,保持A的行宽、列长不变,A、D两组元素总合应相同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

    6、.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 内维相同矩阵相乘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.MA

    7、TLAB的常用函数表8 标准数组生成函数指令含义指令含义diag 产生对角形数组(对高维不适用)rand 产生均匀分布随机数组eye 产生单位数组(对高维不适用) randn产生正态分布随机数组magic 产生魔方数组(对高维不适用) zeros产生全0数组ones 产生全1数组size()返回指定矩阵的行数和列数表9 数组操作函数指令 含义 diag 提取对角线元素,或生成对角阵flipud以数组“水平中线”为对称轴,交换上下对称位置上的数组元素fliplr 以数组“垂直中线”为对称轴,交换左右对称位置上的数组元素reshape在总元素数不变的前提下,改变数组的“行数、列数” rot90 矩

    8、阵逆时针旋转90度det 方阵的行列式值rank 矩阵的秩三、实验内容 1、学习使用help命令,例如在命令窗口输入help eye,然后根据帮助说明,学习使用指令eye(其它不会用的指令,依照此方法类推) 2、学习使用clc、clear,观察command window、command history和workspace等窗口的变化结果。3、初步程序的编写练习,新建M-file,保存(自己设定文件名,例如exerc1、exerc2、 exerc3),学习使用MATLAB的基本运算符、数组寻访指令、标准数组生成函数和数组操作函数。注意:每一次M-file的修改后,都要存盘。(1) help r

    9、and,然后随机生成一个26的数组,观察并记录command window、command history和workspace等窗口的变化结果。(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)二维数组的创建和

    10、寻访,创建一个二维数组(48)A,查询数组A第2行、第3列的元素,查询数组A第2行的所有元素,查询数组A第6列的所有元素。(6) 两种运算指令形式和实质内涵的比较。设有3个二维数组A24,B24,C22,写出所有由2个数组参与的合法的数组运算和矩阵指令。A+B; A-B C*A, C*B A/B A.*B A.+B A.-B A./B A.BAB(7) 学习使用表8列的常用函数(通过help方法) (8) 学习使用表9数组操作函数。 (9)用reshape指令生成下列矩阵,并取出方框内的数组元素。实验二 MATLAB数值计算实验 实验目的1、了解伴随矩阵、稀疏矩阵、魔方矩阵、对角矩阵等各种矩阵

    11、的创建,掌握矩阵的基本运算2、掌握矩阵的数组运算3、掌握多项式的基本运算4、会求解代数方程 实验基本知识1、创建矩阵的方法:直接输入法、用MATLAB函数创建矩阵2、矩阵运算:矩阵加、减(,)运算矩阵乘()运算矩阵乘方inv 矩阵求逆det 行列式的值eig 矩阵的特征值diag 对角矩阵 矩阵转置sqrt 矩阵开方3、矩阵的数组运算:数组加减(.+,.-):对应元素相加减数组乘():a,b两数组必须有相同的行和列,两数组相应元素相乘数组除(./,.):a./b=b.a 都是b的元素被a的对应元素除(a除以b)a.b=b./a 都是a的元素被b的对应元素除(b除以a)数组乘方(.):元素对元素

    12、的幂数组点积(点乘):维数相同的两个向量的点乘,其结果是一个标量数组叉积:就是一个过两个相交向量的交点且垂直于两个向量所在平面的向量数组混合积:先叉乘后点乘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 采用求逆

    13、运算解方程 x=ab 采用左除运算解方程 2)超定方程组的解方程 ax=b ,mn时此时不存在唯一解。 x=(a a)-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 %度数单位 三、实验内容1、生成一个3行3列的随机矩阵,并逆时针旋转

    14、90,左右翻转,上下翻转。2、已知a=1 2 3,b=4 5 6, 求a.b和a./b3、数组和矩阵有何不同?数组中的元素可以是字符等,矩阵中的只能是数,这是二者最直观的区别。从外观形状和数据结构上看,二维数组和数学中的矩阵没有区别。但是矩阵作为一种变换或映射算子的体现,矩阵运算有着明确而严格的数学规则。而数组运算是Matlab软件所定义的规则,其目的是为了数据管理方便、操作简单、指令形式自然和执行计算的有效。虽然数组运算尚缺乏严谨的数学推理,而且数组运算仍在完善和成熟中,但是它的作用和影响正随着matlab的发展而扩大。4、已知a=1 2 3;4 5 6;7 8 0,求其特征多项式并求其根。

    15、5、求解方程 1) 2)6、用两种方法创建符号矩阵,A = a, 2*b 3*a, 0 7、对符号方程f = ax2+bx+c 求解 1)对x求解;2)对a求解。8、求解微分方程。实验三 MATLAB数组应用实验 实验目的1、掌握字符串数组、单元数组创建及显示、结构数组创建及访问2、掌握符号表达式的微分和积分运算 实验基本知识 字符串数组相关命令 直接输入法-用单引号或者大括号+单引号 disp(S)法-S是字符串,作用是显示出S的文本 char(S)法-S是字符串,作用是显示出S的文本 input(out,in)法-显示出字符串out的文本并等待终端的输入,in可缺省 在字符串中用两个单引号

    16、来表示一个单引号 findstr(S1,S2)-在较长字符串里查找较短字符串所在的位置并返回位置值 str2mat()-字符串转换成矩阵 str2num()、num2str()-字符串与数值互相转换 单元数组相关命令 直接创建法-使用大括号 、对细胞元素直接赋值 cell(m,n)-创建一个m*n的空细胞矩阵(所有行的细胞数必须相同) celldisp()-逐个显示cell中的每个元素值 cellplot(C)-用彩色的图形来显示单元型变量C的结构形式 结构数组相关命令 直接输入法-使用“.”将结构变量名和元素名连接格式:struct_name(record#).field_name = da

    17、ta S = struct(field1,V1,field2,V2,)-field为各成员变量名,V为对应的各成员变量的内容 S = rmfield(S,fields)-将结构数组S中的fields项删除,仍用数组名S表示 结构体名称.数组名称-在结构数组中调用元素项 C = strcuct2cell(S)、S = cell2struct(C)-结构数组与单元数组的转换 map容器 mapobj = containers.Map(key1,key2,val1,val2,)-创建map对象 keys()、values()-查看map对象 existingmapobj(newkeysname) =

    18、 newvalue - 在一个map对象中添加新元素 remove(mapname,keyname) - 从一个map对象中删除keys/values对三、实验内容 创建一个名为S、内容为“matlab programming for engineers.”的字符串,并查找字符串S中字母为“g”出现的位置以及出现的次数。 创建大小为22的单元数组,其元素分别为:字符串(Sun Yang,Liu Wen)、字符串数组(char(2012001,2012002))、数值矩阵((85 89 90;80 87 88))和细胞数组(Maths,Maths,Matlab)。 创建一个数组名为student

    19、的结构数组,其内容如下表所示:IDNameAgeSexScore3001zhao20F903002wang21M863003yang18F883004liu19F80实验四 MATLAB符号计算实验 实验目的1、掌握创建符号表达式和矩阵的方法2、掌握符号表达式的微分和积分运算 实验基本知识1、符号矩阵的创建1)用matlab函数sym创建矩阵(symbolic 的缩写)命令格式:A=sym( ) 2)用字符串直接创建矩阵2、符号矩阵的修改直接修改:可用、 键找到所要修改的矩阵,直接修改3、符号矩阵与数值矩阵的转换将数值矩阵转化为符号矩阵,函数调用格式:double(A)将符号矩阵转化为数值矩阵

    20、,函数调用格式: numeric(A)4、符号微积分与积分变换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)区间求定积分5、符号代数方程求解solve(f) 求一个方程的解solve(f1,f2, fn) 求n个方程的解6、符号微分方程求解指令:dsolve命令格式:dsolve(f,g): f 微分方程,可多至12个微分方程的求解;g为初始条件,默认自变量为 x,可任意指定自变量t, u

    21、等,微分方程的各阶导数项以大写字母D表示 三、实验内容1、用符号方法求下列极限 1) 2)2、用符号方法求下列积分 1) 2)实验五 MATLAB的图形绘制实验一、实验目的 1、学习MATLAB二维、三维图形绘制的基本方法; 2、熟悉和了解MATLAB图形绘制程序编辑的基本指令; 3、熟悉掌握利用MATLAB图形编辑窗口编辑和修改图形界面,并添加图形的各种标注; 4、掌握clf、plot、plot3、subplot、hold、figure、gtext、mesh、surf、cylinder、sphere、polar、bar、hist、pie、area、fill、scatter、stairs、st

    22、em、contour等的指令格式和语法。二、实验基本知识 1、plot(x,y)-绘制由x,y所确定的曲线; 2、多组变量绘图:plot(x1, y1, 选项1, x2, y2, 选项2, ); 3、双Y轴绘图:plotyy()函数; 4、图形窗口的分割; 5、图形编辑窗口的使用。 三、实验内容 (1)绘制下列函数二维图形。y=k*cos(t),t0,2,k0.4,1,分布以plot(t,y)、plot(t)、plot(y)、plot(y,t)产生图形并记录观察其不同。(2)绘制连续调制波形Y=sin(t)sin(9t) 及其包络线。(参考)(3)绘制向量x=1 3 0.5 2.5 2的饼形图

    23、,并把3对应的部分分离出来。(4)绘制参数方程x=t,y=sin(t),z=cos(t)在t=0 7区间的三维曲线。(5)用hold on命令在同一个窗口绘制曲线y=sin(t),y1=sin(t+0.25),y2=sin(t+0.5),其中t0 10。(参考)(6)使用sphere()函数产生球面坐标,绘制网线图和表面图。实验六 MATLAB的程序设计实验一、实验目的 1、熟悉MATLAB程序编辑与设计环境2、掌握各种编程语句语法规则及程序设计方法 3、函数文件的编写和设计 4、了解和熟悉跨空间变量传递和赋值 二、实验基本知识 1、程序流程控制语句 for循环结构语法:for i初值:增量:

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

    25、e循环也可以嵌套、其结构如下: 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结构。2else if表达式2与else为可选项,这两条语句可依据具体情况取舍。3注意:每一个if都对应一个end,即有几个if,记就应有几个end。switch-case结构语法:switch表达式case常量表达式1 语句组1

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

    27、(5) 注释函数文件编写后,保存时,其文件名必须与函数名相同。注意:函数名不要与MATLAB自身的函数命令相同。三、实验内容: 1、用for循环语句实现求1100的和。2、用循环语句实现编写一个求n阶乘的函数文件。3、已知一维数组A=2,4,5,8,10,B=4,6,9,3,4,用for循环语句实现。求和函数可用sum()。.实验七 MATLAB工具箱Simulink的应用实验一、实验目的: 1、熟悉SIMULINK 工作环境及特点2、掌握线性系统仿真常用基本模块的用法3、掌握SIMULINK 的建模与仿真方法二、实验基本知识: 1、了解SIMULINK模块库中各子模块基本功能2、SIMULINK 的建模与仿真方法(1)打开模块库,找出相应的模块。鼠标左键点击相应模块,拖拽到模型窗口中即可。(2)创建子系统:当模型大而复杂时,可创建子系统。(3)设置仿真控制参数。三、实验内容 1、建立实现y=sin2tsin3t的Simulink模型,并进行仿真分析,相应的输入输出曲线在示波器上显示。2、根据下列要求和图,完成以下任务:(1)在Simulink集成环境下建立模型,在给定信号作用点处输入单位给定阶跃响应信号,0.3秒后在扰动信号点输入单位阶跃响应信号,并绘制相应的响应曲线。(2)计算仿真结果的超调量、上升时间


    注意事项

    本文(《MATLAB仿真技术》实验指导书附答案分析.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开