2017-04-21 1 views
0

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

1

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 
+1

Merci pour l'entrée. Je comprends maintenant – Sack11

0

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

+0

Merci pour l'aide – Sack11