Matlab圆球扰流,Matlab编写程序实现一个随机运动的小球

本文介绍如何使用Python编程实现一个三维空间中随机运动的小球,通过ellipsoid函数连续更新小球的位置,并利用暂停时间观察其轨迹。小球的运动方向和距离由随机向量决定,适合初学者理解随机过程和图形绘制。
摘要由CSDN通过智能技术生成

满意答案

dcebd7a0de6265b6ccae5ead692f1eab.png

xue7888779

2017.04.20

dcebd7a0de6265b6ccae5ead692f1eab.png

采纳率:44%    等级:9

已帮助:314人

clc,clear; %一个三维随机运动的小球 r=0.5;%球的半径 %运动的范围 x1=0;x2=30; y1=0;y2=30; z1=0;z2=30; %初始位置  随机生成 x0=rand(1)*(x2-x1-2*r)+x1; y0=rand(1)*(y2-y1-2*r)+y1; z0=rand(1)*(z2-z1-2*r)+z1; pos=[x0;y0;z0]; figure(1) [x,y,z]  = ellipsoid(pos(1),pos(2),pos(3),r,r,r); surf(x,y,z,ones(size(x))) %画出来球 n=200;%随机运动的次数 p=1;  %p可以用来控制每次运动距离的大小 for i=1:n     %产生运动的方向与运动距离,用一个随机向量表示     s=0;     while(s==0)         direct=rand(3,1)-0.5;         dd=direct/norm(direct,2);         dd=dd*p;         post=pos+dd;         if (post(1)>=x1+r&&post(1)<=x2-r)&&(post(2)>=y1+r&&post(2)<=y2-r)&&(post(3)>=z1+r&&post(3)<=z2-r)             s=1;         end     end     pos=pos+dd;     [x,y,z]  = ellipsoid(pos(1),pos(2),pos(3),r,r,r);     surf(x,y,z,ones(size(x))) %画出来球     axis([x1 x2 y1 y2 z1 z2])     pause(0.1);  %设置暂停时间 end

因为是随机运动   如果每次运动的距离设置的不大,小球基本上是在初始位置的范围内运动

05分享举报

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值