1D和2D布朗运动matlab

布朗运动是一种随机现象,下面的M函数brwnm2.m给出了二维Brown运动,其中[t0,tf]是时间区间,h是采样步长,w(t),z(t)是布朗运动。

function [t,w,z]=brwnm2(t0,tf,h)
t=t0:h:tf;
x=randn(size(t))*sqrt(h);
y=randn(size(t))*sqrt(h);
w(1)=0;
z(1)=0;
  for k=1:length(t)-1
     w(k+1)=w(k)+x(k);
     z(k+1)=z(k)+y(k);
  end
  plot(w,z);

 

在command window下运行 brwnm2(0,10,0.01)可得到如下图像 作者:ocean_tide https://www.bilibili.com/read/cv27155811/ 出处:bilibili

1D和2D布朗运动matlab_第1张图片

下面的M函数brwnm3.m给出了三维Brown运动。
function [t,w,z,i]=brwnm3(t0,tf,h)
t=t0:h:tf;
x=randn(size(t))*sqrt(h);
y=randn(size(t))*sqrt(h);
s=randn(size(t))*sqrt(h);
w(1)=0;
z(1)=0;
i(1)=0;
  for k=1:length(t)-1
     w(k+1)=w(k)+x(k);
     z(k+1)=z(k)+y(k);
     i(k+1)=i(k)+s(k);
  end
  plot3(w,z,i);grid on ;box on;

在command window下运行 brwnm3(0,10,0.01)可得到如下图像 作者:ocean_tide https://www.bilibili.com/read/cv27155811/ 出处:bilibili

1D和2D布朗运动matlab_第2张图片

你可能感兴趣的:(Matlab语言专栏,matlab,布朗运动)