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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

实验五 matlab基础知识简单.docx

1、实验五 matlab基础知识简单本次实验注意:实验五MALTAB基础知识(简单)实验五 基于Matlab的信号频谱分析(复杂) 选作一个即可实验五 MALTAB基础知识(一)实验目的 2(二)实验设备 2(三)实验要求 2(四)实验内容 21.1 MATLAB基础知识 21.1.1 MATLAB程序设计语言简介 21.1.2 MATLAB界面及帮助 21.2 MATLAB基本运算 41.2.1 MATLAB内部特殊变量和常数 41.2.2 变量类型 41.2.3 内存变量管理 51.2.4 MATLAB常用数学函数 51.2.5 MATLAB矩阵生成 51.2.6 MATLAB矩阵运算 81.

2、2.7 MATLAB中的矩阵分析 101.3 MATLAB程序设计 101.3.1 M文件 101.3.2 程序控制结构 12实验五 MALTAB基础知识(一)实验目的 了解MATLAB 程序设计语言的基本特点,熟悉MATLAB软件运行环境 掌握创建、保存、打开m文件及函数的方法 掌握变量等有关概念,具备初步的将一般数学问题转化为对应的计算机模型并进行处理的能力(二)实验设备计算机,Matlab软件(三)实验要求本实验属于验证实验,请根据(四)实验内容的步骤,运行相应的指令或例子,并将仿真结果截图至文档(请自己新建一个word文档,注意,并不一定所有指令或例子的实验结果都要截图,截图数目大于等

3、于5个即可,自己选择性截图,答案不唯一,自由发挥)请在页眉处填写班级、学号、姓名,并将实验报告命名为“实验五_学号_姓名”,并通过FTP上传至指定文件夹。(四)实验内容1.1 MATLAB基础知识1.1.1 MATLAB程序设计语言简介MATLAB,Matrix Laboratory的缩写,是由MathWorks公司开发的一套用于科学工程计算的可视化高性能语言,具有强大的矩阵运算能力。与大家常用的Fortran和C等高级语言相比,MATLAB的语法规则更简单,更贴近人的思维方方式,被称为“草稿纸式的语言”。MATLAB软件主要由主包、仿真系统(simulink)和工具箱(toolbox)三大部

4、分组成。1.1.2 MATLAB界面及帮助MATLAB基本界面如图1-1所示,命令窗口包含标题栏、菜单栏、工具栏、命令行区、状态栏、垂直和水平波动条等区域。图1-1 MATLAB基本界面(1)菜单栏在MATLAB主窗口的菜单栏,共包含File、Edit、View、Web、Window和Help 6个菜单项。 File菜单项:File菜单项实现有关文件的操作。 Edit菜单项:Edit菜单项用于命令窗口的编辑操作。 View菜单项:View菜单项用于设置MATLAB集成环境的显示方式。 Web菜单项:Web菜单项用于设置MATLAB的Web操作。 Window菜单项:主窗口菜单栏上的Window

5、菜单,只包含一个子菜单Close all,用于关闭所有打开的编辑器窗口,包括M-file、Figure、Model和GUI窗口。 Help菜单项:Help菜单项用于提供帮助信息。(2)工具栏MATLAB主窗口的工具栏共提供了10个命令按钮。这些命令按钮均有对应的菜单命令,但比菜单命令使用起来更快捷、方便。(3)命令行区MATLAB按以下顺序对输入命令进行解释: 检查它是否是工作空间中的变量,实则显示变量内容。 检查它是否是嵌入函数,是则运行之。 检查它是否是子函数。 检查它是否是私有函数。 检查它是否是位于MATLAB搜索路径范围内的函数文件或脚本文件。MATLAB里有以下几种方法可获得帮助:

6、 (1)帮助命令(help)是查询函数相关信息的最直接方式,信息会直接显示在命令窗口中。键入help sin,会显示sin相关信息。(2)lookfor命令可以从键入的关键字列出所有相关的题材,和help相比,lookfor覆盖范围更广,可查找到某个主题所有词组或短语。(3)帮助窗口(help window)提供与帮助命令相同的信息,但帮助窗口界面更为方便直接。(4)帮助桌面(help desk)通过在命令窗口中选择帮助菜单的“help desk”选项或键入helpdesk命令即可进入帮助桌面。(5)在线帮助页是帮助桌面的在线帮助均有相应的PDF格式文件。(6)Mathworks网站,对于连接

