2013-06-26 48 views
2

我已經讀過幾篇關於如何保存刷新數據的帖子,但是,在嘗試這些帖子上的建議(this,this,this,thisthis)時,他們都沒有看起來有效。我在嘗試這些建議時遇到的一個問題是,在刷完任​​何數據之前程序一直運行到結束,因此保存的數據是空矩陣。如何刷圖,然後在GUI中保存畫筆數據?

我的目標是:

  1. 刷數據,並

  2. 保存刷數據。

這是我試過from here但它似乎沒有工作:

t=0:0.2:25; plot(t,sin(t),'.-'); 
brush on 
hBrushLine = findall(gca,'tag','Brushing'); 
brushedData = get(hBrushLine, {'Xdata','Ydata'}); 
brushedIdx = ~isnan(brushedData{1}); 
brushedXData = brushedData{1}(brushedIdx); 
brushedYData = brushedData{2}(brushedIdx); 

能有人告訴如何做一個簡單的例子?我正在嘗試在GUI中執行此操作。

回答

1

添加brush onpause的伎倆:

t=0:0.2:25; plot(t,sin(t),'.-'); 
brush on 
pause 
hBrushLine = findall(gca,'tag','Brushing'); 
brushedData = get(hBrushLine, {'Xdata','Ydata'}); 
brushedIdx = ~isnan(brushedData{1}); 
brushedXData = brushedData{1}(brushedIdx); 
brushedYData = brushedData{2}(brushedIdx); 
0

我其實剛剛在今天早上回答了這個問題。

查看我對這個問題的回答,並將我的意見記在我的回答中,我可能在我的原始解決方案中犯了一個錯誤。

saving user input from uitable matlab GUI?

希望它可以幫助你呢!總結一下,添加一個waitfor(gcf);然後再添加一個waitfor(gcf)。 output = varToSave(確保varToSave不是來自要刪除的句柄/對象),其中output是從GUI函數返回的輸出。

+0

我不能得到你的答案是可行的身影。 – Pupil

+0

你是什麼意思「不可行」,請舉例! – Shaun314

+0

正如'waitfor(gcf)'彈出一個新窗口。另外,你的答案並不涉及刷新數據。 – Pupil

相關問題