- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
matlab70使用详解-第4章 数据类型
第4章 数据类型 MATLAB 7.0支持多种数据类型,包括数值类型、字符和字符串、逻辑类型、元胞、结构体和函数句柄等,用户还可以通过MATLAB“类”(class),建立自定义数据类型,所有类型的数据都被存储在矩阵或数组中进行操作,矩阵和数组可以从最小的的空矩阵到任意的n维。 本章重点讲解数值、字符串、逻辑、元胞和结构体等主要数据类型的特性和用法。 4.1 数值类型 数值类型又具体分为整数类型和浮点类型两种,具体分类如图所示。 4.1.1 整型 MATLAB支持有符号、无符号整数类型各4种,分别是1-、2-、4-和8-字节的整型。有符号类型允许表示负数,但是由于其需要分配1位字节作为符号位,所以表示的范围没有同等字节的无符号类型大;无符号类型也有缺点,即不能表示负数,只能表示正整数和0。 用户应该根据具体需要选择存储的类型,例如,对于数值不大的整数3,就没有必要使用8-字节的类型来存储,因为1-字节整型所分配的内存空间已经足以满足此数的存储了。用户需要记住,应使用字节数尽可能少的类型来存储数据,这样可以节省内存空间,提高系统运算速度。 下表分别列出8种类型的名称、表示范围和转换函数。 4.1.2 单精度浮点型 MATLAB中,浮点数据类型包括单精度和双精度,其构造规则都是依据IEEE 754标准(关于此标准的具体描述,本书不做解释,读者可以查询相关网站,例如/wiki/IEEE_754)制定。 单精度数据需要32字节的存储空间,其空间分配如下表。 4.1.3 双精度浮点类型 MATLAB中数值的默认类型就是双精度浮点类型,其构造规则与单精度一样,依照IEEE 754标准。结合上面介绍的单精度表示范围,读者也就不难理解下面的双精度空间分配表。 4.2 逻辑类型 MATLAB用“0”和“1”分别代表逻辑“假”和逻辑“真”,逻辑类型数值在MATLAB中运用十分广泛,常以标量形式表示,但有时也可以是逻辑数组。 如下例,a为数值数组,通过一个比较赋值表达式,生成一维逻辑数组b。 a=[1:10] a = 1 2 3 4 5 6 7 8 9 10 b=a5 b = 0 0 0 0 0 1 1 1 1 1 4.3 字符和字符串 在MATLAB中,用户不可避免的会遇到诸如文本处理、坐标标注等问题,这也就会用到MATLAB提供的另一种数据类型—字符类型。 字符在MATLAB中用char表示,MATLAB 7.0中的char类型都是以2个字节的Unicode统一字符编码来存储的,一般用单引号括注一个字符变量,例如:a是一个字符变量。 a=w a = w 4.3.1 字符数组的建立 在MATLAB 7.0中,用户可以运用两种不同的方式表示字符串,即字符数组和字符串元胞。 方法之一是使用字符数组表示字符串。 a=the fourth chapter..... a = the fourth chapter..... 如上面代码所示,以字符数组的形式生成一个字符串,字符串可以包含标点符号。 4.3.2 字符串元胞数组 用户在生成字符串时,面对不同字符串长度不等的情况时,不可能仔细的计算空格的个数,所以,MATLAB引入了字符串元胞数组的形式来生成字符串,关于元胞的概念本章下节会具体介绍。 这里先简单解释一下,字符串元胞数组比较字符数组的优点是不要求数据的尺寸和类型,给用户数据的输入和整合提供了极大的方便。 生成字符串元胞数组表示需要使用大括号{},下面举例说明其生成方法。 stringcell={this,is,a special way to store string} stringcell = this is [1x29 char] stringcell={this;is;a special way to store string} stringcell = this is a special way to store string 4.3.3 字符串的比较 MATLAB中,如需要进行字符串或字符子串的比较,可以有以下多种方法: 直接比较两字符串的全部或者部分是否相等; 比较字符串中的单个字符是否相等; 对字符串中的每个元素进行识别,判断其是字符或者空白符号。 用户可以使用关系运算符“==”进行字符数组的比较,但是要求比较的数组具有相同的维数,或者其中一个数组为标量。 4.3.4 字符串的查找与替换 MATLAB中提供了若干字符串查找和替换的函数,具体名称和功能见下表。 4.3.5 字符串与数值类型的互
文档评论(0)