7、入Internet的用户通过Mathworks公司的网站询问有关问题。1.2 MATLAB基本运算1.2.1 MATLAB内部特殊变量和常数MATLAB内部有很多变量和常数,用来表达特殊含义,常用的有: 变量ans:指示当前未定义变量名的答案。 常数eps:表示浮点相对精度,其值是从1.0到下一个最大浮点数之间的差值。 常数Inf:表示无穷大。 虚数单位i j:表示不定型值,是由0/0运算产生。 常数pi:表示圆周率。1.2.2 变量类型(1)变量命名规则MATLAB中对变量的命名应遵循以下规则: 变量名可以由字母、数字和下划线混合组成,但必须以字母开头。 字符长度不能大于31。 变量命名区分

8、大小写。(2)局部变量和全局变量局部变量是指那些每个函数体内自己定义的,不能从其他函数和MATLAB工作空间访问的变量。全局变量是指用关键字“global”声明的变量。全局变量名应尽量大写,并能反映它本身的含义。如果需要在工作空间和几个函数中都能访问一个全局变量,必须在工作空间和几个函数中都声明该变量是全局的。1.2.3 内存变量管理(1)内存变量的删除与修改clear命令用于删除MATLAB工作空间中的变量。clc命令用于清空MATLAB命令窗口中的变量。who和whos这两个命令用于显示在MATLAB工作空间中已经驻留的变量名清单。who命令只显示出驻留变量的名称,whos在给出变量名的同

9、时,还给出它们的大小、所占字节数及数据类型等信息。(2)内存变量文件利用MAT文件可以把当前MATLAB工作空间中的一些有用变量长久地保留下来,扩展名是.mat。MAT文件的生成和装入由save和load命令来完成。常用格式为:save 文件名 变量名表 -append-asciiload 文件名 变量名表 -ascii1.2.4 MATLAB常用数学函数MATLAB提供了许多数学函数,函数的自变量规定为矩阵变量,运算法则是将函数逐项作用于矩阵的元素上,因而运算的结果是一个与自变量同维数的矩阵。函数使用说明: 三角函数以弧度为单位计算。 abs函数可以求实数的绝对值、复数的模、字符串的ASCI

10、I码值。 用于取整的函数有fix、floor、ceil、round,要注意它们的区别。 rem与mod函数的区别。rem(x,y)和mod(x,y)要求x,y必须为相同大小的实矩阵或为标量。1.2.5 MATLAB矩阵生成MATLAB具有强大的矩阵运算和数据处理功能,对矩阵的处理必须遵从代数规则。(1)矩阵的建立 直接输入法最简单的建立矩阵的方法是从键盘直接输入矩阵的元素。具体方法如下:将矩阵的元素用方括号括起来,按矩阵行的顺序输入各元素,同一行的各元素之间用空格或逗号分隔,不同行的元素之间用分号分隔。 利用M文件建立矩阵对于比较大且比较复杂的矩阵,可以为它专门建立一个M文件。下面通过一个简单

11、例子来说明如何利用M文件创建矩阵。 利用冒号表达式建立一个向量冒号表达式可以产生一个行向量,一般格式是:e1:e2:e3,其中e1为初始值,e2为步长,e3为终止值。在MATLAB中,还可以用linspace函数产生行向量。其调用格式为:linspace(a,b,n),其中a和b是生成向量的第一个和最后一个元素,n是元素总数。显然,linspace(a,b,n)与a:(b-a)/(n-1):b等价。 建立大矩阵大矩阵可由方括号中的小矩阵或向量建立起来。(2)矩阵的拆分 矩阵元素通过下标引用矩阵的元素,例如A=1,2,3;4,5,6;A(1,2)ans=2采用矩阵元素的序号来引用矩阵元素。矩阵元

