关于matlab在for循环中画图

forj=1:14a(j,1:BLOCK)=s(((j-1)*BLOCK+1):(j*BLOCK));figure;subplot(1,2,1);[f,X]=hist(a... for j=1:14
a(j,1:BLOCK)=s(((j-1)*BLOCK+1):(j*BLOCK));
figure;
subplot(1,2,1);
[f,X]=hist(a(j,1:BLOCK),xout);
hist(a(j,1:BLOCK),xout);
subplot(1,2,2);
[fina,aii] = ksdensity(a(j,1:BLOCK));
plot(ai,fina,'*r');
y=y+f;
end

在这段程序中,我需要将导入的s文件中的数据分块画出频数直方图,每块中有100个数据,即为BLOCK的值,我一共有1400个数据,所以j=1:14,想来应该有14张图啊,但是为什么这段程序出来只有1张图呢,求高手讲解一下,菜鸟谢谢啦!
展开
 我来答
cholla_matlab
2012-12-12 · TA获得超过391个赞
知道小有建树答主
回答量:165
采纳率:0%
帮助的人:180万
展开全部
把figure;改为figure(j);
不然每画一遍之前的就被覆盖代替了。
相关语法是figure(h),其中h表示画的图形对象的句柄,若该句柄已存在,相应的图形框则被设为当前图形对象;若此句柄不存在,则将以该值为句柄,新建一个图形对象。另h需为整数值。
追问
谢谢您的回答!因为我在循环之前还有两张图,因此我改成了j+2,但是包括前面的还是只有三张图,还是不行,这是为什么呢?
追答
循环中生成的那张图正确吗,是不是有其他错误出现导致循环被中断了?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式