Matlab - Intercambio de variables en funciones de una GUI

   
Vista:

Intercambio de variables en funciones de una GUI

Publicado por pepe (7 intervenciones) el 10/09/2011 11:16:28
Hola!
Tengo un problema, y es que necesito transferir una variable, en éste caso la c, entree 2 funciones diferentes de una interfaz GUI.

function Ej1_Callback(hObject, eventdata, handles)
% hObject handle to Ej1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
clc

MEF_data=ej1;
c=1;
for i=1:length(MEF_data.ELMNT);
x1=MEF_data.COOR(MEF_data.ELMNT(i,1),:);%Primer
x2=MEF_data.COOR(MEF_data.ELMNT(i,2),:);%Segundo
%Aquí se separan las coordenadas x e y de cada uno de los nudos.
%Coordenada x Segundo
%Coordenada y Segundo
%Coordenada x Primero
%Coordenada y Primero
%Ahora se organizan vectores filas, uno para las x y otro para las y.
%Para poder representarlos con el comando plot.
hold on
plot([x1(1,1) x2(1,1)],[x1(1,2) x2(1,2)],'r'),grid;axis('equal');
hold off
end



% --------------------------------------------------------------------
function Calcular_Callback(hObject, eventdata, handles,c)
% hObject handle to Calcular (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
if c==1
MEF_data=ej1;%Carga del fichero de datos de la estructura en concreto.
[K,T]=Ensamblaje_Kelement_truss2D;
[cc]=CondContorno;
[Fuerzas,D,Desp,F]=Kmodificador(K);
[N,sigma]=Felement(Desp,T);
dibujo(D,sigma)
end

Es que en las GUI no se tratan las variables como en funciones normales.
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

Intercambio de variables en funciones de una GUI

Publicado por pepe (7 intervenciones) el 10/09/2011 11:41:48
Ya lo he logrado por medio de :
Por ejemplo, si dentro de una subrutina una operación dio como resultado una
variable diego para poder utilizarla desde el programa u otra subrutina debemos salvarla
de la siguiente manera:
handles.diego=diego;
guidata(hObject,handles);
La primera línea crea la variable diego a la estructura de datos de la aplicación
apuntada por handles y la segunda graba el valor.
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 JOSE JEREMIAS CABALLERO

Intercambio de variables en funciones de una GUI

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3433 intervenciones) el 11/09/2011 20:09:59
hola Jose Manuel.
Cuando ejecuto tu programa anterior me pide, estos valores.
Me gustaria saber de donde obtengo los valores de Ensamblaje_Kelement_truss2D;
y los demas valores.
Serian tan amable de decirme.

%=========================
[K,T]=Ensamblaje_Kelement_truss2D;
[cc]=CondContorno;
[Fuerzas,D,Desp,F]=Kmodificador(K);
[N,sigma]=Felement(Desp,T);
dibujo(D,sigma)
end

%============================


JOSE JEREMIAS CABALLERO
ASESOR DE PROYECTOS CON MATLAB
PROFESOR DE METODOS NUMERICOS CON MATLAB
PROGRAMADOR MATLAB
jjcc94@hotmail.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