How to stop overwriting the old values from a loop inside a GUI?
1 回表示 (過去 30 日間)
古いコメントを表示
Hello. I've taken a part from an old, unanswered question (<http://www.mathworks.com/matlabcentral/answers/39533-save-continously>) and made some modifications, but I'm pursuing the same goal. I'm working in a GUI, and I believe it's something quite simple, so here is the matter: There's a figure with 2 edit boxes, where the user enters the X & Y coordinates, and a button that saves them in a vector "Z".
This action has to be repeated n-times (2 times in this case) and saved in a vector Z1,Z2,..Zn, besides the edit boxes have to be cleared every time a new pair of coordinates wants to be written. The problem is that, while the user enters new values, they get overwritten and the result are the last entered values and some NaN's. The code from the pushbutton is attached below. I think the problem is after the red line, but I don't know how to fix it, I've already tried "uiwait", "waitforbuttonpress" and other methods to stop the process and be able to enter the new values. Besides, I would like the figure to close once the iterations are complete. Thank you for your kind cooperation.
0 件のコメント
回答 (1 件)
TastyPastry
2015 年 11 月 4 日
I'd put k and ng as handles on the dialog box figure.
myGUI.k = 1;
myGUI.ng = 3;
Then,
function myCallback(varargin)
fig = gcf;
handles = guidata(fig);
if handles.k>handles.ng
return;
end
%save data as .mat
handles.k = handles.k+1;
guidata(fig,handles);
end
参考
カテゴリ
Help Center および File Exchange で Environment and Settings についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!