variable global sin declararla explicitamente
Publicado por oscar (5 intervenciones) el 14/03/2012 02:22:33
Estoy trabajando con una GUI en matlab, en la que el usuario, escribe un nombre por ejemplo temperatura, P, X ...etc y esas seran variables que se usaran en el programa y que se operaran despues con ellas, en otras palabras, el usuario crea las variables, y pues no puedo ponerle una lista para que las escoja, él debe crearlas.
variables=get(handles.VAR,'String');
contador=get(handles.contavariable,'String');
contador=str2num(contador);
varnames = {variables};
values = contador;
eval([varnames '= ' num2str(contador) ';'])
algo asi es el codo que he estado usando, me funciona por el hecho de que crea la variable que el usuario tecleo, y le asigna el valor debido, pero lo por ser una GUI al terminar de ejecutar la funcion, se borra la variable. Si el usuario escribio perro y contador era 1, se asigna perro=1 ; pero una vez que queremos ingresar una segunda variable se borra la primera, y ese es mi gran dilema, porque el programa pretende operar con todas las variables que el usuario declaró.
He tratado de declararlas como globales, pero no se si exista algun modo de hacerlo sin declararlas explicitamente , algo asi ocmo : global varnames{1} (Ya lo intente y no me ha funcionado).
Alguna ídea para solucionarlo? o algun otro metodo para crear variables dentro del a ejecucion de una GUI y despues poder operarlas?
variables=get(handles.VAR,'String');
contador=get(handles.contavariable,'String');
contador=str2num(contador);
varnames = {variables};
values = contador;
eval([varnames '= ' num2str(contador) ';'])
algo asi es el codo que he estado usando, me funciona por el hecho de que crea la variable que el usuario tecleo, y le asigna el valor debido, pero lo por ser una GUI al terminar de ejecutar la funcion, se borra la variable. Si el usuario escribio perro y contador era 1, se asigna perro=1 ; pero una vez que queremos ingresar una segunda variable se borra la primera, y ese es mi gran dilema, porque el programa pretende operar con todas las variables que el usuario declaró.
He tratado de declararlas como globales, pero no se si exista algun modo de hacerlo sin declararlas explicitamente , algo asi ocmo : global varnames{1} (Ya lo intente y no me ha funcionado).
Alguna ídea para solucionarlo? o algun otro metodo para crear variables dentro del a ejecucion de una GUI y despues poder operarlas?
Valora esta pregunta


0