-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrandomWalkGaussian.m
33 lines (27 loc) · 1.03 KB
/
randomWalkGaussian.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
function out = randomWalkGaussian(nStep,meanStep,stdStep,varargin)
% RANDOMWALKGAUSSIAN Generador de caminatas de pasos con distribucion
% Gaussiana.
% W = RANDOMWALKGAUSSIAN(N) caminata de N pasos en dos dimensiones. Con
% pasos con distribucion Norm(0,1)
% W = RANDOMWALKGAUSSIAN(N,MEAN,STD) caminata de N pasos en dos dimensiones. Con
% pasos con distribucion Norm(MEAN,STD) en dos dimensiones
% W = RANDOMWALKGAUSSIAN(N,MEAN,STD,'Dimension',DIM) caminata de N pasos en dos dimensiones. Con
% pasos con distribucion Norm(MEAN,STD) en DIM dimensiones
% Todas las caminatas parten del origen (0,..,0), por lo que W tiene longitud N+1
% donde N es el numero de pasos
%Defaults
nDimension = 2;
if nargin < 2
meanStep = 0;
stdStep = 1;
end
if numel(varargin)>0
for i=1:numel(varargin)
if strcmpi(varargin{i},'Dimension')
nDimension = varargin{i+1};
break
end
end
end
randomStep = meanStep(ones(nStep,nDimension)) + stdStep*randn(nStep,nDimension);
out = [zeros(1,nDimension);cumsum(randomStep)];