MATLAB 入门教程 MATLAB数据类型

2024-02-25 开发教程 MATLAB 入门教程 匿名 4

默认情况下,MATLAB ®存储所有数值变量为双精度浮点值。其他数据类型存储文本,整数或单精度值或单个变量中相关数据的组合。

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

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

例如:

total = 136;

上述语句创建一个名为total1x1矩阵,并将值136存储在其中。

MATLAB数据类型


MATLAB提供15种基本数据类型,分别是8种整型数据、单精度浮点型、双精度浮点型、逻辑型、字符串型、单元数组、结构体类型和函数句柄。每种数据类型存储矩阵或数组形式的数据。矩阵或数组的最小值是00,并且是可以到任何大小的矩阵或数组。

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

数据类型描述

int8

8位有符号整数

uint8

8位无符号整数

int16

16位有符号整数

uint16

16位无符号整数

int32

32位有符号整数

uint32

32位无符号整数

int64

64位有符号整数

uint64

64位无符号整数

single

单精度数值数据

double

双精度数值数据

logical

逻辑值为10,分别代表truefalse

char

字符数据(字符串作为字符向量存储)
单元格阵列索引单元阵列,每个都能够存储不同维数和数据类型的数组
结构体C型结构,每个结构具有能够存储不同维数和数据类型的数组的命名字段
函数处理指向一个函数的指针
用户类用户定义的类构造的对象
Java类从Java类构造的对象

示例


使用以下代码创建脚本文件(datatype1.m):

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

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

Trial>> datatype1
str =
'Hello World!'
n =
2345
d =
2345
un =
uint32
790
rn =
5.6789e+03
c =
int32
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

确定是否用于处理图形对象句柄

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 = 1177/50
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