Plot de données en .mat dans une GUI
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 :
Code:
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) |
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.
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 :oops:) :
Code:
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); |
le hgui est définit dans la fonction open de mon gui, comme suit:
Code:
setappdata(0,'hgui',gcf)
En vous remerciant d'avance :)