【数据分析】大型ADCP数据集的处理和分析(Matlab代码实现)

    目录

💥1 概述

📚2 运行结果

🎉3 参考文献

👨‍💻4 Matlab代码


💥1 概述

本文将指导您完成处理和分析船载(VM-ADCP)和降低声学多普勒电流轮廓仪(L-ADCP)所需的步骤。

📚2 运行结果

 

 

 

🎉3 参考文献

[1]杨远征,徐超,李莎,何云开.2009-2012年南海海洋断面科学考察走航ADCP海流观测数据集[J].中国科学数据(中英文网络版),2019,4(03):152-161.

👨‍💻4 Matlab代码

主函数部分代码:

clc;clear;
 
% Set coefficients
eta0=0.01; % highest height of eddy
R=300; % eddy's radius
f=0.01; % coriolis coefficient
g=9.81; % gravity constant
 
% Set grid
x=-500:10:500;
y=-500:10:500;
[x y]=meshgrid(x,y);
 
% Set sea surface height
eta=eta0*exp(-(x.^2+y.^2)/R^2);
 
% Calcualte geostrophic velocity
v=(g*eta0)/f*(-2*x/R^2).*exp(-(x.^2+y.^2)/R^2);
u=-(g*eta0)/f*(-2*y/R^2).*exp(-(x.^2+y.^2)/R^2);


% Visualization
figure(1)
clf
set(gcf,'color','w')
subplot(2,1,1)
surf(x,y,eta)
view([-45 80])
title('\eta, sea surface height','fontweight','bold')
subplot(2,1,2)
z0=zeros(size(x));
quiver3(x,y,z0,u,v,z0)
view([-45 80])
axis([-500 500 -500 500 0 0.01])
title('u and v, velocities','fontweight','bold')

%% get observations

n_obs=200;

x_vec=x(:);
y_vec=y(:);
u_vec=u(:);
v_vec=v(:);

ixr=randi(numel(x_vec),[n_obs,1]);
x_obs=x_vec(ixr);
y_obs=y_vec(ixr);
u_obs=u_vec(ixr);
v_obs=v_vec(ixr);

figure(2)
clf
hold on
quiver(x,y,u,v,'k')
quiver(x_obs,y_obs,u_obs,v_obs,'r')

figure(3)
clf
div=divergence(u,v);
surf(div)
shading flat

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值