第5MATLAB710的数据类型_第1页
第5MATLAB710的数据类型_第2页
第5MATLAB710的数据类型_第3页
第5MATLAB710的数据类型_第4页
第5MATLAB710的数据类型_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、技术凝聚实力技术凝聚实力专业创新出版专业创新出版第5章 matlab7.0的数据类型lmatlab7.0支持15种基本的数据类型,每一种类型的数据都是以矩阵或数组的形式表现出来。本章主要介绍数值类型、逻辑类型和字符串类型。技术凝聚实力技术凝聚实力专业创新出版专业创新出版5.1 matlab中的数据类型lmatlab7.0支持多种数据类型,包括数值类型、字符和字符串、逻辑类型、元胞、构架和函数句柄等,用户还可以通过matlab“类”(class)建立自定义数据类型,所有类型的数据都被存储在矩阵或数组中进行操作,矩阵和数组可以从最小的的空矩阵到任意的n维。技术凝聚实力技术凝聚实力专业创新出版专业创

2、新出版5.2 数值类型l数值类型包括有符号整数类型、无符号整数类型、单精度浮点类型和双精度浮点类型,如图所示。技术凝聚实力技术凝聚实力专业创新出版专业创新出版5.2.1 整数类型lmatlab数值类型中的整数类型包括有符号、无符号整数类型各4种,分别是1-、2-、4-和8-字节(8位、16位、32位和64位)的整数类型。有符号类型允许表示负数,但是由于其需要分配1位字节作为符号位,所以表示的范围没有同等字节的无符号类型大;无符号类型不能表示负数,只能表示正整数和0。根据具体需要,用户应该选择不同的存储类型;例如,对于数值不大的整数“22”,就没有必要使用8-字节的类型来存储,因为1-字节整型所

3、分配的内存空间已经足以满足此数的存储了。表列出了8种整数类型的名称、数值范围和转换函数。技术凝聚实力技术凝聚实力专业创新出版专业创新出版5.2.2 单精度浮点型lmatlab中,浮点数据类型有单精度和双精度两种,其构造规则都是依据ieee754标准(关于此标准的具体描述,本书不做解释,读者可以查询相关网站)制定。单精度数据需要32字节的存储空间,其空间分配如表所示。单精度数据的字节位功能指数位0721字 节 位代表功能31符号位(0代表正数,1代表负数)30-2322-01.f中的小数位f技术凝聚实力技术凝聚实力专业创新出版专业创新出版5.2.3 双精度浮点类型l双精度浮点类型是matlab中

4、数值的默认类型,其构造规则与单精度一样,依照ieee754标准。结合上面介绍的单精度表示范围,读者也就不难理解下面的双精度空间分配,如表所示。双精度数据的字节位功能指数位01021字 节 位代表功能63符号位(0代表正数,1代表负数)62-5251-01.f中的小数位f技术凝聚实力技术凝聚实力专业创新出版专业创新出版5.2.4 复数lmatlab中,有几种属于双精度浮点型的特殊数据类型,为了对其概念和功能有清晰的认识,下面几小节将对复数、“无穷”和“非数”等概念逐一进行介绍。matlab7.0中,复数属于双精度浮点数的一种特殊类型,用户可以无须任何特殊操作,把复数作为一个整体进行处理。技术凝聚

5、实力技术凝聚实力专业创新出版专业创新出版5.2.5 无穷l在经典的初等数学中,1/0是错误的表达式,是没有结果的。但是在matlab中,1/0是有意义的,结果为“inf(infinity)”,表示“无穷大”。matlab分别用“-inf”和“inf”表示“负无穷”和“正无穷”。例如,浮点数是有范围的,一旦matlab的运算结果超出浮点数的表示范围,系统也会用“-inf”或“inf”来表示计算结果。例如,的值超出了matlab允许的数值范围,系统用inf表示。l 10e(308+1)lans =l inf技术凝聚实力技术凝聚实力专业创新出版专业创新出版5.2.6 非数l非数(nan),是“not

6、 a number”的缩写,是一个既不是实数也不是复数的数值,matlab提供这样一个特殊类型的目的是扩大运算范围,有了这样一个数值,系统对于0/0、inf/inf的运算结果,也可以有合理的解释。l 0/0lwarning: divide by zero. %系统警告:0作为除数lans =l nanl inf/inf lans =l nan技术凝聚实力技术凝聚实力专业创新出版专业创新出版5.3 逻辑类型lmatlab用“0”和“1”分别代表逻辑“假”和逻辑“真”,逻辑类型数据常以标量形式出现,但有时也可以是逻辑数组(logical array)。matlab不但提供给用户比较齐全的算数运算符

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

8、业创新出版专业创新出版5.3.1 逻辑类型lmatlab用“0”和“1”分别代表逻辑“假”和逻辑“真”,逻辑类型数值在matlab中运用得十分广泛。例如,比较10与100这两个数的大小,代码如下所示,“10等于100(=表示相等)”这个表达式返回值为0,表示表达式不成立;而“10小于100( 10=100lans =l 0l 10 a=wla =lw技术凝聚实力技术凝聚实力专业创新出版专业创新出版5.4.1 字符数组的建立l在matlab7.0中,用户可以运用两种不同的方式表示字符串,即字符数组和字符串元胞,有关字符串元胞的概念本书将在第6章介绍,本小节主要介绍使用字符数组的方式来创建字符串的

9、方法。例如,以字符数组的形式生成一个字符串。l a=the fourth chapter.la =lthe fourth chapter.技术凝聚实力技术凝聚实力专业创新出版专业创新出版5.4.2 字符串的比较lmatlab中,如需要进行字符串或字符子串的比较,可以有以下几种方法:l直接比较两字符串的全部或者部分是否相等;l比较字符串中的单个字符是否相等;l对字符串中的每个元素进行识别,判断其是字符或者空白符号。l说明:可以使用关系运算符“=”进行字符数组的比较,但是要求比较的数组具有相同的维数,或者其中一个数组为标量。技术凝聚实力技术凝聚实力专业创新出版专业创新出版5.4.3 字符串的查找与

10、替换lmatlab中提供了若干字符串查找和替换的函数,具体名称和功能如表所示。字符串查找与替换函数函 数功 能findstr在现有字符串中找需要的字符串strfind字符串内查找部分字符串strtok查找字符串中的分隔符strmatch查找匹配指定字符串strrep替换字符串技术凝聚实力技术凝聚实力专业创新出版专业创新出版5.4.4 字符串与数值类型的互相转换l用户在使用matlab时,经常会需要把数据类型在字符串和数值类型之间转换,本节开始提到了简单的转换函数char和abs,事实上,matlab还有很多针对这两种数据类型之间的转换函数,函数及具体功能如表5.13所示。字符串转换到数值类型函 数功 能uintn与abs类似,把字符转换为等值数值类型str2num把字符串转换为等值数值类型str2double与str2num类似,但提供对字符串元胞的操作hex2num把字符类型数据转换成指定精度和形式的数值类型,并返回matlab可以识别的格式hex2dec把十六进制的字符类型转换为正整数bin2dec把二进制的字符类型转换为正整数base2dec把任意进制的字符类型转换为正整数技术凝聚实力技术凝聚实力专业创新出版专业创新出版5.5 小结lmatlab7.0包括15种数据类型,本章介绍了数值类型、逻辑类型、字符类型等,读者应熟练掌握如下的内容。l整数类

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论