matlab绘制布朗运动的二维 三维图讲课讲稿.docx
《matlab绘制布朗运动的二维 三维图讲课讲稿.docx》由会员分享,可在线阅读,更多相关《matlab绘制布朗运动的二维 三维图讲课讲稿.docx(12页珍藏版)》请在冰豆网上搜索。
matlab绘制布朗运动的二维三维图讲课讲稿
matlab绘制布朗运动的二维三维图
数学应用软件大型实验实验报告
实验序号:
日期:
年月日
班级
姓名
学号
实验
名称
Matlab绘制布朗运动的二维、三维模拟图
问题背景描述:
液体分子不停地做无规则的运动,不断地随机撞击悬浮微粒。
悬浮的微粒足够小时,受到的来自各个方向的液体分子的撞击作用是不平衡的。
在某一瞬间,微粒在另一个方向受到的撞击作用强,致使微粒又向其它方向运动。
这样,就引起了微粒的无规则的布朗运动。
布朗运动是英国植物学家布朗在观察液体中浮游微粒运动时发现的随机现象,现在已经成为随机过程理论重要的概念之一。
布朗运动是悬浮颗粒永不停息的做无规则运动的现象。
实验目的:
学习Matlab有关数据处理和图形绘制,用给出的一维布朗运动推导出二维布朗运动和三维布朗运动,并利用Matlab软件绘制相应的图形,更清晰直观的观察分别在二维、三维情况下的布朗运动,即在二维、三维情况下的随机现象。
实验原理与数学模型:
从一维布朗运动函数推导出二维,三维布朗运动函数,存放在Matlab下的work文件夹中。
利用Matlab随机产生函数中的下一个点,并利用Matlab的图形绘制功能绘制二维和三维的模拟图形。
实验所用软件及版本:
Matlab7.0.1
主要内容(要点):
1.了解布朗运动和一维布朗运动函数和模拟图;
2.编写二维布朗运动函数;
3.绘制二维布朗运动函数模拟图;
4.编写三维布朗运动函数;
5.绘制三维布朗运动函数模拟图。
实验过程记录(含:
基本步骤、主要程序清单及异常情况记录等):
基本步骤:
1.编写二维、三维布朗运动函数
2.绘制二维、三维布朗运动函数模拟图形
主要程序:
一维布朗运动:
function[t,w]=br1(t0,tf,h)
t=t0:
h:
tf;
t=t';
x=randn(size(t));
w
(1)=0;
fork=1:
length(t)-1;
w(k+1)=w(k)+x(k);
end;
w=sqrt(h)*w;
w=w(:
)
>>t0=0;
>>tf=10;
>>h=0.01;
>>[t,w]=br1(t0,tf,h)
>>plot(t,w);
>>xlabel('t');
>>ylabel('w')
二维布朗运动:
function[x,y,m,n]=br2(x0,xf,y0,yf,h)
x=x0:
h:
xf;
y=y0:
h:
yf;
a=randn(size(x));
b=randn(size(y));
m
(1)=0;
n
(1)=0;
fork=1:
length(x)-1;
m(k+1)=m(k)+a(k);
n(k+1)=n(k)+b(k);
end;
>>x0=0;xf=10;h=0.01;y0=0;yf=10;
>>[x,y,m,n]=br2(x0,xf,y0,yf,h)
>>plot(m,n)
>>xlabel('m');
>>ylabel('n')
三维布朗运动
function[x,y,z,m,n,l]=br3(x0,xf,y0,yf,z0,zf,h)
x=x0:
h:
xf;
y=y0:
h:
yf;
z=z0:
h:
zf
a=randn(size(x));
b=randn(size(y));
c=randn(size(z));
m
(1)=0;
n
(1)=0;
l
(1)=0;
fork=1:
length(x)-1;
m(k+1)=m(k)+a(k);
n(k+1)=n(k)+b(k);
l(k+1)=l(k)+c(k);
end;
>>x0=0;xf=10;h=0.01;y0=0;yf=10;z0=0;zf=10;
>>[x,y,z,m,n,l]=br3(x0,xf,y0,yf,z0,zf,h)
>>plot3(m,n,l)
>>xlabel('x');
>>ylabel('y');
>>zlabel('z')
异常情况:
二维布朗运动
function[t,w]=fun2(t0,tf,h)
t=t0:
h:
tf;
x=randn(length(t),2)*sqrt(h);
w(1,2)=0;
fork=1:
length(t)-1
w(k+1,2)=w(k,2)+x(k,2);
end
w=w(:
2);
>>t0=0;
>>tf=10;
>>h=0.01;
>>[t,w]=fun2(t0,tf,h)
>>plot(t,w)
>>xlabel('t');
>>ylabel('w
(2)')
二维布朗运动模拟图
三维布朗运动
function[t,w]=fun3(t0,tf,h)
t=t0:
h:
tf;
x=randn(length(t),3)*sqrt(h);
w(1,3)=0;
fork=1:
length(t)-1
w(k+1,3)=w(k,3)+x(k,3);
end
w=w(:
3);
>>t0=0;
>>tf=10;
>>h=0.01;
>>[t,w]=fun3(t0,tf,h)
>>plot(t,w);
>>xlabel('t');
>>ylabel('w(3)')
三维布朗运动模拟图
实验结果报告与实验总结:
一维模拟图
二维模拟图
三维模拟图
三维模拟图
思考与深入:
1.布朗运动是永不停息的无规则运动,是一个随机过程,故每次绘制出的图形都是随机的。
2.布朗运动与无规则运动的关系:
无规则运动是布朗运动的理想状态。
3.布朗运动代表了一种随机涨落现象,它的理论在其他领域也有重要应用。
如对测量仪器的精度限度的研究;高倍放大电讯电路中的背景噪声的研究等。
4.当缩小步长h时,布朗运动的二维三维图形变化:
当h=0.001时:
二维布朗运动模拟图
三维布朗运动模拟图
当h接近于无穷小时,二维三维布朗运动模拟图形将会出现一个面。
5.利用矩阵编写函数,绘制二维、三维布朗运动
二维布朗运动
function[t,w]=fm2(t0,tf,h)
t=t0:
h:
tf;
x=randn(length(t),2)*sqrt(h);
w(1,1)=0;
w(1,2)=0;
fork=1:
length(t)-1
w(k+1,1)=w(k,1)+x(k,1);
w(k+1,2)=w(k,2)+x(k,2);
end
>>t0=0;
>>tf=10;
>>h=0.01;
>>[t,w]=fm2(t0,tf,h)
>>plot(w(:
1),w(:
2))
将二维三维函数公用一个文件表示
二维布朗运动模拟图
三维布朗运动
function[t,w]=fm3(t0,tf,h)
t=t0:
h:
tf;
x=randn(length(t),3)*sqrt(h);
w(1,1)=0;
w(1,2)=0;
w(1,3)=0;
fork=1:
length(t)-1
w(k+1,1)=w(k,1)+x(k,1);
w(k+1,2)=w(k,2)+x(k,2);
w(k+1,3)=w(k,3)+x(k,3);
end
>>t0=0;
>>tf=10;
>>h=0.01;
>>[t,w]=fm2(t0,tf,h)
>>plot3(w(:
1),w(:
2),w(:
3))
三维布朗运动模拟图