Matlab - Traspaso de datos desde GUIDE

 
Vista:

Traspaso de datos desde GUIDE

Publicado por Antonio (32 intervenciones) el 08/10/2008 10:06:21
Hola a todos, tengo una dudilla que no consigo resolver, os la comento a continuación:

Tengo un Formulario.fig con Botones, Cajas de texto, axes, etc...

El caso es que deseo trabajar con algunos datos que he introducido en las cajas de texto del Formulario.fig pero este trabajo debo hacerlo en una function (externa.m) que no pertenece al Formulario.m del .fig. Mi problema es como llamar a esos valores que hay en las cajas de texto desde la function externa.m en donde tengo las formulas.

Deseo extraer datos de aquí:
Formulario.fig
Formulario.m

para trabajar aquí:
externa.m

He probado ha llamar a estos valores de la forma normal en la que lo hago dentro del Formulario.m, pero no funciona:
get(handles.cajatexto,'string'); o get(handles.cajatexto,'Value'); por ejemplo....

Alguien conoce la forma de llamar a estos valores.

Gracias por vuestro tiempo. Un Saludo
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:Traspaso de datos desde GUIDE

Publicado por Kike (304 intervenciones) el 09/10/2008 03:58:47
Declaramos como globales a las variables en cada una de las funciones en las que intervienen.

El siguiente ejemplo obtiene los datos introducidos por el usuario en el formulario, hace los cálculos en la función externa y finalmente presenta el resultado en el formulario.

% Callback de pushbutton del formulario:
% Se declaran como globales las variables
global var1 var2 var3 var4

% Se obtienen los datos introducidos por el usuario
var1 = str2num(get(handles.edit1,'String'));
var2 = str2num(get(handles.edit2,'String'));
var3 = get(handles.edit1,'Value');

% Se llama a la función externa para hacer los cálculos
externa;

% Se presenta el resultado en un texto estático del formulario
set(handles.text1,num2str(var4));

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Función externa:
% Se declaran como globales las variables
global var1 var2 var3 var4

% Cálculos
var4 = sqrt(var1^2 + var2^2) + var3;
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

RE:Traspaso de datos desde GUIDE

Publicado por Antonio (32 intervenciones) el 09/10/2008 10:32:38
Correcto, efectivamente se puede hacer así. Incluso se podría trasferir las variables a la función externa y recoger luego la resultante del calculo de la siguiente forma:

[var4] = externa(var1,var2,var3);

Pero la cuestión es que la definición de los valores var1,var2,var3 a partir de los "edit", y la posterior salida de var4 en otro "edit" sigue haciéndose desde el archivo.m del formulario y no desde la funcion externa como pretendo yo.

var1 = str2num(get(handles.edit1,'String'));
var2 = str2num(get(handles.edit2,'String'));
var3 = get(handles.edit1,'Value');
set(handles.text1,num2str(var4));

es decir, que estas lecturas y cargas de datos quiero que las haga externa.m. Vamos, que sea capaz de coger y poner cosas en el formulario!!!

Un saludo y gracias por tu tiempo
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