MATLAB - Types de données
MATLAB ne nécessite aucune déclaration de type ou instruction de dimension. Chaque fois que MATLAB rencontre un nouveau nom de variable, il crée la variable et alloue l'espace mémoire approprié.
Si la variable existe déjà, MATLAB remplace le contenu d'origine par un nouveau contenu et alloue un nouvel espace de stockage, si nécessaire.
Par exemple,
Total = 42
L'instruction ci-dessus crée une matrice 1 par 1 nommée «Total» et y stocke la valeur 42.
Types de données disponibles dans MATLAB
MATLAB fournit 15 types de données fondamentaux. Chaque type de données stocke des données sous la forme d'une matrice ou d'un tableau. La taille de cette matrice ou tableau est au minimum de 0 par 0 et cela peut atteindre une matrice ou un tableau de n'importe quelle taille.
Le tableau suivant présente les types de données les plus couramment utilisés dans MATLAB -
Sr.No. | Type de données et description |
---|---|
1 | int8 Entier signé 8 bits |
2 | uint8 Entier non signé 8 bits |
3 | int16 Entier signé 16 bits |
4 | uint16 Entier non signé 16 bits |
5 | int32 Entier signé 32 bits |
6 | uint32 Entier non signé 32 bits |
sept | int64 Entier signé 64 bits |
8 | uint64 Entier non signé 64 bits |
9 | single données numériques en simple précision |
dix | double données numériques à double précision |
11 | logical les valeurs logiques de 1 ou 0, représentent respectivement vrai et faux |
12 | char données de caractères (les chaînes sont stockées comme vecteur de caractères) |
13 | cell array tableau de cellules indexées, chacune capable de stocker un tableau d'une dimension et d'un type de données différents |
14 | structure Structures de type C, chaque structure ayant des champs nommés capables de stocker un tableau d'une dimension et d'un type de données différents |
15 | function handle pointeur vers une fonction |
16 | user classes objets construits à partir d'une classe définie par l'utilisateur |
17 | java classes objets construits à partir d'une classe Java |
Exemple
Créez un fichier de script avec le code suivant -
str = 'Hello World!'
n = 2345
d = double(n)
un = uint32(789.50)
rn = 5678.92347
c = int32(rn)
Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant -
str = Hello World!
n = 2345
d = 2345
un = 790
rn = 5678.9
c = 5679
Conversion de type de données
MATLAB fournit diverses fonctions pour convertir, une valeur d'un type de données à un autre. Le tableau suivant présente les fonctions de conversion de type de données -
Fonction | Objectif |
---|---|
carboniser | Convertir en tableau de caractères (chaîne) |
int2str | Convertir des données entières en chaîne |
mat2str | Convertir la matrice en chaîne |
num2str | Convertir un nombre en chaîne |
str2double | Convertir la chaîne en valeur à double précision |
str2num | Convertir une chaîne en nombre |
native2unicode | Convertir les octets numériques en caractères Unicode |
unicode2native | Convertir les caractères Unicode en octets numériques |
base2dec | Convertir la chaîne numérique de base N en nombre décimal |
bin2dec | Convertir une chaîne de nombres binaires en nombre décimal |
dec2base | Convertir le nombre décimal en nombre de base N dans une chaîne |
dec2bin | Convertir un nombre décimal en nombre binaire en chaîne |
dec2hex | Convertir un nombre décimal en nombre hexadécimal dans une chaîne |
hex2dec | Convertir une chaîne de nombres hexadécimaux en nombre décimal |
hex2num | Convertir une chaîne de nombres hexadécimaux en nombre à double précision |
num2hex | Convertir les simples et les doubles en chaînes hexadécimales IEEE |
cell2mat | Convertir un tableau de cellules en tableau numérique |
cell2struct | Convertir un tableau de cellules en tableau de structure |
cellstr | Créer un tableau de cellules de chaînes à partir d'un tableau de caractères |
mat2cell | Convertir un tableau en tableau de cellules avec des cellules de tailles potentiellement différentes |
num2cell | Convertir un tableau en tableau de cellules avec des cellules de taille constante |
struct2cell | Convertir la structure en tableau de cellules |
Détermination des types de données
MATLAB fournit diverses fonctions pour identifier le type de données d'une variable.
Le tableau suivant fournit les fonctions permettant de déterminer le type de données d'une variable -
Fonction | Objectif |
---|---|
est | Détecter l'état |
est un | Déterminer si l'entrée est un objet de la classe spécifiée |
iscell | Déterminer si l'entrée est un tableau de cellules |
iscellstr | Déterminer si l'entrée est un tableau de cellules de chaînes |
ischar | Déterminer si l'élément est un tableau de caractères |
isfield | Déterminer si l'entrée est un champ de tableau de structure |
flotter | Déterminer si l'entrée est un tableau à virgule flottante |
ishghandle | Vrai pour les poignées d'objet Handle Graphics |
isinteger | Déterminer si l'entrée est un tableau d'entiers |
isjava | Déterminer si l'entrée est un objet Java |
islogique | Déterminer si l'entrée est un tableau logique |
isnumérique | Déterminer si l'entrée est un tableau numérique |
isobject | Déterminer si l'entrée est un objet MATLAB |
est vrai | Vérifiez si l'entrée est un tableau réel |
iscalaire | Déterminer si l'entrée est scalaire |
isstr | Déterminer si l'entrée est un tableau de caractères |
isstruct | Déterminer si l'entrée est un tableau de structure |
isvector | Déterminer si l'entrée est vectorielle |
classe | Déterminer la classe d'objet |
validateattributes | Vérifier la validité du tableau |
qui | Lister les variables dans l'espace de travail, avec des tailles et des types |
Exemple
Créez un fichier de script avec le code suivant -
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)
Lorsque vous exécutez le fichier, il produit le résultat suivant -
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