Random walk or stepping
3 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Muzaffar Habib
il 25 Nov 2018
Commentato: Muzaffar Habib
il 27 Nov 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 Commenti
Walter Roberson
il 26 Nov 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 )
Risposta accettata
Eyal Ben-Hur
il 26 Nov 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.
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!