How to return loop result (string) from an mfile to another mfile(editText GUI)?

1 visualización (últimos 30 días)
I have two mfiles. One mfile (gui.m) is gui with buttons (for browse and result) and edittext component. another mfile (function.m) with looping function. when i run function.m, i want to return the result to edittext in gui.m
in function.m:
function a = function (f)
i=f; %i is browsed image from gui.m
%this loop result that i want to call to edittext
w=[];
k=0;
for ...
w=[a b];
k=k+1;
end
end
a=w; %to return the result a as w
in gui.m:
function resultButton_Callback(hObject, eventdata, handles)
set(handles.edit5);
covImg= handles.covImg; %covImg is browsed image
G = function(covImg); %call function.m
guidata(hObject,handles);
handles.covImg = G;
imshow(handles.covImg);
looking forward for any response. thanks in advance.
  4 comentarios
Guillaume
Guillaume el 8 de Jul. de 2015
This is completely aside from your question, but if your function is truly called function.m, I strongly suggest you to rename it. I'm surprise that matlab actually lets you use that name since it is a reserved keyword.
A good name for a function is something that actually describes what it does.
Ria Anggraini
Ria Anggraini el 9 de Jul. de 2015
Guillaume, Thanks for the advice. actually the name is not function but i just want to describe that the mfile function is the mfile where the operation will execute. I changed it before to another name (identify.m) but it still doesn't work like i want.

Iniciar sesión para comentar.

Respuesta aceptada

Geoff Hayes
Geoff Hayes el 9 de Jul. de 2015
Ria - you really should post code that actually works. Your return value from this function is named a but nowhere in your function body do you actually initialize a. Should this be word instead? And if word is in fact the string text that you wish to write to your edit text box, then that is easy to do.
Suppose your function signature is
function [word] = identify(f)
and that this is saved to a file named identify.m. Now suppose you call this function from your GUI (let us say in a push button callback) as
function pushbutton1_Callback(hObject, eventdata, handles)
% initialize f
f = ...;
word = identify(f);
% update the edit text box
set(handles.edit1, 'String', word);
Is that similar to the code that you are using?

Más respuestas (0)

Categorías

Más información sobre Text Data Preparation en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by