12、素的序号就是相应元素在内存中的排列顺序。在MATLAB中,矩阵元素按列存储,先第一列,再第二列,依次类推。例如A=1,2,3;4,5,6;A(3)ans=2显然,序号(Index)与下标(Subscript )是一一对应的,以mn矩阵A为例,矩阵元素A(i,j)的序号为(j-1)*m+i。其相互转换关系也可利用sub2ind和ind2sub函数求得。 矩阵拆分1) 利用冒号表达式获得子矩阵 A(:,j)表示取A矩阵的第j列全部元素;A(i,:)表示A矩阵第i行的全部元素;A(i,j)表示取A矩阵第i行、第j列的元素。 A(i:i+m,:)表示取A矩阵第ii+m行的全部元素;A(:,k:k+m)

13、表示取A矩阵第kk+m列的全部元素,A(i:i+m,k:k+m)表示取A矩阵第ii+m行内,并在第kk+m列中的所有元素。此外,还可利用一般向量和end运算符来表示矩阵下标,从而获得子矩阵。end表示某一维的末尾元素下标。2) 利用空矩阵删除矩阵的元素在MATLAB中,定义为空矩阵。给变量X赋空矩阵的语句为X=。注意,X=与clear X不同,clear是将X从工作空间中删除,而空矩阵则存在于工作空间中,只是维数为0。(3)特殊矩阵常用的产生通用特殊矩阵的函数有:zeros:产生全0矩阵(零矩阵)。ones:产生全1矩阵(幺矩阵)。eye:产生单位矩阵。rand:产生01间均匀分布的随机矩阵。

14、randn:产生均值为0,方差为1的标准正态分布随机矩阵。例1-1分别建立33、32和与矩阵A同样大小的零矩阵。(1) 建立一个33零矩阵。zeros(3)(2) 建立一个32零矩阵。zeros(3,2)(3) 设A为23矩阵,则可以用zeros(size(A)建立一个与矩阵A同样大小零矩阵。A=1 2 3;4 5 6; %产生一个23阶矩阵Azeros(size(A) %产生一个与矩阵A同样大小的零矩阵例1-2建立随机矩阵:(1) 在区间20,50内均匀分布的5阶随机矩阵。(2) 均值为0.6、方差为0.1的5阶正态分布随机矩阵。命令如下:x=20+(50-20)*rand(5)y=0.6+

15、sqrt(0.1)*randn(5)此外,常用的函数还有reshape(A,m,n),它在矩阵总元素保持不变的前提下,将矩阵A重新排成mn的二维矩阵。1.2.6 MATLAB矩阵运算 (1)算术运算 基本算术运算MATLAB的基本算术运算有:(加)、(减)、*(乘)、/(右除)、(左除)、(乘方)。注意,运算是在矩阵意义下进行的,单个数据的算术运算只是一种特例。1) 矩阵加减运算假定有两个矩阵A和B,则可以由A+B和A-B实现矩阵的加减运算。运算规则是:若A和B矩阵的维数相同,则可以执行矩阵的加减运算,A和B矩阵的相应元素相加减。如果A与B的维数不相同,则MATLAB将给出错误信息,提示用户两

16、个矩阵的维数不匹配。2) 矩阵乘法假定有两个矩阵A和B,若A为mn矩阵,B为np矩阵,则C=A*B为mp矩阵。3) 矩阵除法在MATLAB中,有两种矩阵除法运算:和/,分别表示左除和右除。如果A矩阵是非奇异方阵,则AB和B/A运算可以实现。AB等效于A的逆左乘B矩阵,也就是inv(A)*B,而B/A等效于A矩阵的逆右乘B矩阵,也就是B*inv(A)。对于含有标量的运算,两种除法运算的结果相同,如3/4和43有相同的值,都等于0.75。又如,设a=10.5,25,则a/5=5a=2.1000 5.0000。对于矩阵来说,左除和右除表示两种不同的除数矩阵和被除数矩阵的关系。对于矩阵运算,一般ABB

17、/A。4) 矩阵的乘方一个矩阵的乘方运算可以表示成Ax,要求A为方阵,x为标量。 点运算在MATLAB中,有一种特殊的运算,因为其运算符是在有关算术运算符前面加点,所以叫点运算。点运算符有.*、./、.和.。两矩阵进行点运算是指它们的对应元素进行相关运算,要求两矩阵的维参数相同。(2)关系运算MATLAB提供了6种关系运算符:(小于)、(大于)、=(大于或等于)、=(等于)、=(不等于)。它们的含义不难理解,但要注意其书写方法与数学中的不等式符号不尽相同。关系运算符的运算法则为: 当两个比较量是标量时,直接比较两数的大小。若关系成立,关系表达式结果为1,否则为0。 当参与比较的量是两个维数相同

