天天看点

matlab如何将在同一个图里画两组数据的直方图,请教大家在同一坐标下作两组数据的直方图的问题以及hold on问题...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

先简单描述一下问题:

现在有两组数据,我要先编写程序分别得出两组行向量中各个元素的首数字(比如8481.8的首数字为8)从1到9中各个数出现的概率,然后要将两组概率作为纵坐标在同一个坐标中画出条形直方图作为对比。不知道如何用hold on,不知道在以下两个程序的何处用bar。拜托大家,谢谢!

程序1:

y=[8481.83376.841800 ...];

>> for i=1:length(y)

if y(i)>=10

y(i)=y(i)/10;

end

end

for i=1:length(y)

if y(i)>=10

y(i)=y(i)/10;

end

end

for i=1:length(y)

if y(i)>=10

y(i)=y(i)/10;

end

end

for i=1:length(y)

if y(i)>=10

y(i)=y(i)/10;

end

end

y=fix(y);

for j=1:9

z=find(y==j);

zz(j)=length(z);

end

z_sum=sum(zz);

zz_n=zz./z_sum;

zz_n

bar(zz_n)

程序2:

x=[8481.83376.841800 ...];

>> for i=1:length(x)

if x(i)>=10

x(i)=y(i)/10;

end

end

for i=1:length(x)

if x(i)>=10

x(i)=x(i)/10;

end

end

for i=1:length(x)

if x(i)>=10

x(i)=x(i)/10;

end

end

for i=1:length(x)

if x(i)>=10

x(i)=x(i)/10;

end

end

x=fix(x);

for j=1:9

z=find(x==j);

zzz(j)=length(z);

end

z_sum=sum(zzz);

zzz_n=zz./z_sum;

zzz_n

bar(zzz_n)