首页 文章

从功能不起作用的Matlab GUI图

提问于
浏览
1

我是Matlab GUI的新手 . 我有一个奇怪的问题 . 从matlab代码编辑器运行GUI代码(单击运行按钮)时,一切运行正常 . 但是,当我从matlab(左侧的文件浏览器)双击该文件时,我收到一个错误 .

这是Matlab所说的:


Attempt to reference field of non-structure array.

Error in GUI>scanButton_Callback (line 81) axes(handles.axes1);

Error in gui_mainfcn (line 96) feval(varargin);

Error in GUI (line 42) gui_mainfcn(gui_State, varargin);

Error in @(hObject,eventdata)GUI('scanButton_Callback',hObject,eventdata,guidata(hObject))

Error while evaluating uicontrol Callback


我试图绘制一个由GUI中'axes1'中的'main'脚本创建的图形 . 我在GUI代码中所做的唯一改变是:


% --- Executes on button press in scanButton.

function scanButton_Callback(hObject, eventdata, handles)

% hObject handle to scanButton (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

axes(handles.axes1);

main();


“main”脚本中创建绘图的代码是:


[x, y, z] = meshgrid(1:cSecDim, 1:cSecDim, 1:numSec);

scatter3(x(:),y(:),z(:),30,fullShape(:), 'fill');


我确信有一个简单的答案,说明错误发生的原因 . 请原谅我的无知 .

1 回答

  • 1

    双击GUI图形文件不会显示GUI . 它只是启动与GUI对应的数字,而不进行通常会发生的任何变量(特别是句柄)的初始化 .

    据我所知,只有三种方式来运行GUI - 通过GUIDE(如果使用此工具设计GUI),通过MATLAB编辑器(如您所做),或通过键入命令窗口GUI的名称 . 例如,如果您的GUI m-和fig-文件名为 myGui.mmyGui.fig ,则可以从命令行运行此GUI

    myGui
    

    不需要任何扩展 .

相关问题