MATLAB 数据类型

MATLAB 数据类型

MATLAB不需要任何类型声明或维度语句。 每当MATLAB遇到一个新的变量名时,它会创建变量并分配适当的内存空间。

如果变量已经存在,则MATLAB将使用新内容替换原始内容,并在必要时分配新的存储空间。

例如,

Total = 42

以上语句创建了一个名为“Total”的1×1矩阵,并将值42存储在其中。

在MATLAB中可用的数据类型

MATLAB提供15种基本数据类型。每种数据类型都存储以矩阵或数组形式的数据。这个矩阵或数组的大小最小为0×0,可以增长到任意大小的矩阵或数组。

下表显示了MATLAB中最常用的数据类型:

序号 数据类型与描述
1 int8 有符号8位整数
2 uint8 无符号8位整数
3 int16 有符号16位整数
4 uint16 无符号16位整数
5 int32 有符号32位整数
6 uint32 无符号32位整数
7 int64 有符号64位整数
8 uint64 无符号64位整数
9 single 单精度数值数据
10 double 双精度数值数据
11 logical 逻辑值,1表示真,0表示假
12 char 字符数据(字符串存储为字符向量)
13 cell array 索引单元的数组,每个单元可以存储具有不同维度和数据类型的数组
14 structure 类似C的结构体,每个结构体具有具有不同维度和数据类型的命名字段数组
15 function handle 指向函数的指针
16 user classes 从用户定义的类构造的对象
17 java classes 从Java类构造的对象

示例

创建一个包含以下代码的脚本文件:

str = 'Hello World!'
n = 2345
d = double(n)
un = uint32(789.50)
rn = 5678.92347
c = int32(rn)

当上述代码被编译和执行时,它产生以下结果−

str = Hello World!
n =  2345
d =  2345
un = 790
rn = 5678.9
c =  5679

数据类型转换

MATLAB提供了各种函数用于将一个值从一种数据类型转换为另一种。下表显示了数据类型转换函数:

功能 目的
char 转换为字符数组(字符串)
int2str 将整数数据转换为字符串
mat2str 将矩阵转换为字符串
num2str 将数字转换为字符串
str2double 将字符串转换为双精度值
str2num 将字符串转换为数字
native2unicode 将数值字节转换为Unicode字符
unicode2native 将Unicode字符转换为数值字节
base2dec 将N进制数字符串转换为十进制数
bin2dec 将二进制数字符串转换为十进制数
dec2base 将十进制数转换为N进制数字符串
dec2bin 将十进制数转换为二进制数字符串
dec2hex 将十进制数转换为十六进制数字符串
hex2dec 将十六进制数字符串转换为十进制数
hex2num 将十六进制数字符串转换为双精度数
num2hex 将单精度和双精度数转换为IEEE十六进制字符串
cell2mat 将cell数组转换为数值数组
cell2struct 将cell数组转换为结构数组
cellstr 从字符数组创建字符串cell数组
mat2cell 将数组转换为具有不同大小单元的cell数组
num2cell 将数组转换为具有一致大小单元的cell数组
struct2cell 将结构转换为cell数组

确定数据类型

MATLAB提供了各种函数来确定变量的数据类型。

下表提供了用于确定变量数据类型的函数:

函数 目的
is 检测状态
isa 确定输入是否为指定类的对象
iscell 确定输入是否为单元数组
iscellstr 确定输入是否为字符串单元数组
ischar 确定项是否为字符数组
isfield 确定输入是否为结构数组字段
isfloat 确定输入是否为浮点数数组
ishghandle 对于Handle Graphics对象句柄为真
isinteger 确定输入是否为整数数组
isjava 确定输入是否为Java对象
islogical 确定输入是否为逻辑数组
isnumeric 确定输入是否为数字数组
isobject 确定输入是否为MATLAB对象
isreal 检查输入是否为实数数组
isscalar 确定输入是否为标量
isstr 确定输入是否为字符数组
isstruct 确定输入是否为结构数组
isvector 确定输入是否为向量
class 确定对象的类别
validateattributes 检查数组的有效性
whos 列出工作空间中的变量,包括大小和类型

示例

创建一个带有以下代码的脚本文件 –

x = 3
isinteger(x)
isfloat(x)
isvector(x)
isscalar(x)
isnumeric(x)

x = 23.54
isinteger(x)
isfloat(x)
isvector(x)
isscalar(x)
isnumeric(x)

x = [1 2 3]
isinteger(x)
isfloat(x)
isvector(x)
isscalar(x)

x = 'Hello'
isinteger(x)
isfloat(x)
isvector(x)
isscalar(x)
isnumeric(x)

当您运行文件时,它会产生以下结果−

x = 3
ans = 0
ans = 1
ans = 1
ans = 1
ans = 1
x = 23.540
ans = 0
ans = 1
ans = 1
ans = 1
ans = 1
x =

          1          2          3

ans = 0
ans = 1
ans = 1
ans = 0
x = Hello
ans = 0
ans = 0
ans = 1
ans = 0
ans = 0

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程