matlab如何读取数据绘制风场
发表于:2025-02-19 作者:千家信息网编辑
千家信息网最后更新 2025年02月19日,小编给大家分享一下matlab如何读取数据绘制风场,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一、matlab读取NCEP再分析数据并绘制风场%该程序用于求水汽通量散度%注意!我们
千家信息网最后更新 2025年02月19日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安全错误
数据库的锁怎样保障安全
eclipse写入数据库代码
简答题 网络安全
郑州千叶互联网科技
网络安全及文明作文
土壤线虫分类数据库
宝鸡软件开发价格走势
电子商务网络技术实践
物流软件开发零基础实习生
软件开发中的工具链
天幕网络安全攻防平台
上海新芽网络技术有限公司
流媒体视觉化直播管理服务器
达梦数据库体系结构由什么组成
湖南通讯软件开发服务值得推荐
非凡软件开发者
南通物流软件开发
网络技术国家分数线
sql连不上网络服务器怎么回事
为什么选择网络技术这个专业
在云服务器上安装软件
联手共筑网络安全校园
免费服务器永久使用小敏家
网络安全整治手抄报
静安区创新数据库服务报价行情
客户端编程软件开发
查询服务器地址
小健人互联网科技有限公司电话
车牌识别系统数据库
杭州有软件开发招聘信息吗
成都软件开发公司待遇