我想在以下条件下模拟 3-D 布朗运动:
在哪里是在 3-D 环境中找到分子的概率。我想在 5 秒内找到吸收壁上某个区域的粒子数。可以推断,吸收边界在,我想要分子撞击中心圆形区域的概率有一个半径米。流体环境有漂移,即在三个方向。中的粒子方向正在移动
在哪里是我通过正态随机变量模拟的布朗过程的导数。
我正在使用以下 MATLAB 代码来模拟粒子扩散:
close all;
clear all;
clc;
TotalNumberReceivedUp=0;
Ts=5;
TotalSimulations1=100000;
flg=0;
for particlesNum=1:TotalSimulations1
flg=flg+1
D=4*10^-9;
c=250*10^-6;u=5*10^-6;v=2*10^-6;w=3*10^-6;
e=5*10^-6;
X=zeros;Y=zeros;Z=zeros;
X(1)=0;Y(1)=0;Z(1)=0;
j=1;
for i=5*10^-4:5*10^-4:Ts
t2=i;
t1=t2-5*10^-4;
j=j+1;
r = normrnd(0,1);
q= normrnd(0,1);
p= normrnd(0,1);
X(j)=X(j-1)+(sqrt(2*D))*sqrt(t2-t1)*p+u*(t2-t1);
Y(j)=Y(j-1)+(sqrt(2*D))*sqrt(t2-t1)*q+v*(t2-t1);
Z(j)=Z(j-1)+(sqrt(2*D))*sqrt(t2-t1)*r+w*(t2-t1);
if ((Z(j)>=c) && ...
(sqrt((X(j))^2+(Y(j))^2)<=e))
TotalNumberReceivedUp=TotalNumberReceivedUp+1;
break
end
end
end
ProbabilityUp=TotalNumberReceivedUp/TotalSimulations1
但是我的结果并不好,可能撞击的粒子比我通过分析得到的要多。我认为这可能是因为在“模拟扩散过程的四种方法的比较”中讨论过的边界问题,用于具有两个吸收障碍的一维运动。我曾尝试在 3-D 中使用相同的因子,但效果不佳。