Numeric
Matlab Types
Basics
- Numeric array 数值数组是 MATLAB 中最基本, 最常用, 最重要的数据类型, 可以说 MATLAB 就是为了处理数值数组而创造出来的
- 数值默认储存为 (占用 64 位内存的) 双精度 double
- 此类数值的 class 就是 double
- 之后默认++数值就是 double 类++
- double 相对精度是 eps (MATLAB 的一个预定义变量),大约保持16 位有效数字
- 数值默认表示为十进制,短表示 (
format short, 保留小数点后 4 位)
- 数值绝对值允许范围大致为 [10−308,10308]
- 合法数值记述:
- 整数
-99
- 小数
9. 456
- 科学计数法
1. 3e-3 或 1E3
整数
- 可通过函数 int8, uint16 等将浮点数转换为整数, 转换规则为远离 0 的四舍五入
- 整数与整数之间的运算只有相同类型时才能进行, 结果仍然是这种整数类型
- 任何类型整数可以和 double 浮点数 (single 不行) 进行运算, 结果是这种整数类型, 取整采用默认取整方式
- 新版本 MATLAB 中取整相关函数, 如 floor, round 等返回的是 double 类而非整数类
浮点数
- 浮点数默认为 double 类, 可通过函数 single 和 double 进行与 single 类之间的转换
- double 类与其他类运算结果结果类型
- 与逻辑类, 字符类返回结果为 double 类
- 与整数类返回结果为相应的整数类
- 与 single 类返回结果为 single 类
- single 类与整数之外类型计算结果均为 single 类
- 常数 NaN 和 Inf 也是 double 类
NaN == NaN = 0
Inf == Inf = 1