Bonjour,
cela fait 5 jours que je débute en programmation GUI sous Matlab. J'ai créé une interface graphique à l'aide de l'outil GUIDE dans lequel j'ai un menu personnalisé.
A l'ouverture de la GUI, j'ai un objet Axes dans lequel j'affiche un logo de présentation de l'outil que je développe.
Mon problème est que par la suite je souhaiterai "ploter" des données que je récupère d'un fichier .mat.
Pour ce faire j'utilise mon menu, donc comme l'indique le code ci-dessous :
j'ouvre le fichier et je souhaiterai le définir dans une variable pour pouvoir le tracer dans l'objet Axe que j'ai définit puis l'exploiter pour autre chose.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 function new_menu_Callback(hObject, eventdata, handles) % hObject handle to new_menu (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) [fname,pname] = uigetfile('*.mat','Select Saved File'); disp(fname) if pname==0, error('None selected!'); end load(fullfile(pname,fname) ); put('singal',fname) disp('signal') plot(signal)
Petite explication de ma fonction put:
Afin d'éviter la redondance de l'utilisation de getappdata et de setappdata, j'ai trouvé ces les fonctions suivantes dans un programme (dont j'aimerai bien avoir une explication plus détaillée, notamment le 0 à la place de h ) :
le hgui est définit dans la fonction open de mon gui, comme suit:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 function var = retr(name) hgui=getappdata(0,'hgui'); var=getappdata(hgui, name); %associer une valeur à la figure ou data "name" function put(name, what) hgui=getappdata(0,'hgui'); setappdata(hgui, name, what);
Code : Sélectionner tout - Visualiser dans une fenêtre à part setappdata(0,'hgui',gcf)
En vous remerciant d'avance
Partager