資源簡介
清華大學隨機過程的課程大作業,主要內容是帶反射吸收壁的二維布朗運動理論建模與仿真,壓縮包里面含有matlab的源代碼,我自己寫的詳細的課程報告,還有代碼的說明文檔,相當詳細而且一定可以運行,還有我詳細的理論推導。是學習布朗運動非常好的資料

代碼片段和文件信息
clear?all;?clc;?close?all;
%length?of?wall
xmax=10;
ymax=20;
%probality?of?absorption
p?=?0.5;
%num?of?particles
totalnum=1000;?
totaltime=1000;
%resistance?flag
f_flag?=1;%ref:0:no?resis;?1:resis
%prelocate?length
x(totalnum)?=?0;
y(totalnum)?=?0;
x_x(totaltime)?=?0;%?var?for?tracking
y_y(totaltime)?=?0;%?var?for?tracking
direction(totalnum)=0;??
for?i=1:totalnum
????x(i)=xmax*rand;?
????y(i)=ymax*rand;?
end
figure;%initial
scatter(xy);????
for?m?=?1:totaltime
????for?i=1:totalnum
????????direction(i)=fix(4*rand)+1;?
????end
????
????for?i=1:totalnum
?????if(direction(i)==1)
?????????if(f_flag?==?1)
????????????x(i)=x(i)+(1-m/1000)*randn;
?????????else
????????????x(i)=x(i)+randn;?
?????????end
?????????%---partial_border-----
?????????probability=rand;
????????????%absorotion
????????????if(probability<=p)???
????????????????directionabsorb=fix(3*rand)+1;
????????????????if(x(i)<=0)
???????????????????switch?directionabsorb
????????????????????????case?1
????????????????????????????x(i)=xmax-abs(randn);????????????????
????????????????????????case?2????????????????
????????????????????????????x(i)=xmax-abs(randn)/sqrt(2);
????????????????????????????y(i)=y(i)+abs(randn)/sqrt(2);???????
????????????????????????case?3???????????????
????????????????????????????x(i)=xmax-abs(randn)/sqrt(2);
????????????????????????????y(i)=y(i)-abs(randn)/sqrt(2);???
????????????????????end?
????????????????end
?????????????????if(x(i)>=xmax)
???????????????????switch?directionabsorb??????????
????????????????????????case?1
????????????????????????????x(i)=abs(randn);???????????????
????????????????????????case?2????????????????
????????????????????????????x(i)=abs(randn)/sqrt(2);
????????????????????????????y(i)=y(i)-abs(randn)/sqrt(2);
????????????????????????case?3????????????????
????????????????????????????x(i)=abs(randn)/sqrt(2);
????????????????????????????y(i)=y(i)+abs(randn)/sqrt(2);?????
??????????????????end
?????????????????end
?????????????????if(y(i)>=ymax)
???????????????????switch?directionabsorb
????????????????????????case?1????????????????
????????????????????????????y(i)=abs(randn);????????????????
????????????????????????case?2????????????????
????????????????????????????x(i)=x(i)+abs(randn)/sqrt(2);
????????????????????????????y(i)=abs(randn)/sqrt(2);???????????????
????????????????????????case?3???????????????
????????????????????????????x(i)=x(i)-abs(randn)/sqrt(2);
????????????????????????????y(i)=abs(randn)/sqrt(2);???
????????????????????end
????????????????end
????????????????if(y(i)<=0)
???????????????????switch?directionabsorb
????????????????????????case?1????????????????
????????????????????????????y(i)=ymax-abs(randn);????????????????
????????????????????????case?2???????????????
????????????????????????????x(i)=x(i)+abs(randn)/sqrt(2);
????????????????????????????y(i)=ymax-abs(randn)/sqrt(2);???????????????
????????????????????????case?3?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????13537??2015-12-04?19:33??Main.m
?????文件??????????82??2015-12-04?19:36??main說明.txt
?????文件??????774996??2015-12-04?19:24??隨機過程實驗報告.pdf
評論
共有 條評論