本文概述
- 数值类型
- 浮点数字
- 复数
文章图片
下表描述了这些数据类型是:
Data Type | Example | Description |
---|---|---|
int8, uint8, int16, uint16, int32, uint32, int64, uint64 | uint16(65000) | 有符号和无符号整数的数组。它需要的存储空间少于单个或两倍。除int64和uint64之外的所有整数数据类型均可用于数学运算。 |
single | 3 * 10^38 | 单精度数字的数组。它需要的存储空间少于两倍, 但精度较低, 范围较小。 |
double | 3 * 10 ^ 300 5 + 6i | 双精度数字数组。二维数组可以是稀疏的。 MATLAB中的默认数值类型。 |
logical | 魔力(4)> 10 | 逻辑值1或0的数组, 分别表示true和false。二维数组可以是稀疏的。 |
char | ‘ Hello’ | 字符数组。字符串表示为字符向量。对于包含多个字符串的数组, 最好使用单元格数组。 |
cell array | a {1, 1} = 12; a {1, 2} =’ 红色’ ; a {1, 3} = magic(4); | 索引单元格数组, 每个单元格能够保存各种维数和数据类型的数组。 |
structure | a.day = 12; a.color =’ 红色’ ; a.mat = magic(3); | C类结构的数组, 每个结构都具有能够存储不同维度和数据类型的数组的命名字段。 |
function handle | @sin | 指向函数的指针。你可以将函数句柄传递给其他函数。 |
用户类别 | 多项式([0 -2 -5]) | 从用户定义的类构造的对象。 |
Java类 | java.awt.Frame | 从Java类构造的对象。 |
所有数字类型都提供基本的数组功能, 例如下标和整形。除int64和uint64之外的所有数字类型都可以在数字运算中使用。
整数
MATLAB具有四个有符号和四个无符号整数数据类型。
带符号的类型既可以使用负数也可以使用正数, 但是不能执行与无符号类型相同的数字范围, 因为使用一位来指定数字的正号或负号。
无符号类型可以提供更大范围的数字, 但是这些数字只能为零或正数。
MATLAB提供了数字数据的1、2、4和8字节存储。如果我们使用容纳你数据的最小整数类型, 则可以节省程序的内存和执行时间。例如, 我们不需要32位整数来保存值100。
这是八个数字数据类型, 每种类型可以保存的值范围, 以及创建该类型所需的MATLAB转换操作:
Data Type | 取值范围 | 转换功能 |
---|---|---|
有符号的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默认将数字数据保存为双精度浮点数。要将数据保存为整数, 请使用上表所示的转换函数之一:
x = int16 (32501);
我们可以使用whos函数显示变量表示的数组的维数, 字节数和数据类型:
whos x NameSizeBytesClass x1x12int16 array
如果要分配输出, 可以使用class函数, 如下所示:
xType = class(x) xType = int16
如果只想验证x是整数, 请使用isinteger函数:
isinteger(x) ans = 1
整数函数
Function | Description |
---|---|
int8, int16, int32, int64 | 它将转换为有符号的1、2、4或8字节整数。 |
UINT8, UINT16, UINT32, UINT64 | 它将转换为无符号的1、2、4或8字节整数。 |
class | 它返回对象的数据类型。 |
isa | 它确定输入值是否具有指定的数据类型。 |
isinteger | 它确定输入值是否为整数数组。 |
isnumeric | 它确定输入值是否为数字数组。 |
双精度浮点
MATLAB根据IEEE标准754编写了double数据类型, 以实现双精度。存储为双重需要的64位的任何值, 其格式如下表所示:
Bits | Usage |
---|---|
63 | 符号(0 =正, 1 =负) |
62至52 | 指数, 偏差为1023 |
51至0 | 1.f的分数f |
MATLAB会根据IEEE标准754编写单一精度的单一数据类型。保存为单个值的任何值都需要32位, 格式如下表所示:
Bits | Usage |
---|---|
31 | 符号(0 =正, 1 =负) |
30至23 | 指数, 偏差为127 |
22至0 | 1.f的分数f |
Function | Description |
---|---|
double | 转换为双精度。 |
single | 转换为单精度。 |
class | 它返回对象的数据类型。 |
isa | 它确定输入值是否具有指定的数据类型。 |
isfloat | 它确定输入值是否为浮点数组。 |
isnumeric | 它确定输入值是否为数字数组 |
eps | 它返回浮点相对精度。该值是MATLAB在评估中使用的公差。 |
realmax | 它返回你的计算机可以代表的最大浮点数。 |
realmin | 它返回我们的计算机可以代表的最小浮点数。 |
创建复数
以下语句显示了一种在MATLAB中创建复杂值的方法。为变量x分配了一个复数, 其实部为2, 虚部为3:
【MATLAB数据类型】x = 2 + 3i;
复数函数
Function | Description |
---|---|
complex | 它根据实部和虚部构造复杂的数据。 |
我或j | 它返回用于构造复杂数据的虚拟单位。 |
real | 它返回复数的实部 |
imag | 它返回复数的虚部。 |
isreal | 它确定数字是实数还是虚数。 |
推荐阅读
- MATLAB运算符
- MATLAB使用变量和数组
- MATLAB环境配置详解
- 如何下载MATLAB()
- MATLAB命令使用介绍
- MATLAB在线版本使用介绍
- MATLAB编程语言的优缺点
- MATLAB平台和功能
- 什么是MATLAB()