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
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Intercambio de variables en funciones de una GUI

Publicado por JOSE JEREMIAS CABALLERO (5917 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
[email protected]
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