Matlab - Error al cargar variables .mat

   
Vista:

Error al cargar variables .mat

Publicado por David (14 intervenciones) el 18/05/2014 02:17:13
Hola a tod@s,

Sigo con mi programa GUI.... Lo que quiero hacer es guardar las variables en un archivo .mat. Para ello hago lo siguiente:

1
2
global var1 var2
save('variables','var1','var2,'-append')

Y luego para cargar:

1
2
3
4
5
load('variables')
set(handles.var1,'String',var1)
set(handles.var2,'String',var2)
handles.var.var1=var1
handles.var.var2=var2

Así puedo operar con ellas, pero lo que me pasa es que al cerrar el programa y volverlo a ejecutar, el archivo variables.mat se me ha creado, y las variables estan dentro bien guardadas (lo abro con el matlab y las veo que estan bien), pero al cargarlas de nuevo me sale el siguiente error:


1
2
3
Undefined function or variable 'var1'.
Error in
set(handles.var1,'String',var1).


Como lo podria hacer?

PD: si cierro la pestaña del programa y lo vuelvo a ejecutar con otra gui que la llama (al ser diferentes GUIs), se me carga la variable, pero cuando cierro por completo el programa principal y vuelvo a ejecutar el programa .exe generado, me dice el error comentado anteriormente.

Muchas gracias de antemano,
David
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

Error al cargar variables .mat

Publicado por david (14 intervenciones) el 18/05/2014 12:46:55
Me carga la variable 2 y me la pone en su editbox, pero la variable 1 me dice:

Error using set
error: mxArray must be double, char, or cell

como puede ser si son igual?

Muchas gracias,
David.
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
Imágen de perfil de Dave

Error al cargar variables .mat

Publicado por Dave correa.dave30@gmail.com (934 intervenciones) el 18/05/2014 20:02:46
Hola David;

Creo haber identificado el problema, es muy probable que te esté faltando actualizar el contenido del manejados de controles del Guide, esto se hace a través del handles y su actualización a través de guidata.

1
guidata(hObject, handles);

Otra cosa, creo que esta parte del código

1
2
3
4
5
load('variables')
set(handles.var1,'String',var1)
set(handles.var2,'String',var2)
handles.var.var1=var1
handles.var.var2=var2

debería ser:

1
2
3
4
5
6
load('variables')
set(handles.var1,'String',var1)
set(handles.var2,'String',var2)
handles.var1=var1
handles.var2=var2
guidata(hObject, handles)

Espero que sea de alguna ayuda.

Saludos
Dave Correa
correa.dave30@gmail.com
Servicios de Programación Matlab
http://fismatlab.blogspot.com/
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