%%% A script to generate simple random walks in 1 and 2 dimensions clc format compact format short g n=1000 % The length of the walk A = 2*random('unid',2,6,n)-3; % Generates random steps +1 or -1 for 6 (or 3) walks %Adds a starting point at 0 or (0,0) A = [zeros(6,1),A]; % Turns this into a walk A2 = cumsum(A')'; % Matrix to allow for a 2-d Random Walk as well B = 1/2*[1 -1; 1 1]; figure(1) subplot(3,1,1) n1=50 plot([0:n1],A2(1,1:n1+1),'-o',[0 n1],[0 0],'k') % New Walk - Longer Distance subplot(3,1,2) n1=200 plot([0:n1],A2(3,1:n1+1),[0 n1],[0 0],'k') % Last Walk - Longest Distance subplot(3,1,3) n1=n plot([0:n1],A2(5,1:n1+1),[0 n1],[0 0],'k') %%% 2-d random walks % Short Walk figure(2) subplot(3,1,1) n1=50 C = A2(1:2,1:n1+1); C2=B*C; plot(C2(1,:),C2(2,:),'-o') % Longer Walk subplot(3,1,2) n1=200 C = A2(3:4,1:n1+1); C2=B*C; plot(C2(1,:),C2(2,:)) % Longer Walk subplot(3,1,3) n1=n C = A2(5:6,1:n1+1); C2=B*C; plot(C2(1,:),C2(2,:))