How do I make a 2D randomwalk?

39 vues (au cours des 30 derniers jours)
Delshad Ayoubi
Delshad Ayoubi le 17 Fév 2018
Commenté : Image Analyst le 1 Mar 2022
I have so far only been able to make a 1D randomwalk but I have to make it into 2D. Below is my code for 1D. How do I change it so that it is in 2D?
clear
clc
N = 100; % Length of the x-axis, also known as the length of the random walks.
M = 400; % The amount of random walks.
x_t(1) = 0;
for m=1:M
for n = 1:N % Looping all values of N into x_t(n).
A = sign(randn); % Generates either +1/-1 depending on the SIGN of RAND.
x_t(n+1) = x_t(n) + A;
end
plot(x_t);
hold on
end

Réponse acceptée

Image Analyst
Image Analyst le 17 Fév 2018
Modifié(e) : Image Analyst le 17 Fév 2018
Just duplicate everything for y:
clc;
clearvars;
N = 100; % Length of the x-axis, also known as the length of the random walks.
M = 400; % The amount of random walks.
x_t(1) = 0;
y_t(1) = 0;
for m=1:M
for n = 1:N % Looping all values of N into x_t(n).
A = sign(randn); % Generates either +1/-1 depending on the SIGN of RAND.
x_t(n+1) = x_t(n) + A;
A = sign(randn); % Generates either +1/-1 depending on the SIGN of RAND.
y_t(n+1) = y_t(n) + A;
end
plot(x_t, y_t);
hold on
end
grid on;
% Enlarge figure to full screen.
set(gcf, 'Units', 'Normalized', 'Outerposition', [0, 0.05, 1, 0.95]);
axis square;
For what it's worth, see my attached random walk demos.
  13 commentaires
Andy Paulo Ureña
Andy Paulo Ureña le 1 Mar 2022
Hi, how can i calculate the distance from the origin to all points taken in every step iteration? Thanks a lot
Image Analyst
Image Analyst le 1 Mar 2022
@Andy Paulo Ureña make a new array called allDistances, and assign it distances
allDistances(n) = distance;

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Programming dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by