matlab如何读取数据绘制风场
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,小编给大家分享一下matlab如何读取数据绘制风场,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一、matlab读取NCEP再分析数据并绘制风场%该程序用于求水汽通量散度%注意!我们
千家信息网最后更新 2025年12月03日matlab如何读取数据绘制风场
小编给大家分享一下matlab如何读取数据绘制风场,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
一、matlab读取NCEP再分析数据并绘制风场
%该程序用于求水汽通量散度%注意!我们这里读到的u是四维矩阵,分别是lon*lat*level*time,clc;clear;close allf_hgt = 'ps_level_20170121_0130.nc';% ncdisp(f_hgt);time=ncread(f_hgt,'time');level=ncread(f_hgt,'level');lon=ncread(f_hgt,'longitude');lat=ncread(f_hgt,'latitude');%%%%%%时间转换time = double(time);format = 'mm dd, yyyy HH:MM:SS.FFF AM';%转换格式dstr = datestr((datenum('1900-01-01') + time./24),format);%转换后时间字符串存储TM = datevec(dstr);%将时间字符数组转化为数值数组tidx=find(TM(:,2)==1 & TM(:,3)==28 & TM(:,4)==00);%筛选7月25日08时(世界时加8)ps_lev=find(level ==850);%%删选出850hPa高度start=[1,1,ps_lev,tidx];%所指定变量的每一维的开始读取的位置count=[41,31,1,1];%从start指定的开始位置算起,一共读取的每一维要素的数目strip=[1,1,1,1];%从start开始,每一维读取的数目为count时,每一维的读取的步长hgt=ncread(f_hgt,'z',start,count,strip);%读取温度值,单位Ku=ncread(f_hgt,'u',start,count,strip);%读取温度值,单位Kv=ncread(f_hgt,'v',start,count,strip);%读取温度值,单位K[X,Y]=meshgrid(lon,lat);figure(1)m_proj('Mercator','lat',[25,35],'lon',[100,115]);% m_grid('linestyle','none','tickdir','out','fontsize',12,'fontname','Times New Roman');m_grid('linestyle','none','box','fancy','fontsize',11,'tickdir','in','xtick',[100:3:115],'ytick',[25:2:35]);hold onm_windbarb(X',Y',u,v,'color','k')%m_coast('patch',[.9 .9 .9],'edgecolor','none');[C,h]=m_contour(X',Y',hgt/10 ,'color','k','LineWidth',1);%[5000:80:5900]%[1520:25:1680]%set(b,'ShowText','on','TextStep',get(b,'LevelStep'),'fontsize',12,'fontname','Times New Roman'); %在等高线上叠加数值(文后详情)clabel(C,h,'FontSize',13,'fontname','Times New Roman');ma=shaperead('F:/RMeteoInfo/data/map/bou2_4l.shp'); % m_line( [ma(:).X], [ma(:).Y],'color',[0.5,0.5,0.5]);%绘制范围内的地图m_line([ma(:).X],[ma(:).Y],'color','r');%绘制范围内的地图m_plot(105.5,29.43,'marker','^','MarkerSize',7,'color','k','MarkerFaceColor','k')
二、matlab读取ERA5并绘制全球风场图
clc;clear;close allu0=ncread('202008muwind.nc','uas'); %读取其中一项v0=ncread('202008mvwind.nc','vas');time0=ncread('202008muwind.nc','time');lat0=ncread('202008muwind.nc','lat');lon0=ncread('202008muwind.nc','lon'); [lat,lon]=meshgrid(lat0,lon0);u=u0(:,:,2);v=v0(:,:,2);b=sqrt(u.^2+v.^2);figure(1);m_proj('Equidistant Cylindrical','long',[-180 180],'lat',[-90 90]);%矩形投影;取区域观察[lon1,lat1]=meshgrid([-180:2.5:179.75],[-90:2.5:90]);u2=u(1:10:end,1:10:end)';% u3=[u2,u2(:,end)];v2=v(1:gap:end,1:gap:end)';% v3=[v2,v2(:,end)];m_quiver(lon1,lat1,u2,v2,0);hold offm_coast('patch',[1 .85 .7]);m_grid('box','on','tickdir','out');
m_contourf(lon,lat,b);%在mmap基础上的画shading interp;%使数据插值hold on;m_quiver(lon1,lat1,u2,v2,0);hold off;
m_quiver(lon1,lat1,u2,v2,0);
m_contourf(lon,lat,b,500,'linestyle','none') %在mmap基础上的画shading interp; %使数据插值
看完了这篇文章,相信你对"matlab如何读取数据绘制风场"有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!
数据
一维
单位
时间
温度
位置
地图
基础
字符
数值
数目
数组
篇文章
范围
插值
世界
全球
区域
变量
字符串
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
落实幼儿园网络安全工作职责
北极星服务器错误
kmeans网络安全
游戏服务器网络延迟怎么优化
惠州市非物质文化遗产数据库
福建时代网络技术创新服务
计算机 硬件 软件开发
白城市网络技术有限公司
宁津县网络安全
广州此客互联网科技有限公司
软件开发与应用软件开发
西安软件开发公司10强
软件开发仪器设备配置
java怎么进入服务器
服务器的端口映射
upper数据库
游戏软件开发相关前景
以下不是微软数据库产品
国开数据库基础与应用考核说明
网络安全 五禁止
定安软件开发文档
学校网络安全教育活动资料
创造与魔法什么时候才有新服务器
高可用数据库连接
网络安全博士的意义
游戏软件开发相关前景
网络安全低级错误
新系统软件开发的过程节点
移动网络安全标准
打开快手显示无法访问服务器