关于matlab在for循环中画图
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张图呢,求高手讲解一下,菜鸟谢谢啦!
把figure;改为figure(j);
不然每画一遍之前的就被覆盖代替了。
相关语法是figure(h),其中h表示画的图形对象的句柄,若该句柄已存在,相应的图形框则被巧哗设为当前图形对象;若此句柄不存在世睁,则将以该搜宽岁值为句柄,新建一个图形对象。另h需为整数值。