python规则网格插值不规则边界_Python:从不规则二维网格到规则网格的插值

这篇博客探讨了如何使用Python将不规则网格上的值分布映射到规则网格上。作者尝试了不同的插值方法,包括`scipy.interpolate.interp2d`,但遇到了问题,如插值结果错误和警告。文章中提供了代码示例,展示了创建不规则和规则网格的过程,并讨论了可能的插值问题。
摘要由CSDN通过智能技术生成

我想把不规则网格的值分布映射到规则网格上。

我试着用不同的插值器,但看起来我做不到。在

这是我写的代码:import numpy as np

from scipy import interpolate

import matplotlib.pyplot as plt

N = 100

M = 10

lat = ((np.random.rand(M,N))*2)+0.2

lon = ((np.random.rand(M,N))*3)+0.2

theta = ((np.random.rand(M,N))*180)

lat_min = np.min(lat)

lat_max = np.max(lat)

lon_min = np.min(lon)

lon_max = np.max(lon)

dlat = 0.1 # regular step for the lat[rad]

dlon = 0.1 # regular step for the lon[rad]

# Grid dimensions

Nlat = np.int(np.abs(lat_max-lat_min)/dlat)+1

Nlon = np.int(np.abs(lon_max-lon_min)/dlon)+1

# Lat-Lon vector

reg_lat = np.linspace(lat_min, lat_max, Nlat) # regularly spaced latitude vector

reg_lon = np.linspace(lon_min, lon_max, Nlon) # regularly spaced longitude vector

# Lat-Lon regular Grid

reg_lon_mesh, reg_lat_mesh = np.meshgrid(reg_lon, reg_lat)

我用过:

^{pr2}$

但插值似乎是错误的

以及f = interpolate.interp2d(lon.ravel(), lat.ravel(), theta,kind='cubic')

它也提出了一个警告:理论上不可能找到一个光滑的样条曲线

fp=s。可能的原因:s太小或eps选择不当。

(绝对值(fp-s)/s>0.001)

kx,ky=3,3 nx,ny=36,34米=1000英尺=14832451.907306 s=0.000000

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值