Simulating a 2D Random Walk
How can I turn my 1D Random Walk code into a 2D Random Walk.
Heres my code for the 1D Random walk:
N = 100; % Number of steps
single_trajectory = simulateRandomWalk(N);
figure
plot(0:N, single_trajectory, ‘-o’)
title(‘1D Random Walk – Single Trajectory’)
xlabel(‘Steps’)
ylabel(‘Position’)
P_values = [50, 500, 5000, 50000, 500000];
for p_index = 1:length(P_values)
P = P_values(p_index);
final_positions = zeros(1, P);
for i = 1:P
single_trajectory = simulateRandomWalk(N);
final_positions(i) = single_trajectory(end);
end
% Plot histogram of final positions
figure
histogram(final_positions, ‘Normalization’, ‘probability’)
title([‘Histogram for P = ‘ num2str(P)])
xlabel(‘Final Position’)
ylabel(‘Probability’)
end
function trajectory = simulateRandomWalk(N)
% Initialize position
position = 0;
% Initialize trajectory array
trajectory = zeros(1, N+1);
trajectory(1) = position;
% Simulate random walk
for step = 1:N
% Generate a random number to decide left or right movement
move = randi([0, 1])*2 – 1; % -1 for left, 1 for right
% Update position
position = position + move;
% Store the current position in the trajectory array
trajectory(step+1) = position;
end
endHow can I turn my 1D Random Walk code into a 2D Random Walk.
Heres my code for the 1D Random walk:
N = 100; % Number of steps
single_trajectory = simulateRandomWalk(N);
figure
plot(0:N, single_trajectory, ‘-o’)
title(‘1D Random Walk – Single Trajectory’)
xlabel(‘Steps’)
ylabel(‘Position’)
P_values = [50, 500, 5000, 50000, 500000];
for p_index = 1:length(P_values)
P = P_values(p_index);
final_positions = zeros(1, P);
for i = 1:P
single_trajectory = simulateRandomWalk(N);
final_positions(i) = single_trajectory(end);
end
% Plot histogram of final positions
figure
histogram(final_positions, ‘Normalization’, ‘probability’)
title([‘Histogram for P = ‘ num2str(P)])
xlabel(‘Final Position’)
ylabel(‘Probability’)
end
function trajectory = simulateRandomWalk(N)
% Initialize position
position = 0;
% Initialize trajectory array
trajectory = zeros(1, N+1);
trajectory(1) = position;
% Simulate random walk
for step = 1:N
% Generate a random number to decide left or right movement
move = randi([0, 1])*2 – 1; % -1 for left, 1 for right
% Update position
position = position + move;
% Store the current position in the trajectory array
trajectory(step+1) = position;
end
end How can I turn my 1D Random Walk code into a 2D Random Walk.
Heres my code for the 1D Random walk:
N = 100; % Number of steps
single_trajectory = simulateRandomWalk(N);
figure
plot(0:N, single_trajectory, ‘-o’)
title(‘1D Random Walk – Single Trajectory’)
xlabel(‘Steps’)
ylabel(‘Position’)
P_values = [50, 500, 5000, 50000, 500000];
for p_index = 1:length(P_values)
P = P_values(p_index);
final_positions = zeros(1, P);
for i = 1:P
single_trajectory = simulateRandomWalk(N);
final_positions(i) = single_trajectory(end);
end
% Plot histogram of final positions
figure
histogram(final_positions, ‘Normalization’, ‘probability’)
title([‘Histogram for P = ‘ num2str(P)])
xlabel(‘Final Position’)
ylabel(‘Probability’)
end
function trajectory = simulateRandomWalk(N)
% Initialize position
position = 0;
% Initialize trajectory array
trajectory = zeros(1, N+1);
trajectory(1) = position;
% Simulate random walk
for step = 1:N
% Generate a random number to decide left or right movement
move = randi([0, 1])*2 – 1; % -1 for left, 1 for right
% Update position
position = position + move;
% Store the current position in the trajectory array
trajectory(step+1) = position;
end
end matlab MATLAB Answers — New Questions