Código de trayectoria de partículas en movimiento browniano

Simulación de la trayectoria de una partícula en  movimiento browniano

En el siguiente ejemplo se simularemos la trayectoria de partículas brownianas por medio de un método aleatorio. El valor del método consiste en utilizar los números aleatorios para generar un arreglo de ángulos aleatorios para el movimiento de la partícula en el espacio.

La forma en la que la partícula se va a mover es simple: se propone un paso unitario en una dirección aleatoria y en esa nueva ubicación se hará otro desplazamiento aleatorio sin que tenga relación con la anterior. El código implementado esta abajo de estos parrafos.

%Rutina para simular la trayectoria de una partícula browniana
% Por Vicente Torres Zúñiga
clear % limpiamos memoria
close all
clc
par=1; % número de particulas,
%soporta hasta 21 particulas para diferenciar el color
% espacio para los valores finales de posicion de las partículas
X=zeros(par,1000);
Y=zeros(par,1000);
Z=zeros(par,1000);
for n=1:par %número de particulas en cada interación
x=zeros(1,1000); %vector de posicion de la particula
y=zeros(1,1000);
z=zeros(1,1000);
%se define una dirección en 3D aleatoria.
phi=2*pi*rand(1,1000);%crea un ángulo aleatorio para la particula
theta=2*pi*rand(1,1000)-pi; %se crea el otro ángulo.
% bastan con dos angulos para cubrir el espacio
for i=1:999 %se define la interacción de la partícula
x(i+1)=x(i)+cos(phi(i)).*sin(theta(i));
y(i+1)=y(i)+sin(phi(i)).*sin(theta(i));
z(i+1)=z(i)+cos(theta(i));
end
%se guarda la trayectoria instantanea de cada partícul
X(n,:)=x;
Y(n,:)=y;
Z(n,:)=z;
end
% vector para cambiar de color en cada trayectoria
C=['r' 'g' 'b' 'w' 'y' 'm' 'c' 'r' 'g' 'b' 'w' 'y' 'm' 'c' 'r' 'g' 'b' 'w' 'y' 'm' 'c'];
%graficación de la trayectoria de las partículas
hold on
for n=1:par;
plot3(X(n,:),Y(n,:),Z(n,:),C(n));
% en lugar de graficar las trayectorias de cada particula,
% se grafica en esa posición el lugar que ocupa la partícula
end
view(3);
axis tight % Ajustes en la visualización de la ventana
box on
hold off

Ejercicios:

1) Muestre que este tipo de trayectorias obedece a una distribución estadística de Gauss.
2) Ejecute el programa con hasta 21 partículas. Comente lo que observa.
3) Este script se implento en base al ángulo, escriba un script que emplee desplazamientos en el plano para simular una trayectoria aleatoria.

Muchas gracias a todos por ser parte de este curso de Matlab


Espero que el curso les gustara, que les sea útil en sus próximos trabajos y empresas.

Seguiré actualizando y colocando entradas en el blog para responder algunas dudas. Hasta enero del 2013 tendrán acceso al blog, pero si tienen dudas pueden contactarme en la Internet.

Gracias :D
Related Posts Plugin for WordPress, Blogger...