Line 2: | Line 2: | ||
<center>[[User:Green26|(alec green)]]</center> | <center>[[User:Green26|(alec green)]]</center> | ||
− | I attempted to model a robot circulating about the origin with small noise in each step. You can directly plug in the | + | I attempted to model a robot circulating about the origin with small noise in each step. You can directly plug in the Matlab code below. It generated the following images, showing the putative robot spiraling 'inward' or 'outward'. Is the noise early in the walk process has a greater effect on the final position of the robot than noise later in the walk process, suggesting a butterfly effect? It seems that the 'outward spiral' image appears to suggest otherwise, since the robot does spirals out early but then spirals inward later ending at the red square. |
<center> | <center> |
Revision as of 09:26, 16 February 2013
Markov Chains
I attempted to model a robot circulating about the origin with small noise in each step. You can directly plug in the Matlab code below. It generated the following images, showing the putative robot spiraling 'inward' or 'outward'. Is the noise early in the walk process has a greater effect on the final position of the robot than noise later in the walk process, suggesting a butterfly effect? It seems that the 'outward spiral' image appears to suggest otherwise, since the robot does spirals out early but then spirals inward later ending at the red square.
% set params num_steps = 10000; std_dev_rot = .01; std_dev_noise_mag = .01; % generate random initial state with complex magnitude 1 walk = zeros(1,num_steps); walk(1) = exp(i*rand); % generate next states (probabilistic modifications on current state) for j=2:length(walk), walk(j) = walk(j-1)*normrnd(1,std_noise_mag)*(i^(-abs(normrnd(0,std_rot)))); end; plot(walk); grid on; hold on; % plot starting (green) and end (red) squares plot(walk(1), 'gs','LineWidth', 2); plot(walk(length(walk)), 'rs','LineWidth', 2); % generate circle to compare with "robot" circulation circ = zeros(1,1000); circ(1) = i; for j=2:length(circ), circ(j) = circ(j-1)*i^(2*pi/length(circ)); end; plot(circ,':k','LineWidth', 2); hold off;