Comment puis-je extraire un champ spécifique de chaque élément d'une matrice de structure MATLAB?
>> x(:).a ans = 6 ans = 7
4 Réponses :
Malheureusement, je suis presque sûr que Matlab n'a pas de bonne façon de faire ce que vous voulez. Vous devrez utiliser une boucle pour construire un nouveau tableau, soit revenir en arrière et redéfinir vos structures de données. Par exemple, vous pourrez peut-être utiliser une structure de tableaux plutôt que d'un réseau de structures. P>
Pas de problème - Utilisez simplement:
b(1).x = 'John'; b(2).x = 'Doe'; arr = {b.x};
Pour une matrice multidimensionnelle, vous avez besoin
reshape([x.a], size(x))
Si des éléments de la structure sont des chaînes, la solution acceptée concatén toutes les cellules.
Le plus général fonctionne dans tous les cas.
ref p> p>