English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

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

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)

Compilare ed eseguire il codice sopra menzionato, dopo di che verranno prodotti i seguenti risultati-

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

Conversione di tipo di dati

MATLAB fornisce una varietà di funzioni per convertire valori da un tipo di dati a un altro. La tabella seguente mostra le funzioni di conversione di tipo di dati-

Funzione
Funzione
char

Convertire in array di caratteri (stringa)

int2strConvertire dati interi in stringa
mat2str

Convertire una matrice in una stringa

num2strConvertire un numero in una stringa
str2double

Convertire una stringa in un valore doppio

str2numConvertire una stringa in un numero
native2unicode

Convertire byte numerico in carattere Unicode

unicode2nativeConvertire un carattere Unicode in byte numerico
base2dec

Convertire una stringa di base N in un numero decimale

bin2decConvertire una stringa binaria in un numero decimale
dec2base

Convertire un numero decimale in un numero di base N nella stringa

dec2binConvertire un numero decimale in un numero binario nella stringa
dec2hex

Convertire un numero decimale nella stringa in un numero esadecimale

hex2decConvertire un numero decimale in un numero esadecimale nella stringa
hex2numConvertire una stringa esadecimale in un numero doppio
num2hex

Convertire numeri singoli e doppi in stringhe esadecimali IEEE

cell2matConvertire un array di celle in un array numerico
cell2struct

Convertire un array di celle in un array di strutture

cellstrCreare un array di celle di stringhe da un array di caratteri
mat2cellConvertire un array in un array di celle di dimensioni diverse
num2cell

Convertire un array in un array di celle di dimensioni uniformi

struct2cellConvertire una struttura in un array di celle

Determinazione del tipo di dati

MATLAB fornisce una varietà di funzioni per riconoscere il tipo di dati delle variabili.

La tabella sottostante fornisce la funzione di determinazione del tipo di dati delle variabili-

Funzione
Funzione
isVerificare lo stato
isaDeterminare se l'input è un oggetto di una classe specificata
iscellDeterminare se l'input è un array di celle
iscellstrDeterminare se l'input è un array di celle di stringhe
ischarDeterminare se il progetto è un array di caratteri
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 = 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