Random walk or stepping

5 vues (au cours des 30 derniers jours)
Muzaffar Habib
Muzaffar Habib le 25 Nov 2018
Commenté : Muzaffar Habib le 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 commentaires
Muzaffar Habib
Muzaffar Habib le 26 Nov 2018
Thank You. Much appreciated help. I will try to code that up with randi()
Walter Roberson
Walter Roberson le 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 )

Connectez-vous pour commenter.

Réponse acceptée

Eyal Ben-Hur
Eyal Ben-Hur le 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.
  1 commentaire
Muzaffar Habib
Muzaffar Habib le 27 Nov 2018
Thank U. it did work with some ammendments.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

Tags

Produits


Version

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by