매개 변수를 설정하고 다른 m- 파일에서 이러한 매개 변수를 사용하는 GUI를 만들었습니다. GUI에서 생성 된 변수는 입력 변수와 m- 파일의 작업 공간이 다릅니다. 그 이유로, 나는 global variables
을 사용하려고 노력하고 있지만 sucesfully : 변수는 m-File empty로갑니다.값없이 GUI에서 전역 변수 설정 - Matlab
나는 사용자가 매개 변수를 설정할 수있는 3 개 편집 상자가있는 GUI가 (0 또는 1), (하나 개의 편집 상자에 대한 코드를 표시)이 코드를 사용하여 :
function density_Callback(hObject, eventdata, handles)
% hObject handle to density (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of density as text
% str2double(get(hObject,'String')) returns contents of density as a double
global density
density = str2double(get(hObject, 'String'));
global Variavel_1
assignin('base', 'Variavel_1', density);
M-을
:이 코드 (test.m)의 나머지 editboxes에서이Variavel_1
및 다른 사람을 사용한다
function calculate_Callback(hObject, eventdata, handles)
% hObject handle to calculate (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
test %m-File that uses variables set in GUI
그리고 m-파일 : 파일이 코드를 사용하여 GUI 버튼에서 호출 10
하지만 내가 갖고있는 모든 것은 그 모든 변수가 비어 있습니다! (GUI 코드 안에이 코드를 넣을 수는 있지만이 간단한 m-File은 훨씬 더 복잡해 지므로 m- 파일로 이동하는 변수가 필요하기 때문에 실제 코드는 아닙니다.)
Variavel_1 = []
Variavel_2 = []
Sum = []
왜 전역 변수가 실패하는지 이해할 수 있습니까?
미리 감사드립니다.
답장을 보내 주셔서 감사합니다. GUI 코드 안에 합계 식을 정의 할 수는 있지만 실제로는 아닙니다. 프로포즈. 미안해하지 않아서 미안해. 아르 자형. m- 파일이 훨씬 복잡하기 때문에 이러한 변수를 m- 파일에 전달해야합니다. – Luiz
@ 루이즈'm 파일이란? GUI 그 자체가 아닌'm- 파일 '? GUI 코드에서'callbacks'는'm-file'에 있고 그것의 디자인은'.fig' 파일에 저장 될 것입니다 'm-file'을 생성 한 적이 있습니까? 안내? – P0W
예, m- 파일은 내 프로그램에서 "test"라는 이름의 파일로, 변수의 합계를 만듭니다. GUI 푸시 버튼은 위에 표시된 것처럼이 "test.m"을 호출합니다! – Luiz