SoloCodigo

Programación Específica => Matlab => Mensaje iniciado por: acapulco_girl en Viernes 4 de Mayo de 2007, 21:32

Título: Guardar Variables En Memoria
Publicado por: acapulco_girl en Viernes 4 de Mayo de 2007, 21:32
Hola a todos;  quisiera que me ayudaran con esto, en una gui como puedo guardar una funcion que ya tengo en un archivo .m en una variable para despues ocuparla otravez.

normalmente en la pantalla principal de matlab hago esto

h1=modelhistogram();  y esto me lo guardar en h1

pero en una gui como se hace?? :blink:

function pushbutton10_Callback(hObject, eventdata, handles)
h1=Modelhistogram ????

si alguien me puede ayudar se los agradeceria muchisimo :kicking:
Título: Re: Guardar Variables En Memoria
Publicado por: allisap en Sábado 5 de Mayo de 2007, 19:14
bueno lo de llamar a una funcion desde un boton depende de como estes programando la GUI, usando el editor de GUI's (no lo he usado mucho) o mediante un script (yo lo prefiero)

si lo haces con un script (un archivo m) puedes usar la instruccion uicontrol
y para llamar una funcion cuando uses ese control solo modifica la propiedad CallBack del control

un ejemplo sencillo seria



figure(1)
op1=0;
op2=0;
H1 = uicontrol('Style', 'pushbutton', 'String', 'Operaciones math',...
    'Position', [20 150 100 70], 'Callback', '[r1,r2]=operaciones(op1,op2)');
H2 = uicontrol('Style', 'Edit',...
    'Position', [150 180 100 20], 'Callback', 'op1= str2double(get(H2,''string''));');
H3 = uicontrol('Style', 'Edit',...
    'Position', [150 130 100 20], 'Callback', 'op2= str2double(get(H3,''string''));');


y la funcion


function [suma,resta]=operaciones (op1,op2)
suma=op1+op2;
resta=op1-op2;


este ejemplo solo tomara dos valores de la gui y hara la suma ya la resta regresandolos al workspace....

espero te sirva de algo