【MATLAB】布朗运动动画仿真

目录

1、题目要求

2、代码实现

3、仿真示例


1、题目要求

先确定布朗运动的点数 n 和一个温度 s(或速度)。比如 n=20, s=0.002。达到最好的动画效果的 n、 s 与使用的计算机的性能有关。在以原点为中心、边长为 1 的正方形内产生 n 个位置随机分布的点。

在单位正方形里绘制所有的点。设置图形的“ EraseMode”属性为异或( xor),即当图形的某个点的位置变化时,不用全部重绘图形,而只绘制不相同的部分,这将大大提高绘图速度。

用 while 循环实现动画效果,在每一次循环中给点的坐标加上一些正态分布的噪声,这样整个图形中只有点的坐标发生变化,而不用全部重绘整个图形。

2、代码实现

clc,clear
n=20;s=0.002;
axis square
grid off
x=rand(n,1)-0.5;y=rand(n,1)-0.5;
h=plot(x,y,'.');
set(h,'EraseMode','xor','MarkerSize',18)
while 1
x=x+s*rand(n,1);y=y+s*rand(n,1)
set(h,'Xdata',x,'Ydata',y)
if all(x>1) 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌入式职场

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值