0

我在 Matlab 上有一个带有 4 个按钮的 GUI 菜单(menu.fig)。然后我有 4 个 .fig 文件,当我单击按钮时要打开它。在这里一切正常,当我从菜单中打开 .fig 并插入值来绘制绘图时,我收到此错误:

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

如果我尝试直接打开 1.fig ,一切正常。

我读到问题出在 eval() 上,但我无法解决。

我更改了每个 .fig 文件上的变量名

一个 1.fig:

function pbutton1_Callback(hObject, eventdata, handles)
A1=get(handles.edtSAmp,'String');
f1=get(handles.edtSFreq, 'String');
fi1=get(handles.edtSFase, 'String');
t1=get(handles.popTipo, 'Value');

A1=str2double(A1);
f1=str2double(f1);
fi=str2double(fi1);

SinalSinusoidal(A1,f1,fi,t1);

我在第一行得到了错误。

4

2 回答 2

2

我想这是 MATLAB GUI 处理不好的东西。我知道它曾经可以工作,但是当您稍微调整您的 UI 或 UI 相关代码并且不小心修改了 MATLAB 告诉您不要触摸的某些区域时,这种问题开始发生。

工作方法是通过单击运行从 M 编辑器启动 GUI

我知道它有效,但最初,当我直接启动它时,它也有效。所以,这还没有结束,人们只是没有走到尽头。

于 2013-07-26T14:31:06.383 回答
0

问题可能与handles1. 它不是您期望的结构数组。handles在使用 GUIDE 创建的 GUI 中,如果您同时拥有这两个变量handleshandles1确保handles1包含图中对象的句柄,则该变量通常称为。如果您handles1只使用,请确保您正确初始化它。

于 2013-04-09T00:06:14.203 回答