MATLAB: How do i remove this error? Function definitions are not permitted in this context.

matlab cvst

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
X=[]; Y=[]; %// Vectors start out empty
for day=1:10
%// Generate 3 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
plot(X,Y,'kd');
grid on ;
axis([1,50,1,50]);
function [box] = coord(X,Y)
for j = floor(X/5)+1;
k = floor(Y/5);
box = k*10+j;
end
end

Best Answer

You can write it w/o a function, and you don't need the inner for j= ... loop:
for day=1:10
%// Generate 3 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
plot(X,Y,'kd');
grid on ;
axis([1,50,1,50]);
j = floor(X/5)+1;
k = floor(Y/5);
box = k*10+j;
end