MatLab实现布朗运动

写MATLAB程序,画出动画来模拟粒子的布朗运动。


在二维坐标系下,假设有100个点,起始坐标都为(0,0),在坐标系下用.画出这100个点。模拟这些点的布朗运动,试写出含有1000步的循环,每一步循环将计算出每个点下一步的新的x和y坐标,然后画出新位置下的这100个点,这样循环1000步,就会画出有1000个图片的动画。每个点下一步的新坐标位置,通过在当前的位置(x,y),对x和y分别加上服从正态分布且标准差为0.005的变量来完成。

%Brownian motion 布朗运动

%清除命令,清空工作区,关闭所有窗口
clc,clear,close all; 

% 设置正态分布的均值
mean = 0; 

% 点的个数
n = 100;

% 速度
s = 0.01;

% x, y的初始值
x = zeros([n, 1]);
y = zeros([n, 1]);
h = plot(x, y, '.');

title('模拟布朗运动');
for i = 1:1000
        x = x + normrnd(mean, 0.005, [n,1]) * s;
        y = y + normrnd(mean, 0.005, [n,1]) * s;
        set(h,'XData',x,'YData',y)  % 重新绘点
        drawnow;
end

动态图的实现思路:

  1. 生成新的xy坐标值
  2. 暂时保存
  3. 重新绘点

视频:

matlab实现布朗运动



参考文章:https://blog.csdn.net/mygod2008ok/article/details/100855010

  • 9
    点赞
  • 58
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值