How can I update the results from a Timer to a text box every 5 second?

2 Ansichten (letzte 30 Tage)
My codes are shown as below:
TimeSpan = str2double(get(handles.edit1,'String'));
Parameter = str2double(get(handles.edit2,'String'));
My function is
funcion Output=MyFuc(Parameter)
Output=sin(Parameter);
end
How can I show 'Output' in textbox ('edit3') every 5 seconds (let's say TimeSpan=5);
So many thanks. I've been working on this for 2 days. Still cannot find correct answer....
Many thanks to everyone helping me.

Akzeptierte Antwort

Sean de Wolski
Sean de Wolski am 4 Feb. 2013
h = uicontrol('Units','Normalized','FontSize',15,'Position',[0.1 0.1 0.8 0.8],...
'Style','Text');
drawnow;
T = timer('Period',5,'StartDelay',0,'TimerFcn',@(src,evt)set(h,'String',evalc('why')),...
'ExecutionMode','FixedRate');
start(T)
  3 Kommentare
Matt Tearle
Matt Tearle am 4 Feb. 2013
What's missing from what Sean gave? Your timer callback function will have to be something like this:
@(~,~) set(handles.edit3,'String',num2str(MyFuc(str2double(get(handles.edit2,'String')))))
Each time this is called, it reads the value in edit2, passes that to your function, and sets the value in edit3 to be the result.
Zheng
Zheng am 4 Feb. 2013
it works now. Thank you very much... :-)

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Characters and Strings finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by