J'ai un fichier Matlab .fig. (Fondamentalement un complot de pcolor). Je veux extraire la matrice (comme les lignes et les colonnes dans une variable de tableau) de cette image. Comment puis-je faire cela? Merci pour toutes les entrées ou les pointeurs.Comment extraire une matrice d'un .fig dans Matlab?
Répondre
Les axes ont un enfant, qui est un objet de type surface
si vous avez utilisé la fonction pcolor
, ou de type image
si vous avez utilisé la fonction image
. La matrice est dans la propriété CData
de cet objet:
>> x = magic(3) % example data
x =
8 1 6
3 5 7
4 9 2
>> pcolor(x) % generate image
>> get(get(gca,'Children'),'CData') % retrieve the data
ans =
8 1 6
3 5 7
4 9 2
En plus de la réponse de Luis Mendo, je veux souligner que Matlab prend en charge les points notation et si la performance est une préoccupation, point notation doit toujours être préféré sur les méthodes set()/get(). L'utilisation de l'enveloppe de fonction handle()
avec la notation par points est la plus rapide pour définir et obtenir des propriétés de classe de handle.
>> x=magic(3)
x =
8 1 6
3 5 7
4 9 2
>> pcolor(x)
>> ax = handle(gca);
>> ax.Children.CData
ans =
8 1 6
3 5 7
4 9 2
Pour synchronisation des expériences et des détails voir: Undocumented MATLAB
Merci pour l'aide – Sack11
Merci pour l'entrée. Je comprends maintenant – Sack11