matlab gui程序问题,fig文件运行不了,而其对应的m文件运行没有问题,怎么办啊
错误提示为:???Attempttoreferencefieldofnon-structurearray.Errorin==>MTF_GUI>popupmenu2_Cal...
错误提示为:
??? Attempt to reference field of non-structure array.
Error in ==> MTF_GUI>popupmenu2_Callback at 431
val_2 = get(handles.popupmenu1,'value');
Error in ==> gui_mainfcn at 96
feval(varargin{:});
Error in ==> MTF_GUI at 42
gui_mainfcn(gui_State, varargin{:});
Error in ==>
@(hObject,eventdata)MTF_GUI('popupmenu2_Callback',hObject,eventdata,guidata(hObject))
??? Error while evaluating uicontrol Callback
附上错误之处的源程序:
val = get(hObject,'value');
val_2 = get(handles.popupmenu1,'value'); %错误之处
switch val %step 3
case 2
switch val_2 %根据step 2中的选择进行相应操作
case 2
figure(2);
plot(f,MTF_opt),grid on;
xlabel('空间频率(cyc/mrad)');
ylabel('衍射限光学系统调制传递函数MTF-opt');
axis([0 5 0 1]);
case 3
figure(2);
plot(f,MTF_geo),grid on;
xlabel('空间频率(cyc/mrad)');
ylabel('光学像差调制传递函数MTF-geo');
axis([0 5 0 1]);
case 4
………………
…………………………
………………………… 展开
??? Attempt to reference field of non-structure array.
Error in ==> MTF_GUI>popupmenu2_Callback at 431
val_2 = get(handles.popupmenu1,'value');
Error in ==> gui_mainfcn at 96
feval(varargin{:});
Error in ==> MTF_GUI at 42
gui_mainfcn(gui_State, varargin{:});
Error in ==>
@(hObject,eventdata)MTF_GUI('popupmenu2_Callback',hObject,eventdata,guidata(hObject))
??? Error while evaluating uicontrol Callback
附上错误之处的源程序:
val = get(hObject,'value');
val_2 = get(handles.popupmenu1,'value'); %错误之处
switch val %step 3
case 2
switch val_2 %根据step 2中的选择进行相应操作
case 2
figure(2);
plot(f,MTF_opt),grid on;
xlabel('空间频率(cyc/mrad)');
ylabel('衍射限光学系统调制传递函数MTF-opt');
axis([0 5 0 1]);
case 3
figure(2);
plot(f,MTF_geo),grid on;
xlabel('空间频率(cyc/mrad)');
ylabel('光学像差调制传递函数MTF-geo');
axis([0 5 0 1]);
case 4
………………
…………………………
………………………… 展开
4个回答
展开全部
改成这样试试
val_2 = get(findobj('tag','popupmenu1'),'value');
val_2 = get(findobj('tag','popupmenu1'),'value');
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
北理的来报个道
追问
你怎么知道是北理的,有什么证据
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你是拿别人的程序来用的吧?这种事情我经常碰到,一般要小修改下。你把它发给我,我帮你看看
追问
每一行都是我自己写的,你误会了,怎么发给你,留个qq号或者邮箱
追答
coolhot@live.cn
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询