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

Pass string values from textbox to code

我在 Matlab 中有三个文件:

  1. mygui.fig
  2. mygui.m
  3. 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

您可以创建一个全局结构来将所有用户输入存储在 mygui.m 中并在其他函数中使用它。 或者,您也可以将值写入函数内部的文件,然后在其他地方读取处理文件。

您可以使用句柄在它们之间传输数据,试试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