将字符串值从文本框传递到代码

时间:2016-01-28 05:59:03

标签: matlab matlab-guide

我在Matlab中有三个文件:

  1. mygui.fig
  2. mygui.m
  3. mycode.m
  4. 正如标题所示,前两个处理简单的用户界面,最后一个处理我的处理。

    我使用GUIDE创建了mygui.fig,它看起来像这样:

    enter image description here

    当我点击运行时,我希望界面中的两个参数转移到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

2 个答案:

答案 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中的所有用户输入,并在其他函数中使用它。 或者,您也可以将值写入函数内的文件,并在其他位置读取文件。