Matlab - Pasar valor de una variable de una gui a otra

 
Vista:

Pasar valor de una variable de una gui a otra

Publicado por etty (13 intervenciones) el 23/08/2009 01:37:33
Hola, estoy trabajando con dos gui diferentes. Digamos que la primera es una portada en la que introducimos unos valores por teclado en dos text y despues al pulsar un boton pasamos a otra ventana(gui) la cual debe recibir los valores introducidos en la primera....

un saludo

gracias
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:Pasar valor de una variable de una gui a otra

Publicado por Kike (304 intervenciones) el 23/08/2009 02:52:20
Se debe declarar a cada variable que se desee compartir entre funciones como de tipo global en cada una de esas funciones. Para que funcione debe estar abierta la primera GUI.

Eemplo:
% En la primera GUI
global var1 var2
x = 0:100;
var1 = sin(x); % vector
var2 = var1(5); % quinto elemento de var1

% En la segunda GUI se utilizan las variables creadas anteriormente
global var1 var2
plot(var1); % se grafica el vector
fprintf('El quinto elemento de var1 es %d', var2);


Si no es necesario que esté abierta la primera GUI entonces es posible almacenar las variables en un archivo de tipo mat.

Eemplo:
% En la primera GUI
x = 0:100;
var1 = sin(x); % vector
var2 = var1(5); % quinto elemento de var1
save variables var1 var 2 % se guardan ambas variables en el archivo variables

% Cerramos la primera GUI si queremos. En la segunda GUI se utilizan las variables creadas anteriormente
load variables; % se recupera el archivo variables
plot(var1); % se grafica el vector
fprintf('El quinto elemento de var1 es %d', var2);
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:Pasar valor de una variable de una gui a otra

Publicado por etty (13 intervenciones) el 23/08/2009 12:56:37
Hola de nuevo y gracias.

Hasta ahi queda claro pero pongamos que yo tengo 2 gui diferentes: (gui1.fig - gui1.m) y (gui2.fig - gui2.m). Como desde la gui1 hago que se ejecute la gui2? Es decir, si en la gui1 tengo un boton que al pulsarlo quiero que se abra la gui2..

Gracias

Diego
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:Pasar valor de una variable de una gui a otra

Publicado por etty (13 intervenciones) el 23/08/2009 14:18:57
Solucionado . La verdad es que era una tonteria. Simplemente si tenemos gui1 y gui2 y queremos llamar a gui2 desde gui1, hay que escribir gui2.

Gracias

Diego
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:Pasar valor de una variable de una gui a otra

Publicado por carlos (1 intervención) el 05/11/2010 20:53:01
gracias por la nota
quisiera saber si se puede insertar videos en guide
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:Pasar valor de una variable de una gui a otra

Publicado por giovanny beltran (20 intervenciones) el 30/06/2011 06:15:45
buenas quisiera saber como actualizar la variables globales porque carga un valor y lo muestra en la otra GUI , pero si ese valor cambia en la otra GUI no cambia siempr equeda el mismo gtacias
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
sin imagen de perfil

Pasar valor de una variable de una gui a otra

Publicado por Katherine (4 intervenciones) el 09/01/2017 02:45:57
Hola

Quiero preguntar como hago para lograr guardar la variable vector desde figure a la gui, lo intente así, pero no se guarda la variable:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
function Validar_Callback(hObject, eventdata, handles)
% hObject    handle to Validar (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
global im
h=figure('KeyPressFcn','keep=0');
imshow(im);
Diametro=[];
keep=1
escala=get(handles.Zoom_objetivo,'UserData');
while keep==1
    pregunta=get(handles.entrada_manual,'String');
 
    vector=[];
    hold on
    %keep=1;
    disp(1)
    button=1
    while keep==1 && button==1
        [x,y,button]=ginput(1);
        disp('bbb')
        button
        vector=[vector;[x,y]];
        plot(vector(:,1),vector(:,2),'-r','markersize',10);
        hold on
        disp('s')
        keep
    end
 
 
    disp(2)
    vector=[vector;vector(1,:)];
setappdata(h,'UserData',vector);
    plot(vector(:,1),vector(:,2),'-r','markersize',10);
 
    tamano=length(getappdata(h,'UserData'));
    vector=vector'
    if tamano<3
        AreaPoligono=0;
        break
        return
    else
        area=0;
        for i=1:tamano-1
            area=area+0.5*(vector(2,i)+vector(2,i+1))*(vector(1,i+1)-vector(1,i));
        end
        AreaPoligono=abs(area*escala^2);
    end
    
    diamet=2*((AreaPoligono/3.1416)^0.5);
    diamet=-log2(diamet)
    Diametro=[Diametro;[diamet]]
   
    disp(['Area: ',num2str(round(AreaPoligono,2)), 'mm^2']);
    disp(['Tamaño: ',num2str(round(diamet,2)), 'phi']);
    
    [x,y,button]=ginput(1);
    if button==0
        close(h)
    break
    end


end
set(hObject,'BackgroundColor',[0.35 0.35 0.35])
diamet
set(handles.resp,'String',diamet);
set(handles.Validar,'UserData',Diametro);
guidata(hObject,handles)

Agradezco sus comentarios
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