我在Matlab中有三个文件:
mygui.fig
mygui.m
mycode.m
正如标题所示,前两个处理简单的用户界面,最后一个处理我的处理。
我使用GUIDE创建了mygui.fig
,它看起来像这样:
当我点击运行时,我希望界面中的两个参数转移到mycode.m
。
我目前在mygui.m
中有此代码,用于捕获文本框中的数据:
function btnRun_Callback(hObject, eventdata, handles)
strPathTrain = get(handles.txtPathTrain,'String');
strPathTest = get(handles.txtPathTest,'String');
mycode.m
看起来像这样:
Trainset = 'C:\Users\blah1';
Testset = 'C:\Users\blah2';
...
如何调用这些值并将其传输到mycode.m
?
答案 0 :(得分:2)
您可以使用句柄在它们之间传输数据,请尝试this方式。
例如,在表单代码中:
handles.k.tr = get(handles.txtTr,'String');
handles.k.te = get(handles.txtTe,'String');
guidata( hObject, handles );
somefunction( handles.k );
功能:
function [ output_args ] = somefunction( k )
fprintf('tain=%s', k.tr);
output_args = 0;
end
答案 1 :(得分:1)
您可以创建一个全局结构来存储mygui.m
中的所有用户输入,并在其他函数中使用它。
或者,您也可以将值写入函数内的文件,并在其他位置读取文件。