《MATLAB讲义第二章.ppt》由会员分享,可在线阅读,更多相关《MATLAB讲义第二章.ppt(40页珍藏版)》请在三一办公上搜索。
1、2023年7月31日,第1页,第2章 基本使用方法,MATLAB 2006a 简明教程 清华大学出版社,教学目标教学重点教学内容,2023年7月31日,第2页,教学目标,掌握利用 MATLAB 2006 的命令窗口进行简单的数学运算掌握常用的操作命令和快捷键了解 MATLAB 2006 的数据类型了解 MATLAB 2006 的操作符了解 MATLAB 2006 的基本数学函数了解 MATLAB 2006 脚本编程,2023年7月31日,第3页,教学重点,掌握利用 MATLAB 2006 的命令窗口进行简单的数学运算掌握常用的操作命令和快捷键了解 MATLAB 2006 的数据类型了解 MAT
2、LAB 2006 的操作符,2023年7月31日,第4页,教学内容,简单的数学运算常用的操作命令和快捷键MATLAB 2006a 的数据类型MATLAB 2006a 的操作符MATLAB 2006a 的基本数学函数MATLAB 2006a 脚本编程,2023年7月31日,第5页,简单的数学运算(1/5),最简单的计算器使用法直接输入法 存储变量法,2023年7月31日,第6页,简单的数学运算(2/5),表达式书写规则在大多数情况下,MATLAB 对空格不予处理,因此在书写表达式时,可以利用空格调整表达式的格式,使表达式更易于阅读。在 MATLAB 表达式中,遵守四则运算法则,与通常法则相同。即
3、运算从左到右进行,乘法和除法优先于加减法,指数运算优先于乘除法,括号的运算级别最高;在有多重括号存在的情况下,从括号的最里边向最外边逐渐扩展。需要注意的是,在 MATLAB 中只用小括号代表运算级别,中括号只用于生成向量和矩阵,花括号用于生成单元数组。,2023年7月31日,第7页,简单的数学运算(3/5),MATLAB 的数学运算符 需要注意的是,右除和左除的意义并不相同。右除为常规的除法,而左除的意义为:ab=b/a。,2023年7月31日,第8页,简单的数学运算(4/5),标点符号的使用 在 MATLAB 中,标点符号有着充分的意义,可以用标点符号进行运算,或者标点符号可以包含特定的意义
4、。,2023年7月31日,第9页,简单的数学运算(5/5),分号(;)分号用于区分数组的行,或者用于一个语句的结尾处,取消运行显示。百分号(%)该符号用于在程序文本中添加注释,增加程序的可读性。百分号之后的文本都将视作注释,系统不对其进行编译。,2023年7月31日,第10页,常用的操作命令和快捷键(1/3),为方便用户操作,MATLAB 中定义了一些快捷键。掌握一些常用的操作命令和快捷键,可以使得对 MATLAB 的操作更加便利。,2023年7月31日,第11页,常用的操作命令和快捷键(2/3),常用的操作命令,2023年7月31日,第12页,常用的操作命令和快捷键(3/3),常用的操作快捷
5、键,2023年7月31日,第13页,MATLAB 2006a 的数据类型,整数 浮点数 复数 逻辑变量 各种数据类型之间的运算 各种数据类型之间的转换 数据类型操作函数 变量 系统预定义的特殊变量,2023年7月31日,第14页,整数,MATLAB 支持8位、16位、32位和64位的有符号和无符号整数数据类型。上述整数数据类型除了定义范围不同外,具有相同的性质。,2023年7月31日,第15页,定义整数变量,定义变量:由于 MATLAB 默认的数据类型为双精度型,因此在定义整形变量时,需指定变量的数据类型。,2023年7月31日,第16页,整数运算(1/2),运算:类型相同的整数之间可以进行运
6、算,返回相同类型的结果。在进行加、减和乘法运算时比较简单,在进行除法运算时稍微复杂一些,因为在多精度情况下,整数的除法不一定能得到整数的结果。在进行除法时,MATLAB 首先将两个数视为双精度类型进行运算,然后将结果转化为相应的整形数据。MATLAB 中不允许进行不同整数类型之间的运算。,2023年7月31日,第17页,整数运算(2/2),由于每种整数数据类型都有相应的取值范围,因此数学运算有可能产生结果溢出。MATLAB 利用饱和处理处理此类问题,即当运算结果超出了此类数据类型的上限或下限时,系统将结果设置为该上限或下限。例 2-10 整数运算中的数据溢出 x=int8(100);y=int
7、8(90);z=x+yz=127 x-3*yans=-27 x-y-y-yans=-128,结果溢出上限,因此结果为127,3*y溢出上限,结果为127,继续计算,得到最后结果-27,计算x-y-y-y时,从左到右进行计算,结果溢出下限,因此结果为-128,2023年7月31日,第18页,浮点数(1/2),MATLAB 的默认数据类型是双精度类型(double)。为了节省存储空间,MATLAB 也支持单精度数据类型的数组。单精度和双精度数据类型的取值范围和精度可以通过例 2-11 的方式进行查看,2023年7月31日,第19页,浮点数(2/2),例 2-11 单精度和双精度数据类型的取值范围和
8、精度 realmin(single)ans=1.1755e-038 realmax(single)ans=3.4028e+038 eps(single)ans=1.1921e-007 realmin(double)ans=2.2251e-308 realmax(double)ans=1.7977e+308 eps(double)ans=2.2204e-016创建单精度类型的变量时需要声明变量类型,与创建整型变量类似。单精度数据类型的数据进行运算时,返回值为单精度。,2023年7月31日,第20页,复数,复数由两个部分组成:实部和虚部。基本虚数单位等于,在 MATLAB 中虚数单位由 i 或者
9、j 表示。MATLAB 中可以通过两种方法创建复数,第一种方法为直接输入法,另一种创建复数的方法为通过 complex 函数。,2023年7月31日,第21页,复数,complex 函数的调用方法如下。c=complex(a,b),返回结果 c 为复数,其实部为 a,虚部为 b。输入参数 a 和 b 可以为标量,或者维数、大小相同的向量、矩阵或者多维数组,输出参数和 a 和 b 的结构相同。a 和 b 可以有不同的数据类型,当 a 和 b 为各种不同的类型时,返回值分别为:当 a 和 b 中有一个为单精度时,返回结果为单精度;如果 a 和 b 其中一个为整数类型,则另外一个必须有相同的整数类型
10、,或者为双精度型,返回结果 c 为相同的整数类型。c=complex(a),只有一个输入参数,返回结果 c 为复数,其实部为 a,虚部为 0。但是此时 c 的数据类型为复数。,2023年7月31日,第22页,逻辑数组(1/5),逻辑数据类型通过 1 和 0 分别表示逻辑真和逻辑假。一些 MATLAB 函数或操作符会返回逻辑真或逻辑假表示条件是否满足。如表达式(5*10)40 返回逻辑真。在 MATLAB 中,存在逻辑数组,如下面的表达式返回逻辑数组:30 40 50 60 70 40ans=0 0 1 1 1,2023年7月31日,第23页,逻辑数组(2/5),逻辑数组的创建 创建逻辑数组的最
11、简单的方法为直接输入元素的值为 true 或者 false 逻辑数组也可以通过逻辑表达式生成,2023年7月31日,第24页,逻辑数组(3/5),MATLAB 中返回逻辑值的函数和操作符,2023年7月31日,第25页,逻辑数组(4/5),逻辑数组的应用 用于条件表达式 如果仅当条件成立时执行某段代码,可以应用逻辑数组进行判断和控制 用于数组索引在 MATLAB 中支持通过一个数组对另一个数组进行索,2023年7月31日,第26页,逻辑数组(5/5),逻辑数组的判断 MATLAB 中提供了一组函数用于判断数组是否为逻辑数组,2023年7月31日,第27页,各种数据类型之间的运算,在上面介绍的各
12、种数据类型中,只有双精度数据类型可以与其他数据类型数据进行运算,返回结果为双精度外的另一个数据的数据类型。,2023年7月31日,第28页,各种数据类型之间的转换,在 MATLAB 中,各种数据类型之间可以互相转化,转化方式为:1)datatype(variable),其中 datatype 为目标数据类型,variable 为待转化的变量;2)cast(x,type),将x的类型转化为type指定的类型。转化时,如果由高精确度数据类型转化为低精确度数据类型,则对数据进行四舍五入;如果由定义范围大的数据类型转化为定义范围小的数据类型,则返回目标数据类型的上限或下限。,2023年7月31日,第2
13、9页,数据类型操作函数,其中的 type 包括 numeric、integer、float 和所有的数据类型。,2023年7月31日,第30页,变量,MATLAB 的变量命名规则与其他计算机语言类似,这一节介绍 MATLAB 的命名规则。首先,变量名必须是一个单一的词,不能包含空格,另外其命名必须符合下列规则:(1)变量名区分大小写。如 pi 和 Pi 是两个不同的变量。在命令窗口中输入如下的命令,查看其结果。(2)变量名长度不超过63个字符,超过的部分将会被忽略。(3)变量名必须以字母开始,其后可以为字母、数字或者下划线。MATLAB 中的变量名不支持其他符号,因为其他符号在 MATLAB
14、中具有特殊的意义。,2023年7月31日,第31页,MATLAB 中的常用数学函数,MATLAB 提供了一系列的函数支持基本的数学运算,这些函数中的大多数调用格式和我们平时的书写习惯一致,方便用户记忆和书写。,2023年7月31日,第32页,MATLAB 2006a 的操作符,关系运算符 MATLAB 的关系运算符能用来比较两个相同大小的数组,或用来比较一个数组和一个标量。MATLAB 的关系运算符包括所有常用的比较运算符,如表所示,2023年7月31日,第33页,逻辑运算符,逻辑运算符主要包括“与”、“或”和“非”。使用逻辑运算符可以将多个表达式组合在一起,或者对关系表达式取反。MATLAB
15、 中的逻辑运算符如表所示。,2023年7月31日,第34页,运算符优先级,MATLAB 在执行含有关系运算和逻辑运算的数学运算时,同样遵循一套优先级原则。MATLAB 首先执行具有较高优先级的运算,然后执行具有较低优先级的运算;如果两个运算的优先级相同,则按从左到右的顺序执行。MALTAB 中各运算符的优先级顺序如表所示,表中按照优先级从高到低的顺序排列各运算符。,2023年7月31日,第35页,MATLAB 2006a 的基本数学函数,位操作函数 逻辑运算函数 集合函数 时间与日期函数,2023年7月31日,第36页,MATLAB 2006a 脚本编程,对于一些简单的问题,当需要的命令数很少
16、时,用户可以直接在 MATLAB 的命令窗口中输入命令。但是,对于多数问题,所需的命令较多,或者需要逻辑运算,进行流程控制,此时采用直接输入命令的方法则会引起不便。针对这些问题,一个合理的解决方法是使用脚本文件。脚本文件不接受输入参数,不返回任何值,而是代码的结合,该方法允许用户将一系列 MATLAB 命令输入到一个简单的脚本文件中,只要在 MATLAB 命令窗口中执行该文件,则会依次执行该文件中的命令。在使用脚本文件时需要注意一点:当当前工作区中存在与该脚本同名的变量时,则当输入该文件名时,系统将其作为变量名执行。,2023年7月31日,第37页,块注释,在 MATLAB 7.0 以前的版本
17、中,注释是逐行进行的,采用百分号(%)进行标记。逐行注释不利于用户增加和修改注释内容。在 MATLAB 7.0 及以后的版本中,用户可以使用“%”和“%”符号进行块注释,“%”和“%”分别代表注释块的起始和结束。,2023年7月31日,第38页,代码单元,在以往的版本中,MATLAB 通过编译器提供的操作命令和工具执行一段选中的代码。在 MATLAB 7 及以后的新版本中,用户可以使用代码单元完成这一操作。一个代码单元指用户在 M 文件中指定的一段代码,以一个代码单元符号(两个百分号加空格,即“%”为开始标志,到另一个代码单元符号结束,如果不存在代码单元符号,则直到该文件结束。用户可以通过 MATLAB 编辑器中的 cell 菜单创建和管理代码单元。,需要注意的是,代码单元只能在 MATLAB 编辑器窗口中创建和使用,而在 MATLAB 命令窗口中是无效的。当作命令窗口中运行 M 文件时,将执行文件中的全部语句。,2023年7月31日,第39页,2023年7月31日,第40页,
链接地址:https://www.31ppt.com/p-5598991.html