我有一组称为值的观察值,它来自按以下方式定义的函数:
values = np.array([oscillatory(i) for i in range(points.shape[0])])
values 的形状为 (65,1),points 是一个数组,用于评估振荡函数,它的形状为 (65,7),7 是在 7 维空间中充当维度的一些特征(7 只是一个任意数字)。
我试图插入在这个空间中定义的一些任意点。我尝试使用以下方法定义这些点:
grid_x = np.random.uniform(0,10, (100,7))
但它没有用。显然是因为网格没有正确定义所以我尝试过:
grid_x= np.mgrid[-2:2, 5:99 , 4:5, 5:6, 5:7, 6:67, 7:67]
这又不行了。我通过以下方式调用插值函数:
grid_z1 = gdd(points, values, tuple(grid_x))
但是我总是遇到一个巨大的错误,我很难理解。
奇怪的是,如果我以随机方式定义点和值,代码将起作用:
points = np.random.uniform(0,10, (65,3))
values = np.random.uniform(0,10,(points.shape[0],1))
grid_x= np.mgrid[0:2, 5:9 , 4:5]
grid_z1 = gdd(points, values, tuple(grid_x))
这里我只是尝试了 3 而不是 7,因为它更快,但原理保持不变。如果我在 7 个维度中定义它,代码也可以工作。所以我的问题是:1)我怎样才能让我的初始代码在 7 维中运行?2)如果数组具有相同的形状,为什么随机声明与其他声明相比有效?
任何帮助将不胜感激。非常感谢你。
精慕HU
相关分类