作者TRENT0331 (肥西瓜)
看板MATLAB
标题[问题] GUI中绘图 第一次可以跑 第二次不行
时间Fri May 2 12:33:53 2014
我现在有写一个GUI 里面有两个axes 按下RUN(按键)後 一次跑两张图
而我两个axes的TAG分别是 BS_plot 和 Optimize_Result
以下是部分程式码
%------- Solution
[BS BS_Cost Cost_BS_plot
times_plot]=ABC_Optimization(para,para.Employed_Num,para.Onlookers_Num,
para.Scouts_Num,para.Limit_Num,para.times);
%--------------------BS------
plot(findobj('Tag','BS_plot'),times_plot,Cost_BS_plot);
%----------------------
TAG='Optimize_Result';
h=Plot_Arrange(BS,BS_Cost,para,TAG); %此段是自行写的一个画图函数
set(findobj('Tag',TAG),'UserData',BS)
set(findobj('Tag','Run'),'UserData',h)
Time=toc;
set(findobj('Tag','Time2'),'String',[num2str(Time),'s'])
我的time_plot和Cost_BS_plot分别是1x50的阵列
现在问题出在 我第一次按RUN後 我要的两张图 plot那张跟 自己写的那张都有正常显示
但是我若要跑第二次就会出现
Error using ==> plot
Vectors must be the same lengths.
Error in ==> Arrangement>Run_Callback at 109
plot(findobj('Tag','BS_plot'),times_plot,Cost_BS_plot);
Error in ==> gui_mainfcn at 96
feval(varargin{:});
Error in ==> Arrangement at 17
gui_mainfcn(gui_State, varargin{:});
Error in ==>
guidemfile>@(hObject,eventdata)Arrangement('Run_Callback',hObject,eventdata,guidata(hObject))
??? Error while evaluating uicontrol Callback
但是我只要删除 plot(findobj('Tag','BS_plot'),times_plot,Cost_BS_plot);
以上这行画图程式码 也就是不要画这张图时我程式就可以安稳的run 不管我按几次
都不会出错
以上错误有说我向量长度不相等 但是我有逐次执行过 真的都相等
此点我是确定的 想请问各位大大 我是不是哪里写的有问题....
谢谢了
补充一下我所谓的第一次可以跑是指点开fig按run可以 但是再按一次就不行
但是我只要关掉fig再开起来按run就又可以跑
我快被搞疯掉的 论文就剩这步了 O_Q
再补充 刚刚我使用弹出方式一样可以顺利run 写成以下方式
figure(2);
plot(times_plot,Cost_BS_plot);
跑起来没有问题 所以我想数据本身应该是没错 就是不知道我上面程式码错在哪
拜托各位大大
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.138.143.112
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/MATLAB/M.1399005235.A.249.html
※ 编辑: TRENT0331 (140.138.143.112), 05/02/2014 12:40:07
※ 编辑: TRENT0331 (140.138.143.112), 05/02/2014 12:48:06
1F:推 olliekr:在plot前加个cla试试? 05/02 20:45
2F:→ winnie4952:改用axes(handles.BS_plot);加在plot前面试试看? 05/03 02:10
3F:→ mp19990920:从错误讯息来看,你的plot的x与y的大小不对 05/03 14:07
4F:→ mp19990920:虽然你的的time_plot和Cost_BS_plot分别是1x50的阵列 05/03 14:08
5F:→ mp19990920:可是你plot时是用time"s"_plot 05/03 14:09
6F:→ mp19990920:p.s. 你的变数名称太丑了,建议名称改成一看就知道含意 05/03 14:10
7F:→ TRENT0331:一楼跟二楼方法都试过了,哭哭 05/03 20:26
8F:→ TRENT0331:谢谢三楼的建意 05/03 20:29