For循环错误

3次浏览(过去30天)
Chethan
Chethan 2013年4月14日
这是一个简单的代码,根据弹出菜单中的值的选择,一个新的图形打开,这是使用for循环决定的。
函数popupmenu3_Callback(hObject, eventdata, handles)
对象句柄到popupmenu3(参见GCBO)
% eventdata reserved -将在MATLAB的未来版本中定义
%句柄结构与句柄和用户数据(见GUIDATA)
val =得到(hObject,“价值”);
开关瓦尔
情况下1
handles.n = 5;
情况下2
handles.n = 10;
情况下3.
handles.n = 15;
结束
%处理。N = val;
guidata (hObject处理);
函数popupmenu3_CreateFcn(hObject, eventdata, handles)
对象句柄到popupmenu3(参见GCBO)
% eventdata reserved -将在MATLAB的未来版本中定义
% handles empty -在调用所有CreateFcns之后才创建句柄
如果ispc && isequal(get(对象,“写成BackgroundColor”),得到(0,“defaultUicontrolBackgroundColor”))
集(hObject,“写成BackgroundColor”“白色”);
结束
%——在Go中按下按钮时执行。
函数Go_Callback(hObject, eventdata, handles)
跳转句柄到Go(参见GCBO)
% eventdata reserved -将在MATLAB的未来版本中定义
%句柄结构与句柄和用户数据(见GUIDATA)
如果handles.n = = 5
图;
elseifhandles.n = = 10
Fig10;
elseifhandles.n = = 15
Fig15;
结束
guidata (hObject处理);
当我运行这段代码时,对于第一次传递,我得到错误 未定义变量句柄 如果我将弹出菜单中的值更改为10,如果我按下,如何不终止 按钮一个新的 Fig10 窗口将被显示。接下来,如果我将弹出菜单中的值更改为5,如果我按下,则不终止 按钮 窗口将被显示。 为什么第一次出错或通过?

答案(1)

图像分析
图像分析 2013年4月14日
我在你发布的代码中没有看到任何句柄。N被赋值。你把它分配到哪里了?你必须在使用它之前分配它。
2的评论
图像分析
图像分析 2013年4月14日
在你的openingFcn()函数中设置句柄。N等于5。这样,即使用户从未与popupmenu3交互,当它到达“Go”按钮的回调时,它仍然有一个值。

登录评论。

标签

社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!

开始狩猎!