Q:

how can i use for loop in this situation?

X=randi([1,5],3,1); 
Y=randi([1,5],3,1); 

for i=1:3; 
    Xnew(i)=[X(i,1)+.6];
    Xn=Xnew'; 
    Ynew(i)=[Y(i,1)+.4];
    Yn=Ynew'; 
end 

plot(Xn,Yn,'kd'); 
grid on;
hold on; 
D2X=randi([1,5],3,1); 
D2Y=randi([1,5],3,1); 
plot(D2X,D2Y,'ro');
hold off; 
axis([1,50,1,50]);

my problem is like on the first day source is generating three particles then these three particles move with the groundwater velocity, on the second day three particles again are generated by the source, on the third day again three particles by source and former particles will be moving with the groundwater velocity, source generates particles in a definite range only lets say (0-5).and this will continue for 365 days.

A:

I think this is what you're trying to do. Please clarify your question if I misunderstand.
xyRange=[1,5];      %// Starting xy range of particles
numP=3;             %// Number of particles generated each day
vx=0.6; vy=0.4;     %// x and y velocity
numDays=365;        %// Number of days to generate particles

X=[]; Y=[];         %// Vectors start out empty

for day=1:numDays
   %// Generate numP particles and add to end of vectors X and Y
   X=[X;randi(xyRange,numP,1)]; 
   Y=[Y;randi(xyRange,numP,1)]; 

   %// Move all the particles
   X=X+vx;
   Y=Y+vy;
end

This version moves the particles on the day they were generated. If you want to only start moving the particles on the day after they were generated, you can change things around a bit:
xyRange=[1,5];      %// Starting xy range of particles
numP=3;             %// Number of particles generated each day
vx=0.6; vy=0.4;     %// x and y velocity
numDays=365;        %// Number of days to generate particles

%// Generate first numP particles
X=[randi(xyRange,numP,1)]; 
Y=[randi(xyRange,numP,1)]; 

for day=2:numDays    %// Note we've already done Day 1
   %// Move all pre-existing particles
   X=X+vx;
   Y=Y+vy;

   %// Generate numP particles and add to end of vectors X and Y
   X=[X;randi(xyRange,numP,1)]; 
   Y=[Y;randi(xyRange,numP,1)]; 
end

At the end of either version, the first particles generated will be at X(1:3),Y(1:3) and the last particles generated will be at X(end-2:end),Y(end-2:end).
I'm not sure whether you want to plot each day or only at the end of the year, but I'm sure you can figure that out.

