how do i remove this error? Function definitions are not permitted in this context.
2 views (last 30 days)
Show older comments
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
0 Comments
Accepted Answer
Thorsten
on 29 Jun 2015
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
2 Comments
Adam
on 29 Jun 2015
You should give completely new questions their own thread really rather than tagging them onto a comment of an answer.
More Answers (1)
James Tursa
on 29 Jun 2015
You have your sub function "coord" defined inside your for loop. Move it outside your for loop.
2 Comments
Adam
on 29 Jun 2015
also if that is a script you need to turn the whole thing into a function in order to define subfunctions.
See Also
Categories
Find more on Calendar in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!