作者ReiFu21 (ReiFu)
看板MATLAB
标题[讨论] 请问这个程式码哪里有问题
时间Sun Jan 20 15:28:13 2013
请先复制以下程式码 不好意思
clear all
for iii = 1:3
for kkk = 1:3
x=[iii 3*iii 2*iii 4*iii];
y=[1+iii 2+2*kkk 4+kkk sqrt(kkk)
iii+kkk/2 kkk/iii 6+iii sqrt(iii)];
bHH = figure;
set(bHH, 'visible', 'off');
bar(x',y');
saveas(bHH, ['Si' ,int2str(iii),int2str(kkk) ,'.png'] )
eval( [ 'bZwhat' ,int2str(iii),int2str(kkk) , '=', 'bHH',';' ])
end
end
for iii = 1:3
for kkk = 1:3
eval( [ 'bHH' , '=', 'bZwhat' ,int2str(iii),int2str(kkk) ,';' ])
bHH;
hold on;
plot(kkk*5,iii*2,'r*');
hold off;
saveas(bHH, ['SiGG' ,int2str(iii),int2str(kkk) ,'.png'] )
end
end
clear all
跑出来会有18个Si开头的png档 其中9个是SiGG开头的
照理来说 SiGG开头的图档应该都刚好有一个红色星星在里面
可是9个里面只有1个有红色星星 而且那一个里面一次就跑出9个红色星星
请问到底是哪里出问题?该如何修改?
有请专业版友帮我解答 感恩
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 123.205.103.233
※ 编辑: ReiFu21 来自: 123.205.103.233 (01/20 15:31)
1F:推 sunev:检查hold on 及hold off在回圈中的位置。 01/20 16:13
2F:→ ReiFu21:我试过各种hold的位置变化 可是也都没用 01/20 16:35
3F:推 sunev:你知道hold on是什麽意思吗? 01/20 20:39
4F:→ ReiFu21:跟字面意思一样 这个图再坚持一下 我还想加个东西 01/20 21:41
5F:推 sunev:所以那张图没有hold off过啊? 01/20 22:37
6F:→ ReiFu21:喔喔 好像懂了 是说下半回圈没有figure 所以hold住的是上 01/20 22:41
7F:→ ReiFu21:半回圈的最後一张图 01/20 22:41
8F:→ ReiFu21:是这样吗? 那请问该如何叫出之前的图令他为新figure?谢谢 01/20 22:43
9F:推 sunev:我觉得直接把hold拿掉就会达到你想要的效果 01/21 00:10
10F:→ ReiFu21:刚试过没有用阿 因为我就是要覆盖上一个星星 一定要用hold 01/21 00:15
11F:→ ReiFu21:17张图都没变 第18张剩一颗星星在中间 其他全白 01/21 00:19
12F:推 sunev:啊,我懂了。直接执行handle(你的bbh)并不会切到该figure。 01/21 00:47
13F:→ sunev:你要的是figure(bHH)或是set(0,'CurrentFigure',bHH) 01/21 00:48
14F:→ ReiFu21:成功了 感谢 就是在等这一行没看过的东西XD 01/21 00:52