数学软件Matlab 数据类型 1
1 数学软件 Matlab —— 数据类型
主要内容 ■变量与常量 ■数值型数据 ■逻辑型数据 ■字符与字符串 ■细胞(cell) ■结构型数据 ■句柄 2
2 变量与常量 数值型数据 逻辑型数据 字符与字符串 细胞(cell) 结构型数据 句柄 主要内容
变量 ▣变量 ●变量是任何程序设计语言的基本元素之一。 ●Matlab变量的特点: ●不要求事先声明(也无法声明) ·不需要指定变量类型: 根据所赋的值或对变量所进行的操作来确定变量的类型 ·变量的类型可以随时改变: 在赋值过程中,如果变量已经存在,Matlab会用新值代 替旧值,并以新的数据的类型代替旧的变量类型 如果能够事先给数组分配空间,则可以提高程序的执行效率 3
3 变量 变量是任何程序设计语言的基本元素之一。 Matlab 变量的特点: 变量 不要求事先声明(也无法声明) 不需要指定变量类型: 根据所赋的值或对变量所进行的操作来确定变量的类型 变量的类型可以随时改变: 在赋值过程中,如果变量已经存在,Matlab 会用新值代 替旧值,并以新的数据的类型代替旧的变量类型 如果能够事先给数组分配空间,则可以提高程序的执行效率
变量 口变量命名要求 ·必须以字母开头,含字母(大小写)、数字和下划线 ●变量名长度不超过65(Matlab6.5.1版本以上) ●区分大小写 Matlab预定义常量 i,j 虚数单位 realmin 最小正浮点数 pi 圆周率 realmax 最大正浮点数 eps 浮点运算相对精度 intmin 最小整数 Inf 无穷大 intmax 最大整数 NaN/nan 不定值
4 必须以字母开头,含字母(大小写)、数字和下划线 变量名长度不超过 65 ( Matlab6.5.1 版本以上 ) 区分大小写 变量 变量命名要求 Matlab 预定义常量 i,j 虚数单位 realmin 最小正浮点数 pi 圆周率 realmax 最大正浮点数 eps 浮点运算相对精度 intmin 最小整数 Inf 无穷大 intmax 最大整数 NaN/nan 不定值
Matlab数据类型 ●Matlab常用的数据类型有: ● numeric:数值 ·char:字符 ·1og1ca1:逻辑 ●ce11:单元、细胞、元胞 ●struct:结构 5
5 Matlab 数据类型 numeric:数值 char:字符 logical:逻辑 cell:单元、细胞、元胞 struct:结构 Matlab 常用的数据类型有:
Matlab数据类型 N-DIMENSION ARRAY BOOLEAN NUMERIC TEXT FUNCTION HETEROGENEOUS HANDLE CONTAINER logical char function handle FLOATING-POINT INTEGER NAME-BASED INDEX-BASED struct cell SINGLE DOUBLE SIGNED UNSIGNED PRECISION PRECISION single double int8(uint8) int16)(uint16 (default) int32)(uint32 int64)uint64 MatlabR2011b中的数据类型 6
6 Matlab 数据类型 MatlabR2011b 中的数据类型
数值型 带符号 整数 无符号 数值型数据 单精度 浮点数 双精度 ●为了提高数值计算的精度,若没有指定数据类型,则所有的 数都被看作是双精度的浮点数 ●使用整型数据或单精度数据可以节约内存空间 7
7 为了提高数值计算的精度,若没有指定数据类型,则所有的 数都被看作是双精度的浮点数 使用整型数据或单精度数据可以节约内存空间 数值型 数值型数据 整数 浮点数 带符号 无符号 单精度 双精度
整型数据 口Matlab提供四种带符号整型和四种无符号整型 数据类型 取值范围 转换函数 带符号8位整型 [-27,27-1] int8 带符号16位整型 [-215,215-1] int16 带符号32位整型 [-231, 231-1] int32 带符号64位整型 [-263,263 -1] int64 无符号8位整型 [6,28-1] uint8 无符号16位整型 [0,216-1] uint16 无符号32位整型 y232 -1] uint32 无符号64位整型 [6, 264-1] uint64
8 数据类型 取值范围 转换函数 带符号 8 位整型 [-27,27 –1] int8 带符号 16 位整型 [-215 , 215 –1] int16 带符号 32 位整型 [-231 , 231 –1] int32 带符号 64 位整型 [-263 , 263 –1] int64 无符号 8 位整型 [0 , 28 –1] uint8 无符号 16 位整型 [0 , 216 –1] uint16 无符号 32 位整型 [0 , 232 –1] uint32 无符号 64 位整型 [0 , 264 –1] uint64 整型数据 Matlab 提供四种带符号整型和四种无符号整型
举例 x1=int8(11); x1=11 x2=int8(15.49): x2=15 x3=int8(15.5): x3=16 x4=int8(130); x4=127 x5=uint8(255), x5=255 x6=uint8(256);一 x6=255 x7=uint8(-1); x7=0 9
9 x1=11 x2=15 x3=16 x4=127 x5=255 x6=255 x7=0 举例 x1=int8(11); x2=int8(15.49); x3=int8(15.5); x4=int8(130); x5=uint8(255); x6=uint8(256); x7=uint8(-1);
整型数据运算规则 口整型数据运算规则: ●相同整型数据之间的运算,结果为同类型的整数 ·不同整型数据之间不能进行运算! x=int8(11);y=int8(5);z=x*y OK x=int8(11);y=int16(5);z=x*y ERROR! ●整型数据可以和双精度标量进行数值运算,结果为整数。 在运算过程中保持浮点运算精度,最后将结果转换成整型。 整型数据不能与双精度数组进行运算 X=int8(11);y=[1,2];z=x*y%ERR0R! 10
10 相同整型数据之间的运算,结果为同类型的整数 不同整型数据之间不能进行运算! 整型数据可以和双精度标量进行数值运算,结果为整数。 在运算过程中保持浮点运算精度,最后将结果转换成整型。 整型数据不能与双精度数组进行运算 整型数据运算规则 整型数据运算规则: x=int8(11); y=int8(5); z=x*y % OK x=int8(11); y=int16(5); z=x*y % ERROR! x=int8(11); y=[1,2]; z=x*y % ERROR!