18、的矩阵时,比较是对两矩阵相同位置的元素按标量关系运算规则逐个进行,并给出元素比较结果。最终的关系运算的结果是一个维数与原矩阵相同的矩阵,它的元素由0或1组成。 当参与比较的一个是标量,而另一个是矩阵时,则把标量与矩阵的每一个元素按标量关系运算规则逐个比较,并给出元素比较结果。最终的关系运算的结果是一个维数与原矩阵相同的矩阵,它的元素由0或1组成。例1-3产生5阶随机方阵A,其元素为10,90区间的随机整数,然后判断A的元素是否能被3整除。(1) 生成5阶随机方阵A。A=fix(90-10+1)*rand(5)+10)(2) 判断A的元素是否可以被3整除。P=rem(A,3)=0其中,rem(A

19、,3)是矩阵A的每个元素除以3的余数矩阵。此时,0被扩展为与A同维数的零矩阵,P是进行等于(=)比较的结果矩阵。(3)逻辑运算MATLAB提供了3种逻辑运算符:&(与)、|(或)和(非)。逻辑运算的运算法则为: 在逻辑运算中,确认非零元素为真,用1表示,零元素为假,用0表示。 设参与逻辑运算的是两个标量a和b,那么,a&b a,b全为非零时,运算结果为1,否则为0。a|b a,b中只要有一个非零,运算结果为1。a 当a是零时,运算结果为1;当a非零时,运算结果为0。 若参与逻辑运算的是两个同维矩阵,那么运算将对矩阵相同位置上的元素按标量规则逐个进行。最终运算结果是一个与原矩阵同维的矩阵,其元素

20、由1或0组成。 若参与逻辑运算的一个是标量,一个是矩阵,那么运算将在标量与矩阵中的每个元素之间按标量规则逐个进行。最终运算结果是一个与矩阵同维的矩阵,其元素由1或0组成。 逻辑非是单目运算符,也服从矩阵运算规则。在算术、关系、逻辑运算中,算术运算优先级最高,逻辑运算优先级最低。例1-4 建立矩阵A,然后找出大于4的元素的位置。A=4,-65,-54,0,6;56,0,67,-45,0find(A4)1.2.7 MATLAB中的矩阵分析(1)矩阵的转置转置运算符是单撇号。(2)矩阵的旋转利用函数rot90(A,k)将矩阵A旋转90的k倍,当k为1时可省略。(3)矩阵的逆对于一个方阵A,如果存在一

21、个与其同阶的方阵B,使得:AB=BA=I (I为单位矩阵)则称B为A的逆矩阵,当然,A也是B的逆矩阵。求一个矩阵的逆是一件非常烦琐的工作,容易出错,但在MATLAB中,求一个矩阵的逆非常容易。求方阵A的逆矩阵可调用函数inv(A)。(4)方阵的行列式把一个方阵看作一个行列式,并对其按行列式的规则求值,这个值就称为矩阵所对应的行列式的值。在MATLAB中,求方阵A所对应的行列式的值的函数是det(A)。(5)矩阵的秩矩阵线性无关的行数与列数称为矩阵的秩。在MATLAB中,求矩阵秩的函数是rank(A)。1.3 MATLAB程序设计1.3.1 M文件用MATLAB语言编写的程序,称为M文件。M文件

22、可以根据调用方式的不同分为两类:命令文件(Script File)和函数文件(Function File)。M文件是一个文本文件,它可以用任何编辑程序来建立和编辑,而一般常用且最为方便的是使用MATLAB提供的文本编辑器。(1)建立新的M文件启动MATLAB文本编辑器有3种方法: 菜单操作。从MATLAB主窗口的File菜单中选择New菜单项,再选择M-file命令,屏幕上将出现MATLAB 文本编辑器窗口。 命令操作。在MATLAB命令窗口输入命令edit,启动MATLAB文本编辑器后,输入M文件的内容并存盘。 命令按钮操作。单击MATLAB主窗口工具栏上的New M-File命令按钮,启动

