Comment puis-je définir une structure en Matlab
Je sais qu'une structure peut être définie par plusieurs moyens tels que:
- Ajouter des champs à une variable
p.color.red = .2; p.color.green = .4; p.color.blue = .7;
- La définition d'un scalaire structure par cession
S = struct('a', 0, 'b', 1, 'c', 2);
Ce que je veux être en mesure de faire est de créer une définition de structure (comme le C). Mon objectif final est de disposer d'un tableau de structures que je peux parcourir et effectuer des tests sur. Est il possible que je peux définir une structure générique et ensuite créer des instances de celui-ci? Dois-je utiliser un autre mécanisme. Je sais MATLAB supporte Java, dois-je utiliser une classe ou interface?
OriginalL'auteur Joel B | 2010-11-12
Vous devez vous connecter pour publier un commentaire.
Contrairement au C, Matlab permet d'ajouter ou de supprimer des membres d'un struct, comme vous allez. C'est plus une convention qu'un struct avec certains champs peuvent être utilisés avec certaines fonctions.
Donc oui, ceux sont les deux méthodes de base pour créer des structures. Bien sûr, vous pouvez toujours écrire une fonction dans un *.m de fichier qui crée une structure de certains champs pour vous. Ou si vous souhaitez obtenir plus de OO, voir ici
OriginalL'auteur aschepler
Vous avez mentionné votre objectif était de travailler avec plusieurs structure du même type, donc vous devez être conscient des deux principales approches disponibles pour vous et comment ils se comparent:
1) tableau de structures
Vous pouvez l'initialiser par la culture du tableau dynamiquement
Cependant, il est toujours préférable de commencer par pré-allouer le tableau
un autre truc à pré-allouer:
Ou même de donner toutes les valeurs d'initialisation:
Un moyen simple pour remplir les valeurs
Voici comment vous pouvez obtenir toutes les valeurs d'un champ:
2) les structures de tableaux
L'avantage, c'est que la structure est tout simplement un tableau de pointeur (r,g,b,str sont stockés séparément dans la mémoire). Comparez cela à l'approche précédente, où nous avons un tableau de structure, et chaque structure a des pointeurs de son domaine (il y a une surcharge de la mémoire):
D'autre part, puisque chacun des champs d'une structure est stocké dans un tableau de son propre, il est à vous de les appliquer du fait qu'ils ont pour correspondre à la longueur.
Certains autres postes, si vous voulez lire plus à ce sujet:
OriginalL'auteur Amro