8
votes

Comment couper un tableau de struct?

Comment puis-je extraire un champ spécifique de chaque élément d'une matrice de structure MATLAB?

>> x(:).a

ans =    

     6


ans =

     7


0 commentaires

4 Réponses :


-1
votes

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.


0 commentaires

10
votes

Pas de problème - Utilisez simplement:

b(1).x = 'John';
b(2).x = 'Doe';
arr = {b.x}; 


0 commentaires

2
votes

Pour une matrice multidimensionnelle, vous avez besoin

reshape([x.a], size(x))


0 commentaires

0
votes

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 xxx

fonctionne dans tous les cas. ref


0 commentaires