MATLAB: Plot – Grid problem : I need grid for each increment in x

grid

clear all clc
y=[ 8 0 5 5 4 0 8 1 7 3 5 1 4 8 2 7 2 0 ]; x=[ 1 0 4 0 5 1 5 1 8 3 4 6 4 7 ];
Tx=length(x); Ty=length(y);
for i=1:Tx j(i)=floor((Ty/Tx)*i); end
plot(1:length(j),j) grid on
My doubt is, How can I plot grids for each point of x axis. suppose, for the above program plot showing grid for every 2 increment of x axis. I need for grid for each single step increment so that I can analyz my problem easily.
Please give your answer for my problem.

Best Answer

% First your plot:
y=[8 0 5 5 4 0 8 1 7 3 5 1 4 8 2 7 2 0 ];
x=[ 1 0 4 0 5 1 5 1 8 3 4 6 4 7];
Tx=length(x);
Ty=length(y);
for i=1:Tx
j(i)=floor((Ty/Tx)*i);
end
plot(1:length(j),j)
grid off
% Now make your grid...

YL = get(gca,'ylim');
for ii = 1:length(j)
line([j(ii) j(ii)],YL,'linestyle','--','color','k');
end
.
.
EDIT
Or without the FOR loop:
% Now make your grid...
YL = get(gca,'ylim');
line([j;j],repmat(YL.',1,length(j)),'linestyle','--','color','k')
.
.
EDIT2
I see that you wanted the gridpoints at the x locations, not the j locations. Simply substitute an x where I have put a j...