当前位置: 首页 > 文档资料 > MATLAB 中文教程 >

数据类型

优质
小牛编辑
131浏览
2023-12-01

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

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

例如,

Total = 42

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

MATLAB中可用的数据类型

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

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

Sr.No.数据类型和描述
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,分别表示true和false

12

char

字符数据(字符串存储为字符向量)

13

cell array

索引单元阵列,每个单元能够存储不同维度和数据类型的数组

14

structure

类似C的结构,每个结构具有能够存储不同维度和数据类型的数组的命名字段

15

function handle

指向函数的指针

16

user classes

从用户定义的类构造的对象

17

java classes

从Java类构造的对象

例子 (Example)

使用以下代码创建脚本文件 -

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将单元格数组转换为数字数组
cell2struct将单元阵列转换为结构数组
cellstr从字符数组创建字符串的单元格数组
mat2cell将数组转换为具有可能不同大小的单元格的单元格
num2cell使用一致大小的单元格将数组转换为单元格数
struct2cell将结构转换为单元格数组

确定数据类型

MATLAB提供了各种用于识别变量数据类型的函数。

下表提供了确定变量数据类型的函数 -

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

例子 (Example)

使用以下代码创建脚本文件 -

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