爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 5920|回复: 4

[求助] scipy.interpolate.Rbf错误求助

[复制链接]

新浪微博达人勋

发表于 2021-11-28 12:26:50 | 显示全部楼层 |阅读模式

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

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

x
代码是这样的
olon=np.linspace(70,140,71)
olat=np.linspace(15,55,41)
olon,olat=np.meshgrid(olon,olat)
func = Rbf(lon,lat,data,function='linear')
data_new=func(olon,olat)

使用的lon,lat,data均为一维数组,也没有nan数据,但
运行时报错
rbf.py:241: LinAlgWarning: Ill-conditioned matrix (rcond=1.96815e-50): result may not be accurate.
  self.nodes = linalg.solve(self.A, self.di)

得到的data_new中都为绝对值大于10^20次方的值
求助


QQ截图20211128122617.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2021-11-28 13:11:36 | 显示全部楼层
data一维?
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2021-11-28 13:21:40 | 显示全部楼层

data是一维数组,我尝试把它reshape成1*1640的二维数组,结果也是不行
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2021-11-28 13:23:42 | 显示全部楼层
但是用griddata是可以计算的,但griddata不能外插外面的数据
1.png
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-11-30 20:49:57 | 显示全部楼层
RBF出现Ill-conditioned matrix的情况,请检查是否存在对同一坐标点多值,即确认唯一性。
比如:
lon      lat      value
100     20      100
110     30      200
100     20      50

100/20这个点值多个值,想办法去掉就是
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

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