Thank you very much Arthur.I´ll try with your solution. It seems to be perfect. If I had some other proble I´ll post again. Thanks a lot-
Transfering variables from Workspace to GUIDE Interfaz
    9 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
Hello Everybody I would like to ask you the following question:
I have a set of variables that I have generated in the MATLAB Workspace. I also created a GUIDE Interfaz to process this variables. I would like to be able to select those variables from the GUI but I don´t know how to incorporate some windows that allows me to do that. I surfed in different sites but I could not find some help. I would appreciate your help.
Thank you in advance.
0 Commenti
Risposta accettata
Più risposte (2)
  Arthur
      
 il 16 Nov 2012
        2 Commenti
  Arthur
      
 il 28 Nov 2012
				Ok, so you first want a list of variables from the base workspace, and then select one of those. You need to make a simple GUI containing a listbox. In the openingFcn of the GUI you retrieve the variable names from the base and store these in your listbox, like this:
varnames = evalin('base','who'); %get variables from workspace
set(handles.listbox1,'String',varnames); %put names in listbox
In the callback of the listbox, you can get the values that you need.
varnames   = get(handles.listbox1,'String') %get variable names;
sel        = get(handles.listbox1,'Value') %get selected variable;
myVarName  = varnames{sel}; %get name of selected variable;
myVarValue = evalin('base',myVarName);
  Alex Yugcha
 il 12 Set 2020
        
      Modificato: Alex Yugcha
 il 12 Set 2020
  
      Hello, i used code from Arthur
I  have this in workspace:

then i have created a GUI

In the Opening Fcn
varnames = evalin('base','who'); %get variables from workspace
set(handles.listbox1,'String',varnames); %put names in listbox
In the 'GRAFICAR'_Callback
varnames   = get(handles.listbox1,'String') %get variable names;
t  = varnames{1}; %get name of selected variable;
y =varnames{2};
t = evalin('base',t);
y = evalin('base',y);
axes(handles.axes1)
plot(t,y);
Then I could draw my function 'y' directly on the axis 

0 Commenti
Vedere anche
Categorie
				Scopri di più su Variables in Help Center e File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!