matlab基础与应用 第3章.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《matlab基础与应用 第3章.ppt》由会员分享,可在线阅读,更多相关《matlab基础与应用 第3章.ppt(37页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、matlab基础与应用基础与应用 第第3章章第三章 数 据 类 型 3.1 概概 述述 MATLAB的早期版本只有非常简单的二维数组和字符类型的数据,目前的MATLAB版本中不仅有多达十几种的基本数据类型,在不同的专业工具箱中还有特殊的数据类型,并且MATLAB还支持面向对象的编程技术,支持用户自定义的数据类型。 MATLAB支持的基本数据类型见图3-1。 第三章 数 据 类 型 图3-1 MATLAB的数据类型 MATLAB数据类型基本数值类型字符串元胞数组结构内嵌对象函数句柄 Java对象 逻辑类型双精度类型单精度类型 整数类型 用户自定义类int8, uint8int16, uint16
2、int32, uint32int64, uin64第三章 数 据 类 型 获取MATLAB的数据类型列表可以在MATLAB命令行窗口中键入help datatypes命令。 在图3-1中所示的各种数据类型都可以用于创建向量、矩阵或者多维数组。用户自定义的数据类型也是图示的各种数据类型的组合。在不同的MATLAB工具箱中具有自定义的数据类型,例如控制系统工具箱中定义的LTI对象,在滤波器设计工具箱中定义的滤波器对象,在符号数学工具箱中定义的符号类型数据等。这些工具箱中包含的特殊数据对象也都使用这些基本的数据类型组合构成。 第三章 数 据 类 型 需要指出一点,MATLAB的基本数据类型是双精度数
3、据类型和字符类型。MATLAB的M语言和其他高级编程语言不同的是,MATLAB没有具体的变量或对象声明和定义过程,任何数据类型的变量或对象都可以利用面向对象编程技术中构造函数的方法或者数据类型转换的方法来创建其他数据类型对象和变量。MATLAB和Java语言、C+语言类似,所有数据类型就是相应的类,具有一定的面向对象的特点。MATLAB的不同数据类型的变量或对象占用的内存空间不尽相同,不同的数据类型的变量或对象也具有不同的操作函数。第三章 数 据 类 型 3.2 MATLAB基本数值类型基本数值类型 3.2.1 基本数值类型入门基本数值类型入门 表表3-1 MATLAB的基本数值类型的基本数值
4、类型 第三章 数 据 类 型 说明: 表格中所指的字节数是指使用该数据类型创建数组或者矩阵时,每一个元素占用的内存字节数,稀疏矩阵则不同,由于稀疏矩阵使用了特殊的存储数据方法,所以稀疏矩阵对象占用的内存字节数比较特殊。 复数数据类型也相对特殊,复数可以用表格中所示的各种数据类型创建,但是由于复数由实部数据和虚部数据组成,所以占用的字节数为构成复数的数据类型的两倍,例如复数z = 1+i,在MATLAB中占用了16个字节的内存。 第三章 数 据 类 型 例子例子3-1 使用不同的数据类型。在MATLAB命令行窗口中,键入下面的指令: A = 1 2 3; class(A)ans =double
5、whos Name Size Bytes Class A 1x3 24 double array ans 1x6 12 char arrayGrand total is 9 elements using 36 bytes 第三章 数 据 类 型 B = int16(A); class(B)ans =int16 whos Name Size Bytes Class A 1x3 24 double array B 1x3 6 int16 array ans 1x5 10 char arrayGrand total is 11 elements using 40 bytes 第三章 数 据 类 型
6、在例子3-1中,使用了int16,即16位的有符号整数类型,作为示例,并且使用class函数获取不同变量或者对象的数据类型。向量B是从向量A通过数据类型转换得到的,可以看出,A和B向量包含同样的数据,但是由于两个向量的数据类型不同,所以它们占据的内存字节数不同,其中双精度类型的向量A占用了24个字节,而16位整数类型的向量B仅占用了6个字节。 第三章 数 据 类 型 注意: MATLAB和C语言在处理数据类型和变量时不同。在C语言中,任何变量在使用之前都必须声明,然后赋值,在声明变量时就指定了变量的数据类型。但是在MATLAB中,任何数据变量都不需要预先的声明,MATLAB将自动地将数据类型设
7、置为双精度类型,若需要使用其他类型的数据,则必须通过数据类型的转换完成。MATLAB的数据类型名称同样就是数据类型转换的函数,利用这些函数来完成相应的数据类型转化的工作。 关于数据类型转换函数的使用可以参阅相应的在线帮助。 第三章 数 据 类 型 例子例子3-2 使用不同的数据类型。在MATLAB命令行窗口中,键入下面的指令: a = 1 2 3; b = 3 4 5; c = a+b; whos Name Size Bytes Class a 1x3 24 double array b 1x3 24 double array c 1x3 24 double arrayGrand total
8、is 9 elements using 72 bytes int16(a)+int16(b)? Error using = +Function + is not defined for values of class int16. 第三章 数 据 类 型 由于MATLAB系统默认的运算都是针对双精度类型的数据或变量的,所以在进行两个int16类型的变量加法时,MATLAB报告了相应的错误。一般地,对于在表格3-1中所列的各种数据类型(稀疏矩阵,single除外)的变量, MATLAB没有提供相应的运算规则或者计算函数。如果需要为这些没有运算规则的数据类型创建相应的计算法则,则需要利用MATLA
9、B的M语言进行面向对象的编程,通过重载运算符来完成相应的运算定义。 第三章 数 据 类 型 3.2.2 整数类型数据运算整数类型数据运算 MATLAB进行整数类型(无符号)数据的运算函数见表3-2,函数运算的结果必须小于bitmax代表的数值。 表表3-2 整数类型数据的运算函数整数类型数据的运算函数 第三章 数 据 类 型 3.2.3 MATLAB的常量的常量 表表3-3 MATLAB的常量的常量 第三章 数 据 类 型 说明: eps、realmax和realmin三个常量具体的数值与运行MATLAB的计算机相关,例如,在我的计算机上,这三个数值分别为eps=2.220410- 1 6,r
10、ealmax=1.7977103 0 8,realmin=2.225110-308。 和其他的高级编程语言所定义的常量不同,MATLAB的常量数值是可以修改的。例如,在MATLAB命令行窗口中可以键入如下的指令:pi=100,这样pi这个常量的数值就变成了100。但是,如果用clear指令清除变量后,pi将变成原有的常量数值。 第三章 数 据 类 型 Inf也可以写作inf,它为IEEE定义的算术数据无穷大数值,在MATLAB中进行诸如1.0/0.0或者exp(1000)的操作时都会得到这个数值。如果将inf应用于函数,则计算结果可能为inf或者NaN。 NaN也可以写作nan,它为IEEE规
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab基础与应用 第3章 matlab 基础 应用
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内