gpt4 book ai didi

python - numpy 插值以增加数组大小

转载 作者:行者123 更新时间:2023-11-30 21:49:42 27 4
gpt4 key购买 nike

这个问题与我之前的问题How to use numpy interpolation to increase a vector size相关,但这次我正在寻找一种增加二维数组大小而不是向量的方法。

这个想法是,我有几个坐标(x;y),并且我想用所需数量的(x;y)对来平滑直线

对于矢量解决方案,我使用@AGML 用户的答案,效果非常好

from scipy.interpolate import UnivariateSpline

def enlargeVector(vector, size):
old_indices = np.arange(0,len(a))
new_length = 11
new_indices = np.linspace(0,len(a)-1,new_length)
spl = UnivariateSpline(old_indices,a,k=3,s=0)
return spl(new_indices)

最佳答案

您可以使用函数map_coordinates来自 scipy.ndimage.interpolation 模块。

import numpy as np
from scipy.ndimage.interpolation import map_coordinates

A = np.random.random((10,10))
new_dims = []
for original_length, new_length in zip(A.shape, (100,100)):
new_dims.append(np.linspace(0, original_length-1, new_length))

coords = np.meshgrid(*new_dims, indexing='ij')
B = map_coordinates(A, coords)

关于python - numpy 插值以增加数组大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32973766/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com