Random Walk on 2D Modification

I have 2D random walk code part for neutrons. However, the code includes some conditions, 2 of them are:
  • on the next step the neutron cannot step back, but only forward, left or right ,
  • the probability to go forward is twice more than changing a direction
I could not modified the code for "cannot step back" part. Also, i have no idea how to make the probability is doubled for not changing direction. Since, if it's once changed direction it has the change to go straight forward is still doubled.
Here's the code:
clc;
clearvars;
N = 100; % Length of the x-axis, also known as the length of the random walks.
M = 100; % The amount of random walks.
x_t(1) = 0;
y_t(1) = 0;
for m=1:M
for n = 1:N
A = sign(randn);
x_t(n+1) = x_t(n) + A;
A = sign(randn);
y_t(n+1) = y_t(n) + A;
end
plot(x_t, y_t);
hold on
end
grid on;
set(gcf, 'Units', 'Normalized', 'Outerposition', [0, 0.05, 1, 0.95]);
axis square;

4 comentarios

Walter Roberson
Walter Roberson el 6 de En. de 2019
Please do not close questions that have an answer. The volunteers spend their time researching and testing solutions for you, and it is not fair to the volunteers to have their contributions suddenly disappear.
Ege Tunç
Ege Tunç el 6 de En. de 2019
I though "close" means, the question is answered, no more answers needed. Am i wrong?
Walter Roberson
Walter Roberson el 6 de En. de 2019
"close" means make it invisible to the public, such as for a question that needs clarification from the author.
Ege Tunç
Ege Tunç el 6 de En. de 2019
okay, i opened it. sorry for my misunderstanding

Iniciar sesión para comentar.

 Respuesta aceptada

Walter Roberson
Walter Roberson el 26 de Dic. de 2018
Editada: Walter Roberson el 26 de Dic. de 2018
dd = randi(4)
for ss = 1:500
rr = rand;
if rr < 1/4
dd = 1+mod(dd,4) %next higher direction
elseif rr < 1/2
dd = 1+mod(dd-2,4) %next lower direction
end % 50 percent stays same direction
if dd==1
yy=yy+1; %north
elseif dd==2
xx=xx+1; %east
elseif dd==3
yy=yy-1; %south
else
xx=xx-1; %west
end
plot here probably
end

Más respuestas (0)

Categorías

Más información sobre Mathematics en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 26 de Dic. de 2018

Comentada:

el 6 de En. de 2019

Community Treasure Hunt

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

Start Hunting!

Translated by