Random number of points moving with given velocity

1 visualización (últimos 30 días)
Anu Sharma
Anu Sharma el 29 de Ag. de 2023
Comentada: Anu Sharma el 29 de Ag. de 2023
How to write a code for random number of points moving in an area at a given velocity.
There are random number of points ( 50) in an area of 600*600, moving from one point to another at given velocity (10m/s).
The code for moving one point in an area of 25*25 is given below. Similarly I want to move random number (>=50) of points in the given area (600*600).
clc
close all
figure;axis square;
set(gca,'XLim',[0,25],'YLim',[0,25]);
MOVINGPOINT = rectangle('Parent',gca,'Position',[4.5,4.5,1,1],'Curvature',[1,1]);
startPos = [2,2];
endPos = [20,20];
vel = 10;
[x_dis] = endPos(1)-startPos(1);
[y_dis] = endPos(2)-startPos(2);
Dis = sqrt(x_dis^2+y_dis^2);
Ttime = Dis/vel;
x_vel = (vel*x_dis)/Dis;
y_vel = (vel*y_dis)/Dis;
t = 0.01:0.01:Ttime;
X =startPos(1)+x_vel*t;
Y = startPos(1)+y_vel*t;
trajectory = [X;Y];
for frameNo = 1:length(t)
set(MOVINGPOINT,'Position',[trajectory(1,frameNo)-0.25,trajectory(2,frameNo)-0.25,0.5,0.5]);
Invalid expression. When calling a function or indexing a variable, use parentheses. Otherwise, check for mismatched delimiters.
frames(frameNo) = getframe;
end
Please help me with the random number (>=50) of points moving with the given velocity and to calculate the trajectory of the points.

Respuestas (1)

Image Analyst
Image Analyst el 29 de Ag. de 2023
You need a comma after 'Position' :
set(MOVINGPOINT,'Position', [trajectory(1,frameNo)-0.25,trajectory(2,frameNo)-0.25,0.5,0.5]);
  1 comentario
Anu Sharma
Anu Sharma el 29 de Ag. de 2023
ok
but please tell me how I can extend the code for more number of points. This code is for moving one point only

Iniciar sesión para comentar.

Categorías

Más información sobre Logical en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by