Matlab - Graficar en una segunda GUIDE

   
Vista:

Graficar en una segunda GUIDE

Publicado por jorge (9 intervenciones) el 13/06/2013 15:49:21
resulta que en mi GUIDE1 tengo 3 axes y un push button ("abrir") el cual me abre una segunda GUIDE2, en la cual tengo 3 axes y otro push button ("Plot").

cuando la corro directamente de la GUIDE2 (run GUIDE2) me gráfica las 3 gráficas sin ningún problema.
pero cuando corro desde GUIDE1 (run GUIDE1), >> "Abrir >> "Plot", me sale un error y me gráfica mis 3 gráficas en el ultimo axes

En la GUIDE1 tengo esta instrucción:

% --- Executes on button press in abrir.
function abrir_Callback(hObject, eventdata, handles)
open GUIDE2.fig

En la GUIDE2 tengo estas instrucciones:

% --- Executes on button press in Plot.
function Plot_Callback(hObject, eventdata, handles)

scripGraficas

axes(handles.g1);
plot(a,a,c,d,'g.');
axes (handles.g2);
plot(a,b,c,d,'g.');
axes(handles.g3);
plot(a,b,c,d,'g.');

Y el error que me da es :

??? Attempt to reference field of non-structure array.

Error in ==> GUIDE2>Plot_Callback at 217
axes(handles.g1);

Error in ==> gui_mainfcn at 96
feval(varargin{:});

Error in ==> GUIDE2 at 42
gui_mainfcn(gui_State, varargin{:});

Error in ==>
@(hObject,eventdata)GUIDE2('Plot_Callback',hObject,eventdata,guidata(hObject))


??? Error while evaluating uicontrol Callback

Necesito su ayuda y su sabiduría para esto.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Interactuar entre 2 Guides

Publicado por Gerardo (26 intervenciones) el 13/06/2013 20:48:22
Hola Jorge!

Prueba usando los comandos getappdata, setappdata y rmappdata.
Un pequeño ejemplo:

GUI1:


1
2
3
4
5
6
7
8
function figure1_CloseRequestFcn(hObject, eventdata, handles)
rmappdata(0,'H1')
delete(hObject);
 
function pushbutton1_Callback(hObject, eventdata, handles)
text = get(handles.edit1,'String');
setappdata(0,'H1',text)
GUI2


GUI2:

1
2
3
4
5
6
function GUI2_OpeningFcn(hObject, eventdata, handles, varargin)
Text = getappdata(0,'H1');
set(handles.text1,'String',Text)
 
handles.output = hObject;
guidata(hObject, handles);


CAPTURA:


Saludos!
Gerardo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Interactuar entre 2 Guides

Publicado por jorge (9 intervenciones) el 14/06/2013 18:43:02
que tal Gerardo, no pude hacerlo, me da muchos errores

esta es el gui
el boton de graficar datos llama mis datos de excel y los grafica en los 3 axes con ese push boton

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function pushbutton1_Callback(hObject, eventdata, handles)
a=xlsread('datos.xlsx')
 
t=a(:,1)';
x = a(:,2)';
y = a(:,3)';
z= a(:,4)';
 
axes(handles.axes1);
plot(t,x,'g.-');
axes (handles.axes2);
plot(t,y,'g.-');
axes(handles.axes3);
plot(t,z,'g.-');
 
function pushbutton2_Callback(hObject, eventdata, handles)
open guide2.fig


el boton abrir modelo me abre mi segunda GUI



en esta segunda GUI
el boton ajustar llama un scrip que utiliza los datos cargados de excel en la GUIDE1 y me arroja 3 graficas.

1
2
3
4
5
6
7
8
9
10
function pushbutton3_Callback(hObject, eventdata, handles)
 
scripajuste
 
axes(handles.ajuste1);
plot(t39,datos(:,1),t,x,'g.');
axes (handles.ajuste2);
plot(t39,datos(:,2),t,y,'g.');
axes(handles.ajuste3);
plot(t39,datos(:,3),t,z,'g.');





Mi problema es que al momento de correrlas la GUIDE1 si me grafica los 3 axes pero la GUIDE2 me empalma los 3 en el ultimo axes.

trate de usar los que me propusiste, pero me da muchos errores, espero puedas orientarme mas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Interactuar entre 2 Guides

Publicado por Gerardo egerardoqd@outlook.com (26 intervenciones) el 15/06/2013 03:13:55
Te parece si me envías tu Guide a mi correo? Para tener mas claro el problema. Adjunta tu xlxs-file.

Saludos!
Gerardo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Interactuar entre 2 Guides

Publicado por JOrge (3 intervenciones) el 17/06/2013 21:34:31
Que tal Gerardo,

Milagrosamente pude hacer que funcionara, lo soluciones haciendo todo de nuevo en unas nuevas GUIDE, muchas gracias por tu ayuda : D
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar