2013-06-27 101 views
0

我試圖從兩個edittext傳遞值,當我按下按鈕時,我的主要m文件。我從GUI獲取數據,但我無法調用main並將值傳遞給那裏。這就是我迄今爲止所做的。 GUI(GUIDE)代碼從GUI傳遞值到m文件MATLAB

function resultbutton_Callback(hObject, eventdata, handles) 
% hObject handle to resultbutton (see GCBO) 
% eventdata reserved - to be defined in a future version of MATLAB 
% handles structure with handles and user data (see GUIDATA) 
N=str2num(get(handles.edituser,'String')); 
f=str2num(get(handles.editfrequency,'String')); 

我應該在這裏和在主程序寫什麼呢。我應該使用main函數嗎? 在此先感謝

+0

查看[**'inputdlg' **]中的** Example 1 **(http://www.mathworks.com/help/matlab/ref/inputdlg.html)。這樣你就不需要使用**'GUIDE' **。 – pm89

+0

好吧,我認爲這對我來說很好。但是,我如何獲得我輸入的文本? – user2009252

回答

1

使用inputdlg可能是您完成工作的最簡單方法。

... % Initialization 

% Open a dialog box and wait for user to input two numbers. 
dlg_title = 'Input'; 
num_lines = 1; 
prompt = {'Input 1:','Input 2:'}; % label for each input 
def = {'10','20'}; % default values of each input 
answer = inputdlg(prompt, dlg_title, num_lines, def); % open dialog box 

if ~isempty(answer) % only if OK button was clicked 
    N = str2double(answer{1}); 
    f = str2double(answer{2}); 
end 
... % Continue calculations 

需要注意的是,如果用戶關閉窗口,answer將是一個空單元格

可能有任何數量的輸入。