【问题标题】:matlab run script file from GUI push buttonmatlab 从 GUI 按钮运行脚本文件
【发布时间】:2018-06-02 12:01:14
【问题描述】:

我有一个脚本文件,想从 gui 按钮运行它 它不工作。


错误是:

Undefined variable "classifyDeeb" or class "classifyDeeb.m".

Error in Train>pushbutton2_Callback (line 113)
classifyDeeb.m
Error in gui_mainfcn (line 96)
        feval(varargin{:});

Error in Train (line 42)
    gui_mainfcn(gui_State, varargin{:});

Error in @(hObject,eventdata)Train('pushbutton2_Callback',hObject,eventdata,guidata(hObject))


Error while evaluating uicontrol Callback

------------------
 scrip file code `load deeb;
trdata=[deeb(1:8,2:6);deeb(11:18,2:6)];
gr=[deeb(1:8,1);deeb(11:18,1)];
testdata=[deeb(9:10,2:6);deeb(19:20,2:6)];
svmstr=svmtrain(trdata,gr);
result = svmclassify(svmstr,testdata);
output = result;`
----------------------------
the pushbutton2_Callback code is :

% --- Executes on button press in pushbutton2.
function pushbutton2_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton2 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
classifyDeeb.m

脚本文件、图形和矩阵数据 (deeb.mat) 文件位于同一文件夹中。 请帮忙 在此先感谢您的帮助

【问题讨论】:

    标签: matlab matlab-figure matlab-guide


    【解决方案1】:

    两个选项: 您可以在 m 文件名上使用 run()。如果脚本位于另一个目录中,您甚至可以包含脚本的完整路径。

    function pushbutton2_Callback(hObject, eventdata, handles)
    run('classifyDeeb.m')
    

    或在没有扩展名的情况下调用它。只要它位于 Matlab 的路径中,它就可以工作。

    function pushbutton2_Callback(hObject, eventdata, handles)
    classifyDeeb
    

    【讨论】:

    • 我尝试了两个选项:没有错误,但脚本文件没有运行,我可以从命令窗口运行它
    • 你确定它没有运行吗?在classifyDeeb.m 的开头添加一行disp('I am running'),看看它是否打印到命令行。我怀疑它正在运行,但您还有其他问题。
    • 也是你不知道的情况。如果您使用这样的 GUI 运行脚本,它将看不到默认工作区中的变量。它将在按钮功能的范围内运行。因此,如果脚本依赖于工作区中的变量,它将无法工作。
    • 它的运行和显示(我正在运行)但不运行真正的代码,正如你所说的脚本依赖于工作空间中的变量。我有一个变量作为矩阵文件(即 deeb.mat )。怎么做才能让它运行?谢谢你的帮助
    • 包含矩阵作为handles的字段,并将其作为输入发送到脚本(应该成为一个函数)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-15
    • 2021-10-16
    • 1970-01-01
    • 2014-07-22
    • 1970-01-01
    • 2023-01-23
    • 2023-04-10
    相关资源
    最近更新 更多