squares moving error in matlab

so i am trying to write a code i want to move squares in other squares randomly,there is 10x10 squares. squares move but i dont know my code is true can you help? i cant share the whole code, because its a school project, i just want to know if this makes sense, its something like this (i added particle poisitons because i think thats the whole point and i forgot)
particle_positions = ones(num_of_particles, 2) * num_of_cells / 2 + 0.5
...
move_x = randi([-1, 1]);
...
if xnew < 1
xnew > num_of_cells ;
move_x = -move_x;
end

 Accepted Answer

This doesn't make any sense:
if xnew < 1
xnew > num_of_cells ;
move_x = -move_x;
end
It should be something like
if xnew < 1
% Don't let it go from 1 to 0
xnew = 1;
elseif xnew > num_of_cells
distancePast = xnew - num_of_cells;
xnew = num_of_cells - distancePast;
end

3 Comments

Are you keeping track of the locations on integers, or on the 0.5 marks? Maybe just put gridlines on but use xline() and yline() to make the other gridlines at the 0.5 locations.
I want the squares to match the squares in the grid.. I used xline yline but its still the same
Then you need to make sure the centers are on the 0.5 locations and go from the integer less than that to the integer more than that.

Sign in to comment.

More Answers (0)

Categories

Products

Release

R2022b

Asked:

on 24 Dec 2023

Edited:

on 27 Dec 2023

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!