MATLAB7.x基础教程第3章数据类型.ppt

  1. 1、本文档共100页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
  MATLAB提供了许多数据类型供用户使用,此外用户还可以根据自己的需要创建新的数据类型。利用结构和单元数组这两种数据类型,还可以将不同类型的数据存储到一个数组当中。   MATLAB中共有15种基本数据类型和2种自定义类型(用户类和Java类),它们之间的关系如图3-1所示。 3.1.1 整数   MATLAB中有4种有符号整数类型、4种无符号整数类型。有符号整数类型数据需要占用1位来表示数据的正负,因此它的取值范围小于无符号整数。表3-1给出了这8种数据类型的取值范围和类型转化函数。   MATLAB的默认数据存储类型为double类型,利用类型转化函数可将数据存储为整数类型。如果数据中含有小数部分,MATLAB将按照四舍五入的方法将其转化为整数。   【例】 整数类型的转化。   在命令窗输入:     x = 4.5001;     int16(x)   运行结果:    ans =       5   用户也可以根据需要对数据的小数部分进行舍入。   【例】 舍入后转化为整数类型。   在命令窗输入:     x = 4.5001;     y = int16(floor(x)),z = int16(ceil(x))   运行结果:    y =     4    z =     5   整数类型转化函数也可将字符串类型转化为整数类型。   【例】 转化ASCII码。   在命令窗输入:     str = ‘01 Aa’, int8(str)   运行结果:   str =   01 Aa   ans =     48 49 32 65 97   某个整数类型的变量只能与该整数类型或者double类型的变量进行算术运算,其运算结果仍为该类型的整数。   【例】 整数类型的算术运算。   在命令窗输入:     x = uint32(250) * pi;     class(x)   运行结果:    ans =    uint32   整数的取值范围可以通过函数intmax和intmin来查看,如果待转化的数据超出了取值范围,则将该数据变为取值范围内的最值。   【例】 整数类型的范围。   在命令窗输入:     intmax(‘int8’),x = int8(333)   运行结果:    ans =     127    x =     127 3.1.2 浮点数   MATLAB的浮点数分为单精度浮点数类型(single)和双精度浮点数类型(double)。double为默认数据类型,需要64位的存储空间,第63位代表符号,第52~62位存储指数部分且有1023的偏移量,第51~0位存储小数部分;single需要32位的存储空间,第31位代表符号,第30~23位存储指数部分且有127的偏移量,第22~0位存储小数部分。   直接输入变量值就可以创建double类型的变量,而创建single类型的变量则需要输入类型转化函数。   【例】 创建浮点数。   在命令窗输入:     x = 132; y = single(132);     whos(‘x’,‘y’)   运行结果: Name Size Bytes Class Attributes   x 1x1 8 double   y 1x1 4 single   浮点类型数据可以与char、double、single、logical、int*?以及uint*?类型的数据进行算术运算,其运算结果类型如表3-2所示。   要查看浮点类型的取值范围,可使用realmax(‘double’)、realmax(‘single’)、realmin(‘double’)以及realmin(‘double’)等函数来实现。   如果浮点数运算结果的精度不能令人满意,很可能是由于计算机硬件的局限导致的。硬件没有足够的位数来表示结果,就会截短数据。在每一个浮点数与最接近它的更大的浮点数之间存在一个差值,这个差值的大小不仅取决于浮点数的类型,还取决于这个浮点数的大小。   【例】 浮点相对精度。   在命令窗输入:     format long     eps(7),eps(3)   运行结果:   ans =    8.881784197001252e-016   ans =    4.440892098500626e-016   在命令窗输入:    eps(single(7)),

文档评论(0)

autohhh + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档