%
% Un paseo aleatorio muy simple.
%
lambda = 10;
maxpasos = 500;
%
%
dospi = 2 * pi;
path(path, '../11Rangen');
%
% Posición inicial.
%
x = 0;
y = 0;
npasos = 1;
%
% Histórico de posiciones.
%
clear xhist yhist;
%
xhist(npasos) = x;
yhist(npasos) = y;
%
% El paseo aleatorio.
%
for i = 1:maxpasos
    
  theta     = dospi * rand(1);
  distancia = rexp(lambda);
  x         = x + distancia * cos(theta);
  y         = y + distancia * sin(theta);
  
  npasos        = npasos + 1;
  xhist(npasos) = x;
  yhist(npasos) = y;

end
%
% Un poco de estadística.
%
xmedio = 0;
ymedio = 0;
%
for i = 1:npasos
  xmedio = xmedio + xhist(i);
  ymedio = ymedio + yhist(i);
end
xmedio = xmedio / npasos;
ymedio = ymedio / npasos;
%
fprintf('Posición final: xf = %g; yf = %g\n', x, y);
fprintf('Posición media: xm = %g; ym = %g\n', xmedio, ymedio);
%
% Ploteo.
%
close all;
figure;

plot(xhist, yhist, '-r');
hold on;
plot(xhist(1), yhist(1), 'ok', 'MarkerFaceColor', 'k');
