2007年11月9日金曜日

ブラウン運動

ブラウン運動とは、1827年、ロバート・ブラウンが、花粉が水の浸透圧で破裂し水中に流失し浮遊した微粒子を顕微鏡下で観察中に発見した現象。液体中のような媒質中(媒質としては気体、固体もあり得る)に浮遊する微粒子が、不規則(ランダム)に運動する現象である。

長い間原因が不明のままであったが、1905年、アインシュタインにより、熱運動する媒質の分子の不規則な衝突によって引き起こされる現象であるとして説明する理論が発表された。

2次元ランダムウォークの軌跡。ステップを小さくした極限ではブラウン運動が得られる。

%----------------- MATLABソース -----------------%
function main()
N = 128*16;
cx = 0.2; cy = 0.2;
sx = 0; sy = 0;
x(1) = 0; y(1) = 0;

for i=2:N
[dx dy] = randwalk;
sx = sx + cx * dx;
sy = sy + cx * dy;
x(i) = sx;
y(i) = sy;
end
minx = min(x); maxx = max(x);
miny = min(y); maxy = max(y);
for i=1:N-1
plot(x(1:i),y(1:i),'k',x(i),y(i),'o',x(1),y(1),'or');
axis equal;
axis([minx maxx miny maxy]);
pause(0.01)
F(i) = getframe;
end
movie2avi(F,'brownian.avi');
end

function [dx dy] = randwalk
dx = rand(1)-0.5;
dy = rand(1)-0.5;
end
%----------------- MATLABソース -----------------%
実行の結果

0 件のコメント: