爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 4765|回复: 4

[源程序] M_map画流线,m_streanline函数调试

[复制链接]

新浪微博达人勋

发表于 2022-5-1 11:55:54 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
在写课程小组作业时需要用到m_streamline画流线,但是频繁报错:
(1)[X,Y]=m_ll2xy(long,lat,'clip','point'); 之后出现大量nan值,需要把经纬度限制在 lon:-180-180 lat:-85-85就不会出现nan了;
(2)h=streamslice(X,Y,mU,mV,varargin{:}); 这里varargin用中括号会报错,改成varargin(:)就不会报错了,但我调用的时候会报错,说什么sqrt(dendity)未定义,我干脆就去掉了这一参数,这样他默认值取1;
(3)h=streamslice(X,Y,mU,mV)XY应该时一维递增的坐标序列,需要取第一列和第一行。报错说维度不匹配,把UV转置一下就好了。
我的调用内容:
m_proj('miller','lon',[-120,60],'lat',[0,80]);
[cs,h]=m_contourf(lon,lat,H2(:,:,3),50,'LineStyle','none');
hold on;
h1 =  m_streamline(lon,lat,U(:,:,1),V(:,:,1));
for i = 1:length(h1)
  h1(i).Color = 'k';
end

出图和修改后的代码放在这里供有需要的童鞋使用~
H&U_ano(3).jpg
m_streamline.m (3.66 KB, 下载次数: 22)

评分

参与人数 1金钱 +1 收起 理由
碧落 + 1 很给力!

查看全部评分

密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2022-5-1 12:51:30 | 显示全部楼层
啊噢 m_grid没有改 ,请大家忽略细节~
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2022-5-1 21:47:39 | 显示全部楼层
诶 家人们 我发现要用这个函数,经度是0-360的话好麻烦。遂弃
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2022-5-17 14:06:58 | 显示全部楼层
后来试了试 可以用的,按照上面说的画出来图之后,再添加一个地图底图覆盖错误底图即可。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2024-12-23 16:13:40 | 显示全部楼层
感谢!帮到了2年后的我!用的是ERA5的再分析资料,家园里找了二爷两个版本,注意了经纬度范围避免nan的错误后,“griddedInterpolant插值要求每个维度至少有两个样本点。”这个报错怎么都搞不定了。贴主是直接改了二爷的m_streanline函数脚本中streamslice函数的参数,直接用贴主的函数替代掉toolbox/m_map下的原版本,确实就画出图了!
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表