23、MATLAB文本编辑器后,输入M文件的内容并存盘。(2)打开已有的M文件打开已有的M文件,也有3种方法: 菜单操作。从MATLAB主窗口的File菜单中选择Open命令,则屏幕出现Open对话框,在Open对话框中选中所需打开的M文件。在文档窗口可以对打开的M文件进行编辑修改,编辑完成后,将M文件存盘。 命令操作。在MATLAB命令窗口输入命令:edit 文件名,则打开指定的M文件。 命令按钮操作。单击MATLAB主窗口工具栏上的Open File命令按钮,再从弹出的对话框中选择所需打开的M文件。例1-5 分别建立命令文件和函数文件,将华氏温度f转换为摄氏温度c。程序1:首先建立命令文件并以文

24、件名f2c.m存盘。clear; %清除工作空间中的变量f=input(Input Fahrenheit temperature:);c=5*(f-32)/9然后在MATLAB的命令窗口中输入f2c,将会执行该命令文件,执行情况为:Input Fahrenheit temperature:73c = 22.7778程序2:首先建立函数文件f2c.m。function c=f2c(f)c=5*(f-32)/9然后在MATLAB的命令窗口调用该函数文件。clear;y=input(Input Fahrenheit temperature:);x=f2c(y)输出情况为:Input Fahrenhe

25、it temperature:70c = 21.1111x = 21.11111.3.2 程序控制结构(1)顺序结构 数据的输入,该函数的调用格式为:A=input(提示信息,选项);例1-5想输入一个人的姓名,可采用命令:xm=input(Whats your name?,s); %采用s选项,则允许用户输入一个字符串。 数据的输出,其调用格式为:disp(输出项); 程序的暂停可以使用pause函数,其调用格式为:pause(延迟秒数);如果省略延迟时间,直接使用pause,则将暂停程序,直到用户按任一键后程序继续执行。若要强行中止程序的运行可使用Ctrl+C命令。(2)选择结构 if语句

26、在MATLAB中,if语句有3种格式。1) 单分支if语句:if 条件 语句组 end当条件成立时,则执行语句组,执行完之后继续执行if语句的后继语句,若条件不成立,则直接执行if语句的后继语句。2) 双分支if语句:if 条件 语句组1 else 语句组2 end当条件成立时,执行语句组1,否则执行语句组2,语句组1或语句组2执行后,再执行if语句的后继语句。例1-6 计算分段函数的值。程序如下:x=input(请输入x的值:);if x=A & c=a& c=0& c=9 disp(abs(c)-abs(0);else disp(c);end switch语句 switch语句根据表达式的

27、取值不同,分别执行不同的语句,其语句格式为: switch 表达式 case 表达式1 语句组1 case 表达式2 语句组2 case 表达式m 语句组m otherwise 语句组n end当表达式的值等于表达式1的值时,执行语句组1,当表达式的值等于表达式2的值时,执行语句组2,当表达式的值等于表达式m的值时,执行语句组m,当表达式的值不等于case所列的表达式的值时,执行语句组n。当任意一个分支的语句执行完后,直接执行switch语句的下一句。例1-8 某商场对顾客所购买的商品实行打折销售,标准如下(商品价格用price来表示): price200 没有折扣 200price500 3

28、%折扣 500price1000 5%折扣 1000price2500 8%折扣 2500price5000 10%折扣5000price 14%折扣输入所售商品的价格,求其实际销售价格。程序如下:price=input(请输入商品价格);switch fix(price/100) case 0,1 %价格小于200 rate=0; case 2,3,4 %价格大于等于200但小于500 rate=3/100; case num2cell(5:9) %价格大于等于500但小于1000 rate=5/100; case num2cell(10:24) %价格大于等于1000但小于2500 rat

29、e=8/100; case num2cell(25:49) %价格大于等于2500但小于5000 rate=10/100; otherwise %价格大于等于5000 rate=14/100;endprice=price*(1-rate) %输出商品实际销售价格 try语句语句格式为:try 语句组1catch 语句组2endtry语句先试探性执行语句组1,如果语句组1在执行过程中出现错误,则将错误信息赋给保留的lasterr变量,并转去执行语句组2。例1-9 矩阵乘法运算要求两矩阵的维数相容,否则会出错。先求两矩阵的乘积,若出错,则自动转去求两矩阵的点乘。程序如下:A=1,2,3;4,5,6; B=7,8,9;10,11,12;try C=A*B;catch C=A.

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

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