2016-05-14 33 views
0

晚上好人們,傳遞變量從按鈕到按鈕matlab

我想知道如何將一個變量從一個按鈕傳遞給另一個matlab。這裏是我的代碼:

function pushbutton4_Callback(hObject, eventdata, handles) 
    [filename, pathname] = uigetfile('*.*', 'Pick a MATLAB code file','MultiSelect', 'on'); 
    fullfilename=fullfile(pathname,filename); 
    b=importdata(fullfilename); 
    set(handles.edit7,'string',fullfilename); 


    function pushbutton5_Callback(hObject, eventdata, handles) 
    mamamoa=load('best_network.mat'); 
    A=mamaoa(b); 
    set(handles.edit1,'string',A); 

變量b是要在函數按鈕5中知道的變量。

+0

試圖澄清問題。更正的語法 – LoicTheAztec

回答

0

您可以將變量b保存在您的數字的appdata之內。

function pushbutton4_Callback(hObject, eventdata, handles) 
    [filename, pathname] = uigetfile('*.*', 'Pick a MATLAB code file','MultiSelect', 'on'); 
    fullfilename = fullfile(pathname,filename); 
    b = importdata(fullfilename); 
    set(handles.edit7, 'string', fullfilename); 

    %// Store b within the appdata 
    setappdata(handles.hfig, 'b', b); 
end 

function pushbutton5_Callback(hObject, eventdata, handles) 
    mamamoa = load('best_network.mat'); 

    %// Retrieve b from the appdata 
    b = getappdata(handles.hfig, 'b');  
    A = mamaoa(b); 
    set(handles.edit1,'string',A); 
end 

另外,還可以使用guidata存儲數據,因此不推薦在handles結構雖然這非常大量的數據,你會發現一個性能命中。

function pushbutton4_Callback(hObject, eventdata, handles) 
    [filename, pathname] = uigetfile('*.*', 'Pick a MATLAB code file','MultiSelect', 'on'); 
    fullfilename = fullfile(pathname,filename); 

    %// Store it within handles.b 
    handles.b = importdata(fullfilename); 

    set(handles.edit7, 'string', fullfilename); 

    %// Update the guidata 
    guidata(handles.hfig, handles); 
end 

function pushbutton5_Callback(hObject, eventdata, handles) 
    mamamoa = load('best_network.mat'); 
    A = mamaoa(handles.b); 
    set(handles.edit1,'string',A); 
end