Random walk or stepping
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Muzaffar Habib
el 25 de Nov. de 2018
Comentada: Muzaffar Habib
el 27 de Nov. de 2018
hello, i have a 5x5 matrix and i am standing at 2,2 location, now from here i have to take one step and jump to new value. i can take jump in all 4 directions i,e i-1,i+1,j-1,j+1 with equal probability of 0.25, and also i have to update my location for making a counter loop for continous movement inside matrix.how can i code it using randperm ? or any other command available ?
5 comentarios
Walter Roberson
el 26 de Nov. de 2018
To "bounce back to the same location" you can use techniques such as
new_x_position = max( min(new_x_position, maximum_x_position), minimum_x_position )
Respuesta aceptada
Eyal Ben-Hur
el 26 de Nov. de 2018
Here is a suggestion:
A = zeros(5); % the matrix
p ={2,2}; % initial location
A(p{:}) = 1; % set initial location
N = 20; % no. of steps
for k = 1:N
s = 1-(rand<0.5)*2; % random +/-
vh = randi(2); % random vertical or horizontal
p{vh} = p{vh}+s; % move
p{vh} = abs(p{vh}-5*(p{vh}==6 || p{vh}==0)); % if outbound, return from the other side
A = zeros(5); % remove last location
A(p{:}) = 1; % set new location
end
Since it looks like homwork I leave it to you to understand the details.
Más respuestas (0)
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!