Matlab - Gui matlab

   
Vista:

Gui matlab

Publicado por Salvpue (4 intervenciones) el 24/03/2009 13:16:27
Buenas.
Soy novata en esto de la GUI de matlab y estoy intentando crear una.
Creo una simple y se actuar sobre ella, pero al dar a una pestaña, quiero que vaya a otra con otro aspecto y componentes pero poder utilizar los datos antes generados. No se como compartir esos datos.
Me refiero, por ejemplo, cargo un fichero en la gui de inicio y al dar a la pestaña de procesado, es otra gui, pero necesito ese fichero que ya había cargado. ¿Cómo puedo compartir handles entre distintas guides?
Gracias
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

RE:Gui matlab

Publicado por Kike (304 intervenciones) el 26/03/2009 15:58:07
No sé si se pueden compartir las handles, pero una vez me topé con ese problema y lo resolví usando una estructura que declaré como global en cada GUI.

Supongamos que en la ventana principal el usuario digita números, selecciona alguna casilla o radiobutton, escoge algo en un popup, etc., y que todos esos datos son almacenados en una estructura llamada simplemente Datos.

Imaginemos que el usuario digita la cantidad de bebidas que desea comprar, selecciona una casilla para indicar que la quiere dietética, y en el popup escoge la marca de la bebida. Entonces el pushbutton para pasar a la siguiente ventana recoge los datos:
global Datos
Marca = {'Pepsi', '7Up', 'Coca Cola', 'Fanta'}; % String del popup de marcas
Datos.cantidad = str2num(get(handles.edit1,'String'));
Datos.dietetica = get(handles.checkbox1,'Value');
Datos.marca = Marca{get(handles.popup1,'Value')};

Luego en la siguiente GUI se vuelve a declarar a Datos como global y listo.
global Datos
fprintf('El usuario desea %d %ss', Datos.cantidad, Datos.marca)

Otra solución sería no usar variables globales sino guardar los datos con el comando save, y en la otra GUI cargarlos con el comando load.
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

axes en bucle GUI matlab

Publicado por Salvpue (4 intervenciones) el 26/03/2009 18:29:59
Muchisimas gracias, algo así he conseguido hacer. Entre estructuras y getappdata y setappdata he sido capaz de apañármelas.

Tengo otra duda pero esta vez sobre los axes.
La cosa es que tengo en una ventana dos popup distintos, cojo los valores seleccionados, y sobre un eje de esa misma ventana tengo que representar unas cosas u otras dependiendo de lo seleccionado.
La selección la coge bien y está bien almacenado como handles.
La cosa es que para representar una cosa u otra creo un bucle if anidado con otro. y dentro ya de la opción elegida:

plot(handles.axesrepresentacion,A,B) siendo A y B los datos a representar.

así para cada selección y el programa me muestra bien cuando elijo las dos primeras opciones, a partir de la tercera ya me da error.

El bucle no es, porque si hago el mismo bucle solo sacando por pantalla datos, no representando va todo bien, el problema es con los axes y los bucles, creo que no los estoy usando correctamente.

Si cambio el orden en el bucle me muestra bien los dos primeros tambien, aunque sean otros distintos que antes.

No entiendo por qué pasa eso. Agradecería una mano porque por ahí si que no se por donde tirar.

Gracias.
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