第5章MATLAB710的数据类型.ppt

上传人:本田雅阁 文档编号:2566794 上传时间:2019-04-09 格式:PPT 页数:21 大小:542.51KB
返回 下载 相关 举报
第5章MATLAB710的数据类型.ppt_第1页
第1页 / 共21页
第5章MATLAB710的数据类型.ppt_第2页
第2页 / 共21页
第5章MATLAB710的数据类型.ppt_第3页
第3页 / 共21页
第5章MATLAB710的数据类型.ppt_第4页
第4页 / 共21页
第5章MATLAB710的数据类型.ppt_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《第5章MATLAB710的数据类型.ppt》由会员分享,可在线阅读,更多相关《第5章MATLAB710的数据类型.ppt(21页珍藏版)》请在三一文库上搜索。

1、第5章 MATLAB7.0的数据类型,MATLAB7.0支持15种基本的数据类型,每一种类型的数据都是以矩阵或数组的形式表现出来。本章主要介绍数值类型、逻辑类型和字符串类型。,5.1 MATLAB中的数据类型,MATLAB7.0支持多种数据类型,包括数值类型、字符和字符串、逻辑类型、元胞、构架和函数句柄等,用户还可以通过MATLAB“类”(class)建立自定义数据类型,所有类型的数据都被存储在矩阵或数组中进行操作,矩阵和数组可以从最小的的空矩阵到任意的n维。,5.2 数值类型,数值类型包括有符号整数类型、无符号整数类型、单精度浮点类型和双精度浮点类型,如图所示。,5.2.1 整数类型,MAT

2、LAB数值类型中的整数类型包括有符号、无符号整数类型各4种,分别是1-、2-、4-和8-字节(8位、16位、32位和64位)的整数类型。有符号类型允许表示负数,但是由于其需要分配1位字节作为符号位,所以表示的范围没有同等字节的无符号类型大;无符号类型不能表示负数,只能表示正整数和0。根据具体需要,用户应该选择不同的存储类型;例如,对于数值不大的整数“22”,就没有必要使用8-字节的类型来存储,因为1-字节整型所分配的内存空间已经足以满足此数的存储了。表列出了8种整数类型的名称、数值范围和转换函数。,5.2.2 单精度浮点型,MATLAB中,浮点数据类型有单精度和双精度两种,其构造规则都是依据I

3、EEE754标准(关于此标准的具体描述,本书不做解释,读者可以查询相关网站)制定。单精度数据需要32字节的存储空间,其空间分配如表所示。,单精度数据的字节位功能,指数位0,5.2.3 双精度浮点类型,双精度浮点类型是MATLAB中数值的默认类型,其构造规则与单精度一样,依照IEEE754标准。结合上面介绍的单精度表示范围,读者也就不难理解下面的双精度空间分配,如表所示。,双精度数据的字节位功能,指数位0,5.2.4 复数,MATLAB中,有几种属于双精度浮点型的特殊数据类型,为了对其概念和功能有清晰的认识,下面几小节将对复数、“无穷”和“非数”等概念逐一进行介绍。MATLAB7.0中,复数属于

4、双精度浮点数的一种特殊类型,用户可以无须任何特殊操作,把复数作为一个整体进行处理。,5.2.5 无穷,在经典的初等数学中,1/0是错误的表达式,是没有结果的。但是在MATLAB中,1/0是有意义的,结果为“Inf(Infinity)”,表示“无穷大”。MATLAB分别用“-Inf”和“Inf”表示“负无穷”和“正无穷”。例如,浮点数是有范围的,一旦MATLAB的运算结果超出浮点数的表示范围,系统也会用“-Inf”或“Inf”来表示计算结果。例如,的值超出了MATLAB允许的数值范围,系统用Inf表示。 10e(308+1) ans = Inf,5.2.6 非数,非数(NaN),是“Not a

5、Number”的缩写,是一个既不是实数也不是复数的数值,MATLAB提供这样一个特殊类型的目的是扩大运算范围,有了这样一个数值,系统对于0/0、Inf/Inf的运算结果,也可以有合理的解释。 0/0 Warning: Divide by zero. %系统警告:0作为除数 ans = NaN inf/inf ans = NaN,5.3 逻辑类型,MATLAB用“0”和“1”分别代表逻辑“假”和逻辑“真”,逻辑类型数据常以标量形式出现,但有时也可以是逻辑数组(Logical Array)。MATLAB不但提供给用户比较齐全的算数运算符号,作为一种高级语言,同样也支持关系运算和逻辑运算,并且经常在

6、程序中涉及这两种运算,关系和逻辑运算主要是为用户解决程序设计中的“真”、“假”问题。在程序设计中编写代码,特别是在使用各种控制语句的时候,用户常常需要使用这两种运算的结果(“真”或者“假”)作为控制语句的判断条件。 MATLAB中的关系和逻辑运算式,所有输入非0的数都为“逻辑真”,只有0才为“逻辑假”;而计算结果,即输出为一个逻辑数组,其中的元素,如果值为1,则表示“真”;如果值为0,则表示假。本节主要介绍MATLAB中的逻辑类型和常用的关系运算符和逻辑运算符,以及MATLAB中各种常用运算符的优先级顺序。,5.3.1 逻辑类型,MATLAB用“0”和“1”分别代表逻辑“假”和逻辑“真”,逻辑

7、类型数值在MATLAB中运用得十分广泛。例如,比较10与100这两个数的大小,代码如下所示,“10等于100(=表示相等)”这个表达式返回值为0,表示表达式不成立;而“10小于100( 10=100 ans = 0 10100 ans = 1,5.3.2 关系运算符,关系运算式的一般格式为:x RO y,“RO”代表关系运算符(Relation Operator),在关系运算符两边进行比较的x和y可以是变量、字符串或者表达式等不同类型的数据,如果表达式正确(True),即x和y之间的关系为RO所描述的关系,则输出结果为“真”,表达式返回数值1;如果表达式不正确(False),即x和y之间的关系

8、不是RO所描述的关系,则输出结果为“假”,表达式返回数值0。MATLAB常用的关系运算有3种情况,分别为标量与标量、数组与数组和标量与数组。MATLAB中的关系运算符可以实现常见的大小比较,,5.3.3 逻辑运算符,MATLAB中的逻辑运算,包括我们常见的“与、或、非、异或”运算。逻辑运算的表现方式有3种,分别是元素方式(Element-wise)、比特方式(Bit-wise)以及短路方式(Short-Circuit)。本小节将分别介绍3种方式的逻辑运算符。 元素式逻辑运算符,只接受逻辑类型的变量输入,一般是对于标量进行操作,具体功能如表所示。,MATLAB元素式逻辑运算符,5.3.4 运算符

9、的优先级,对于MATLAB7.0中不同的运算,优先级是个很重要的问题,读者在很多情况下都会碰到类似的问题。搞清不同种类运算符的优先级顺序,可以帮助读者更好地理解MATLAB的运算顺序和操作规则。 MATLAB在执行包含算数、关系及逻辑运算符号的运算时,遵循的原则是:按照优先级从高到低,同级的从左到右顺序执行,这与一般的运算法则是类似的。常用的MATLAB运算符的优先级顺序,如表所示,从上到下优先级依次是从高到低。,5.4 字符与字符串,使用MATLAB进行工作和学习时,用户不可避免地会遇到诸如文本处理、坐标标注等问题,这也就会用到MATLAB提供的另一种数据类型字符类型。本节后续主要讲解的内容

10、包括:字符和字符串的概念和用法、字符串的比较与替换及字符串与数值的互相转化。 在MATLAB中,字符和字符串分别用char和string表示,MATLAB7.0中的char类型都是以2个字节的Unicode统一字符编码来存储的,一般用单引号括注一个字符变量,如下代码所示,a是一个字符变量。 a=w a = w,5.4.1 字符数组的建立,在MATLAB7.0中,用户可以运用两种不同的方式表示字符串,即字符数组和字符串元胞,有关字符串元胞的概念本书将在第6章介绍,本小节主要介绍使用字符数组的方式来创建字符串的方法。例如,以字符数组的形式生成一个字符串。 a=the fourth chapter.

11、 a = the fourth chapter.,5.4.2 字符串的比较,MATLAB中,如需要进行字符串或字符子串的比较,可以有以下几种方法: 直接比较两字符串的全部或者部分是否相等; 比较字符串中的单个字符是否相等; 对字符串中的每个元素进行识别,判断其是字符或者空白符号。 说明:可以使用关系运算符“=”进行字符数组的比较,但是要求比较的数组具有相同的维数,或者其中一个数组为标量。,5.4.3 字符串的查找与替换,MATLAB中提供了若干字符串查找和替换的函数,具体名称和功能如表所示。,字符串查找与替换函数,5.4.4 字符串与数值类型的互相转换,用户在使用MATLAB时,经常会需要把数

12、据类型在字符串和数值类型之间转换,本节开始提到了简单的转换函数char和abs,事实上,MATLAB还有很多针对这两种数据类型之间的转换函数,函数及具体功能如表5.13所示。,字符串转换到数值类型,5.5 小结,MATLAB7.0包括15种数据类型,本章介绍了数值类型、逻辑类型、字符类型等,读者应熟练掌握如下的内容。 整数类型运算 单精度浮点数运算 双精度浮点数运算 特殊双精度浮点数运算 逻辑类型 关系运算符 逻辑运算符 运算符优先级 字符类型,第5章 MATLAB7.0的数据类型,MATLAB7.0支持15种基本的数据类型,每一种类型的数据都是以矩阵或数组的形式表现出来。本章主要介绍数值类型、逻辑类型和字符串类型。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1