matlab 海流流向,有会用MATLAB写海流图的程序吗

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

像这样的 ,但我想换个区域,不知道要怎么改数据

clear

clc

load('G:\weixingshuju\topo提取\kkk.mat'); %文件位置

a1 = reshape(a(:,1),4321,2161);

a2 = reshape(a(:,2),4321,2161);

a3 = reshape(a(:,3),4321,2161);

A = a1(1272:1464,805:1033); %(经度范围*12+1,纬度范围*12+1)数据像元为12*12

B = a2(1272:1464,805:1033);

C = a3(1272:1464,805:1033);

S = C';

contour(A',B',-S,[0,0],'k');

hold on

set(gca,'XTick',100:5:130);

set(gca,'Xticklabel',{'100E','105E','110E','115E','120E','125E','130E'});

set(gca,'yTick',0:5:25);

set(gca,'yticklabel',{'0N','5N','10N','15N','20N','25N'});

axis([106 122 4 23]);

xlabel(['经度/^oE']); ylabel(['纬度/^oN']); %画出地形图

load('G:\weixingshuju\weixing\Globe_SSHA_dt_ref_global_merged_msla_h_qd\data\001 (4).mat') %海面高度数据

high=ssha(377:453,425:490); %(纬度范围*4+1,经度范围*4+1)数据像元为4*4

land=find(high>1000);

high(land)=NaN;

lon1=(377:453);

lat1=lat(425:490);

[C,h]=contourf(lat1,lon1,high,'linestyle','none');

a2=load('G:\weixingshuju\topo提取\kkk.mat');

b2=reshape(a(:,3),4321,2161);

c2=b2';

d2=c2(805:1033,1272:1464);

for p=1:77 % 坐标差*4+1

for m=1:65

if d2((19*12+2)-(3*(p-1)+1),3*(m-1)+1)<0

high(p,m)=nan;

end

end

end

[X,Y]=meshgrid(105.75:.25:122,4:.25:23);

[m1 m2]=contourf(X,Y,high);

caxis([-30,30]);

colorbar

hold on

u = nan(77,66);

v = nan(77,66);

for i=2:76

k=29.75-0.25*(i-2);

f=2*(7.27e-5)*sin(k*(pi/180));

for j=2:65

g=1000;

v(i,j)=(1/f)*g*[high(i,j+1)-high(i,j-1)]/[(111*1/2)*cos(k*(pi/180))*(10^5)];

u(i,j)=-(1/f)*g*[high(i+1,j)-high(i-1,j)]/[(111*1/2)*(10^5)];

z(i,j)=[(v(i-1,j-1)^2)+(u(i-1,j-1)^2)]^(1/2);

end

xlabel('Lon[^oE]');

ylabel('Lat[^oN]');

end

legend('2cm/s',4);

set(gcf,'unit','centimeters','position',[10 2 19 16]);

quiver(X,Y,u,v,3)

hold off

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用 Matlab 绘制海流图,可以按照以下步骤进行: 1. 导入或生成海流数据:可以通过海洋观测数据、数值模拟结果或其他来源获得海流数据。将数据存储在适当的格式中,如网格数据或经纬度坐标数据。 2. 在 Matlab 中创建网格或坐标系统:根据海流数据的空间范围和分辨率,在 Matlab 中创建相应的网格或坐标系统。可以使用 `meshgrid` 函数创建二维网格,或使用 `linspace` 函数生成经纬度坐标。 3. 绘制海流箭头:使用 `quiver` 函数绘制海流箭头。该函数可以接受三个输入参数:x 坐标、y 坐标和箭头的 u、v 分量。可以根据海流数据中的速度值来设置箭头的长度和方向。 4. 设置海流箭头样式:可以通过设置 `quiver` 函数的参数来调整箭头的样式,如箭头长度、线宽、颜色等。可以使用 Matlab 中的颜色映射函数来将箭头颜色与海流速度相关联。 5. 添加地理信息:可以使用 `geoshow` 函数将地理信息添加到海流图中,如海岸线、陆地边界等。这样可以更清楚地显示海流数据和位置。 6. 添加标题和标签:根据需要,可以使用 `title`、`xlabel` 和 `ylabel` 函数添加标题和坐标轴标签,以提供更详细的图像说明。 7. 保存和显示图像:最后,可以使用 `savefig` 函数将海流图保存为文件,如 PNG 或 JPEG 格式。也可以使用 `figure` 和 `imshow` 函数将海流图显示在 Matlab 图形窗口中。 通过以上步骤,就可以使用 Matlab 绘制出海流图,以直观地展示海流的速度和方向分布。绘制的海流图可以用于海洋科学研究、航海导航等领域。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值