matlab图像灰度直方图显示问题?

代码如下:
f=imread('C_13_Binery.jpg');%读取图像
[m,n,p]=size(f);
a=zeros(1,256);
b=zeros(1,256);
c=zeros(1,256);

for i=1:m
for j=1:n
a(f(i,j,1)+1)=a(f(i,j,1)+1)+1;
end
end

for i=1:m
for j=1:n
b(f(i,j,2)+1)=b(f(i,j,2)+1)+1;
end
end

for i=1:m
for j=1:n
c(f(i,j,3)+1)=c(f(i,j,3)+1)+1;
end
end

figure(2),bar(a);
title('红色分量的灰度直方图')
xlabel('灰度值')
ylabel('出现个数')
figure(3),bar(b);
title('绿色分量的灰度直方图')
xlabel('灰度值')
ylabel('出现个数')
figure(4),bar(c);
title('蓝色分量的灰度直方图')
xlabel('灰度值')
ylabel('出现个数')
请好心人给个注释,谢谢!!!

f=imread('C_13_Binery.jpg');%读取图像
[m,n,p]=size(f);
a=zeros(1,256);//r分量直方图
b=zeros(1,256);//g分量直方图
c=zeros(1,256);//b分量直方图

for i=1:m
for j=1:n
a(f(i,j,1)+1)=a(f(i,j,1)+1)+1;//r分量直方图统计:保存当前像素的灰度值i到对应的统计数组a[i]中,g,b分量也如此
end
end

for i=1:m
for j=1:n
b(f(i,j,2)+1)=b(f(i,j,2)+1)+1;//g分量直方图统计
end
end

for i=1:m
for j=1:n
c(f(i,j,3)+1)=c(f(i,j,3)+1)+1;//b分量直方图统计
end
end