从功能不起作用的Matlab GUI图

时间:2014-08-25 00:25:16

标签: matlab matlab-guide

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

这是Matlab所说的:


尝试引用非结构数组的字段。

GUI中的错误> scanButton_Callback(第81行) 轴(handles.axes1);

gui_mainfcn出错(第96行)         feval(varargin {:});

GUI中的

错误(第42行)     gui_mainfcn(gui_State,varargin {:});

@(hObject,eventdata)GUI中的错误(' scanButton_Callback',hObject,eventdata,guidata(hObject))

评估uicontrol回调时出错


我正在尝试绘制由' main'创建的图表。脚本在'轴1'在GUI中。 我在GUI代码中唯一的变化是:


%---在scanButton按下按钮时执行。

function scanButton_Callback(hObject,eventdata,handles)

%h对scanButton的句柄(参见GCBO)

保留%eventdata - 将在未来版本的MATLAB中定义

%处理带句柄和用户数据的结构(请参阅GUIDATA)

轴(handles.axes1);

主要();


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


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

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


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

1 个答案:

答案 0 :(得分:1)

双击GUI fig 文件不会“运行”GUI。它只是启动与GUI对应的数字,而不进行通常会发生的任何变量初始化(特别是句柄)。

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

myGui

无需任何扩展。