欢迎来到天天文库
浏览记录
ID:26953727
大小:413.51 KB
页数:53页
时间:2018-11-30
《《的数据类型》ppt课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第四章MATLAB的数据类型荆华jinghua123456@126.com《MATLAB使用详解》2012学年选修课第4章MATLAB7.0的数据类型教学重点:MATLAB7.0支持15种基本的数据类型,每一种类型的数据都是以矩阵或数组的形式表现出来。本章主要介绍数值类型、逻辑类型和字符串类型。4.1MATLAB中的数据类型MATLAB7.0支持多种数据类型,包括:数值类型:包含8种整数类型、单精和双精浮点类型;字符和字符串:常以向量数列的形式表示;逻辑类型:0和1两个数值,表示逻辑真和假;元胞、构架:可以包含不同类型数据;函数句柄:函数的指针,可以通过其调用函数
2、。用户还可以通过MATLAB“类”(class)建立自定义数据类型。所有类型的数据都被存储在矩阵或数组中进行操作,矩阵和数组可以从最小的空矩阵到任意的n维。4.2数值类型数值类型包括有符号整数类型、无符号整数类型、单精度浮点类型和双精度浮点类型,如图所示。4.2.1整数类型MATLAB数值类型中的整数类型包括有符号、无符号整数类型各4种,分别是1-、2-、4-和8-字节(8位、16位、32位和64位)的整数类型。有符号类型允许表示负数,但是由于其需要分配1位字节作为符号位,所以表示的范围没有同等字节的无符号类型大;无符号类型不能表示负数,只能表示正整数和0。根据具
3、体需要,用户应该选择不同的存储类型;例如,对于数值不大的整数“22”,就没有必要使用8-字节的类型来存储,因为1-字节整型所分配的内存空间已经足以满足此数的存储了,应使用字节数少的类型来存储数据,这样可以节省内存空间,提高效率。4.2.1整数类型表列出了8种整数类型的名称、数值范围和转换函数。表中数据类型的表示范围都可以调用intmax和intmin函数查询各自的表示范围。应用举例:例:生成有符号整数x值为129.>>x=int8(129)x=127>>intmax('int8')ans=127>>intmin('int8')ans=-128应用举例:>>x=in
4、t16(129)x=129查看整数类型:1)whos;2)使用class函数查看所生成整数所属的类型。>>whosNameSizeBytesClassx1x12int16arrayGrandtotalis1elementusing2bytes>>class(x)ans=int164.2.2单精度浮点型MATLAB中,浮点数据类型有单精度和双精度两种,其构造规则都是依据IEEE754标准(关于此标准的具体描述,可以查询相关网站)制定。单精度数据需要32位的存储空间,其空间分配如表所示。单精度数据的字节位功能字节位代表功能31符号位(0代表正数,1代表负数)30-23
5、指数位0-27-122-01.f中的小数位f4.2.3双精度浮点类型双精度浮点类型是MATLAB中的默认数值类型,其构造规则与单精度一样,依照IEEE754标准。双精度数据需要64位的存储空间,下表为双精度空间分配表。双精度数据的字节位功能字节位代表功能63符号位(0代表正数,1代表负数)62-52指数为0-210-151-01.f中的小数位f应用举例:例:生成整数x,值为2,并分别转化为单精度浮点数y和双精度浮点数z。>>x=2x=2Matlab默认生成的数据类型为双精度浮点型>>whosNameSizeBytesClassx1x18doublearray>>x
6、=int8(2)x=2>>whosNameSizeBytesClassx1x11int8array应用举例:>>y=single(x)y=2>>z=double(x)z=2>>whosNameSizeBytesClassx1x11int8arrayy1x14singlearrayz1x18doublearrayGrandtotalis3elementsusing13bytes4.2.4复数下面将介绍几种特殊的数据类型,即复数、“无穷”和“非数”等概念。MATLAB7.0中,复数属于双精度浮点数的一种特殊类型,用户可以无须任何特殊操作,把复数作为一个整体进行处理。应
7、用举例:>>x=3+4ix=3.0000+4.0000i>>y=3+4jy=3.0000+4.0000i>>x==yans=1说明:1)”==”比较结果返回值1,说明i和j在表示虚数单位时意义和用法相同。2)4i(4j)是一个完整的虚部,不可以在中间加空格符号。3)只有数字才可以和i或者j相连,表达式不可以。X=cos(pi/3)i是错误的。4.2.4复数Matlab7.0中提供了求一个复数的实部、虚部、模和相角的函数分别是:real(z)、imag(z)、abs(z)angle(z)x=3.0000+4.0000i>>real(x)ans=3>>imag(x)a
8、ns=4>
此文档下载收益归作者所有