2013-11-21 1 views
0

여기가 내 가이드입니다.다른 함수의 변수 값을 다른 Matlab에 전달

enter image description here

나는 두 개의 서로 다른 (가) (편집 상자를 활성화 및 비활성화에 대한) 라디오 버튼 값을 변경하기위한 콜백과 푸시 버튼의 클릭이있다.

문제는 푸시 버튼을 눌렀을 때 어떤 라디오 버튼이 선택되었는지 확인하려는 것입니다. 나는

function getRBValue(rbValue1) 
rbValue = rbValue1; 

function pbAudio_Callback(hObject, eventdata, handles) 
x = getRBValue(rbValue); 
if(strcmp(x,'rbRecord')) 
    myAudio = wavrecord(get(handles.edtSeconds,'String')*11025,11025); 
end 
wavplay(myAudio) 

function pnlAudio_SelectionChangeFcn(hObject, eventdata, handles) 
slctdBtn = get(eventdata.NewValue,'tag') 
getRBValue(slctdBtn); 
switch slctdBtn 
    case 'rbRecord' 
     set(handles.edtSeconds,'enable','on'); 
     set(handles.edtPath,'enable','off'); 
    case 'rbImport' 
     set(handles.edtSeconds,'enable','off'); 
     set(handles.edtPath,'enable','on'); 
end 

불행하게도, 나는 아래의 오류가 발생하고 (... 처음 세) 아래의 코드로 변수를 전달했습니다.

Undefined function or variable 'rbValue'. 

Error in untitled>pbAudio_Callback (line 79) 
x = getRBValue(rbValue); 

Error in gui_mainfcn (line 96) 
    feval(varargin{:}); 

Error in untitled (line 43) 
    gui_mainfcn(gui_State, varargin{:}); 

Error in @(hObject,eventdata)untitled('pbAudio_Callback',hObject,eventdata,guidata(hObject)) 


Error while evaluating uicontrol Callback 

답변

1

문제는 콜백에 rbValue 값을 가져와야한다는 것입니다. 이를 달성하기 위해 GUI의 핸들 구조를 사용할 수 있습니다. Gui를 만들기 위해 GUIDE를 사용한다고 가정합니다.

this->GUIDE in MATLAB

handles.myVar=123; 
%after this dont forget to save it (yes, this is a bit annoying): 
guidata(hObject, handles); 

나중에, 예를 들어 다른 콜백 내에서 수행하는 방법, 당신은 핸들 - 구조체 내에서이 데이터를 찾을 수 있습니다 자세한 내용은

handles.myVar 

,이 보기 :

guidata