布朗運(yùn)動(dòng)-北太天元學(xué)習(xí)32
在北太天元學(xué)習(xí)31中,我們介紹了泊松過(guò)程?,F(xiàn)在,我們?cè)俸?jiǎn)單介紹一下維納過(guò)程(Wiener process)。 這是一種應(yīng)用很廣的也很有名的隨機(jī)過(guò)程, 又被稱(chēng)為布朗運(yùn)動(dòng)(Brownian motion)。
我們先介紹一維的布朗運(yùn)動(dòng),假設(shè) X(0) = 0, X(t), t \in [0,\infty) 是一個(gè)隨機(jī)過(guò)程, 布朗運(yùn)動(dòng)區(qū)別于其它的隨機(jī)過(guò)程的一個(gè)特點(diǎn)是對(duì)于任意的 0<s<t,? X(t) - X(s) 服從正態(tài)分布,
X(t)-X(s) ~ N(0,simga^2 *(t-s)), 這里的sigma 是常數(shù),不依賴(lài)于t和s.? 參數(shù) sigma = 1 的布朗運(yùn)動(dòng)稱(chēng)為標(biāo)準(zhǔn)布朗運(yùn)動(dòng)。
我們利用上面的知識(shí),可以用北太天元計(jì)算并畫(huà)出布朗運(yùn)動(dòng)的軌跡。布朗運(yùn)動(dòng)X(t) 的t 屬于 [0,\infty), 我們選擇 [0,T] 來(lái)觀察布朗運(yùn)動(dòng)的軌跡,而且也只能選擇一些時(shí)間點(diǎn)來(lái)觀察。 我們每一次模擬獲得一個(gè)軌跡, 得到的圖像如下

使用的北太天元的代碼如下:
%北太天元 模擬 布朗運(yùn)動(dòng)
close all
clc
clear all
hold on
num模擬 = 5;
sigma = 1 %? 設(shè)值根方差
T = 10;? % 設(shè)置觀察的時(shí)間區(qū)間[0,T];
h = 0.01; % 設(shè)置時(shí)間步長(zhǎng)
n = floor( T/h) ;
for k = 1:num模擬
?? x = zeros( n +1 ,1);
?? t = (0:n) * h ; % 計(jì)算的所有時(shí)間點(diǎn)
?? for i= 1:n
????? x(i+1) = x(i) + randn*sigma*sqrt(h);
? end?? ?
? plot(t, x, 'LineWidth', 5);
end
title("北太天元 畫(huà) 一維布朗運(yùn)動(dòng)的運(yùn)動(dòng)軌跡")
xlabel("時(shí)間")
ylabel("位置")
hold off
然后,我們?cè)儆?jì)算一下二維的布朗運(yùn)動(dòng),此時(shí)對(duì)應(yīng)于一個(gè)時(shí)間t的是一個(gè)隨機(jī)向量,有兩個(gè)隨機(jī)變量組成, [X(t), Y(t)], 其中X(t) 和Y(t) 都是一維的布朗運(yùn)動(dòng)。
我們不再畫(huà)時(shí)間了,而是把每一個(gè)時(shí)刻的位置畫(huà)出來(lái),得到了二維布朗運(yùn)動(dòng)的軌跡,

所用的北太天元的腳本如下:
%北太天元 畫(huà) 二維布朗運(yùn)動(dòng)的軌跡
close all
clc
clear all
sigma = struct();
sigma.x = 1;
sigma.y = 1;
T = 10;
h = 0.1;
N = floor(T/h);
t = (0:N)*h;? ?
particle = struct();
particle.x = [0; cumsum( sigma.x*sqrt(h) * randn(N, 1) )];
particle.y = [0; cumsum( sigma.y *sqrt(h) * randn(N, 1) )];
plot(particle.x, particle.y,'LineWidth', 4);
text(particle.x(1), particle.y(1), '起點(diǎn)');
text(particle.x(N+1), particle.y(N+1), '終點(diǎn)');
ylabel('Y');
xlabel('X');
title('北太天元模擬粒子做二維布朗運(yùn)動(dòng)的軌跡');