01、python实现matlab的插值算法,以及验证
import numpy as np
from scipy.interpolate import griddata
import sys
def griddata_wrapper(x, y, v, xq, yq, method):
"""
包装scipy的griddata函数,支持单个点或多个点的插值
"""
try:
# 将输入转换为numpy数组
x = np.array(x)
y = np.array(y)
v = np.array(v)
# 处理单个点的情况,将其转换为包含单个点的数组
if not isinstance(xq, (list, np.ndarray)):
xq = [xq]
yq = [yq]
# 执行插值
result = griddata((x, y), v, (xq, yq), method=method)
# 如果是单个点,返回标量值而非数组
if len(result) == 1:
ret