English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
MATLAB 不需要任何类型声明或维度语句。每当 MATLAB 遇到一个新的变量名,它就创建变量并分配适当的内存空间。
如果变量已经存在,那么MATLAB将用新内容替换原始内容,并在必要时分配新的存储空间。
例如,
Total = 42
上面的语句创建一个名为“ Total”的1比1矩阵,并将值42存储在其中。
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
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) |
int2str | Convertire dati interi in stringa |
mat2str | Convertire una matrice in una stringa |
num2str | Convertire un numero in una stringa |
str2double | Convertire una stringa in un valore doppio |
str2num | Convertire una stringa in un numero |
native2unicode | Convertire byte numerico in carattere Unicode |
unicode2native | Convertire un carattere Unicode in byte numerico |
base2dec | Convertire una stringa di base N in un numero decimale |
bin2dec | Convertire una stringa binaria in un numero decimale |
dec2base | Convertire un numero decimale in un numero di base N nella stringa |
dec2bin | Convertire un numero decimale in un numero binario nella stringa |
dec2hex | Convertire un numero decimale nella stringa in un numero esadecimale |
hex2dec | Convertire un numero decimale in un numero esadecimale nella stringa |
hex2num | Convertire una stringa esadecimale in un numero doppio |
num2hex | Convertire numeri singoli e doppi in stringhe esadecimali IEEE |
cell2mat | Convertire un array di celle in un array numerico |
cell2struct | Convertire un array di celle in un array di strutture |
cellstr | Creare un array di celle di stringhe da un array di caratteri |
mat2cell | Convertire un array in un array di celle di dimensioni diverse |
num2cell | Convertire un array in un array di celle di dimensioni uniformi |
struct2cell | Convertire una struttura in un array di celle |
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 |
---|---|
is | Verificare lo stato |
isa | Determinare se l'input è un oggetto di una classe specificata |
iscell | Determinare se l'input è un array di celle |
iscellstr | Determinare se l'input è un array di celle di stringhe |
ischar | Determinare 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