Est-ce que MATLAB a une fonction/opérateur qui indique le type d'une variable (similaire à l'opérateur typeof
en JavaScript)?Comment obtenir le type d'une variable dans MATLAB?
Répondre
Utilisez la fonction class
>> b = 2
b =
2
>> a = 'Hi'
a =
Hi
>> class(b)
ans =
double
>> class(a)
ans =
char
fonction class()
est l'équivalent de typeof()
Vous pouvez également utiliser isa()
pour vérifier si une variable est d'un type particulier. Si vous voulez être encore plus précis, vous pouvez utiliser ischar()
, isfloat()
, iscell()
, etc.
Soyez prudent lorsque vous utilisez la fonction isa
. Cela sera vrai si votre objet est du type spécifié ou l'une de ses sous-classes. Vous devez utiliser strcmp
avec la fonction class
pour tester si l'objet est spécifiquement ce type et non une sous-classe.
Une autre fonction connexe est whos
. Il énumérera toutes sortes d'informations (dimensions, taille d'octet, type) pour les variables dans un espace de travail donné.
>> a = [0 0 7];
>> whos a
Name Size Bytes Class Attributes
a 1x3 24 double
>> b = 'James Bond';
>> whos b
Name Size Bytes Class Attributes
b 1x10 20 char
Comme personne l'a mentionné, Matlab a également la fonction metaclass
, qui retourne un objet avec différents éléments d'information sur l'entité passée en. Ces objets meta.class
peuvent être utiles pour les tests d'héritage (via des opérateurs de comparaison communs).
Par exemple:
>> metaclass(magic(1))
ans =
class with properties:
Name: 'double'
Description: ''
DetailedDescription: ''
Hidden: 0
Sealed: 0
Abstract: 0
Enumeration: 0
ConstructOnLoad: 0
HandleCompatible: 0
InferiorClasses: {0×1 cell}
ContainingPackage: [0×0 meta.package]
RestrictsSubclassing: 0
PropertyList: [0×1 meta.property]
MethodList: [272×1 meta.method]
EventList: [0×1 meta.event]
EnumerationMemberList: [0×1 meta.EnumeratedValue]
SuperclassList: [0×1 meta.class]
>> ?containers.Map <= ?handle
ans =
logical
1
Nous pouvons voir que class(someObj)
est équivalent au champ Name
du résultat de metaclass(someObj)
.
- 1. Problème avec le type de tableau "DAMPAR" dans MATLAB deconvolucy.m
- 2. Récupère le type d'une variable dans MySQL
- 3. Comment émuler le comportement 'include' dans MATLAB?
- 4. Comment obtenir le résultat de sp_executesql dans une variable?
- 5. clé primaire composé dans le tableau type de variable
- 6. Comment obtenir variable « Guid » d'en-tête HTTP dans ASP.NET
- 7. Obtenir le nom de la variable Get
- 8. Obtenir le nom d'une variable d'instance
- 9. Comment formater une variable de type double
- 10. Comment obtenir les résultats de Matlab en Java?
- 11. Comment mettre à jour le chemin MATLAB?
- 12. Comment ajouter le logo MathWorks à une image dans MATLAB?
- 13. longueur variable des arguments lus à partir de variables Matlab
- 14. Déclencheurs DAQ dans Matlab
- 15. Comment imprimer un tableau dans un fichier .txt dans Matlab?
- 16. Comment obtenir le type de curseur global de la souris?
- 17. double [,] type, comment obtenir le nombre de lignes?
- 18. Comment obtenir le type d'instance d'un objet win32com?
- 19. Comment obtenir le type de contenu d'un fichier en PHP?
- 20. MATLAB® l'exclusion des données en dehors 1 écart-type
- 21. Comment obtenir le type de magasin d'un ensemble d'entités
- 22. concepteur asp.net comment obtenir le type de page conçue
- 23. .NET Reflection - Comment obtenir le type "réel" de dehors ParameterInfo
- 24. Comment faire fonctionner MATLAB xUnit sur MATLAB R2008b (7.7)?
- 25. Comment annoter des graphiques dans MATLAB?
- 26. Comment faire un tri imbriqué dans MATLAB?
- 27. Convertir une variable en un type représenté par une autre variable Type?
- 28. Comment puis-je compter le nombre de propriétés dans une structure dans MATLAB?
- 29. Comment obtenir le type de périphérique associé à un fd
- 30. Binning dans matlab
La fonction [WHO] (http://www.mathworks.de/de/help/matlab/ref/who.html) ne répertorie pas la taille des variables. Pour cette raison, il est beaucoup plus rapide si votre espace de travail est bondé. – JaBe