海面波浪模拟 MATLAB

数学建模美赛集训的时候要用到一个海面模拟,分享一下海面模拟的MATLAB代码

 

先贴一下结果图:

 

下面是源代码~~~

  1 function waterwave
  2 
  3  
  4 n = 64;                  % grid size
  5 g = 9.8;                 % gravitational constant
  6 dt = 0.01;               % hardwired timestep
  7 dx = 1.0;
  8 dy = 1.0;
  9 nplotstep = 8;           % plot interval
 10 ndrops = 5;              % maximum number of drops
 11 dropstep = 500;          % drop interval
 12 D = droplet(1.5,21);     % simulate a water drop
 13  
 14 % Initialize graphics
 15  
 16 [surfplot,top,start,stop] = initgraphics(n);
 17  
 18 % Outer loop, restarts.
 19  
 20 while get(stop,'value') == 0
 21    set(start,'value',0)
 22    
 23    H = ones(n+2,n+2);   U = zeros(n+2,n+2);  V = zeros(n+2,n+2);
 24    Hx = zeros(n+1,n+1); Ux = zeros(n+1,n+1); Vx = zeros(n+1,n+1);
 25    Hy = zeros(n+1,n+1); Uy = zeros(n+1,n+1); Vy = zeros(n+1,n+1);
 26    ndrop = ceil(rand*ndrops);
 27    nstep = 0;
 28  
 29    % Inner loop, time steps.
 30  
 31    while get(start,'value')==0 && get(stop,'value')==0
 32        nstep = nstep + 1;
  • 5
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值