У меня есть сетка точек в numpy, которую я пытаюсь интерполировать. Код, который их генерирует, выглядит следующим образом:
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
from scipy.interpolate import Rbf
x = np.linspace(-1, 1, 100)[:, None] # inject trailing singleton for broadcasting
a, b = np.mgrid[0:1:0.1, 0:1:0.1]
#create dose distribution matrix
D = a.ravel() * x**2 + b.ravel() * x + 1
#perform SVD Decomposition
U, S, V = np.linalg.svd(D)
fig = plt.figure()
ax = plt.axes(projection="3d")
c0 = V[0]
#ax.scatter(a, b, c0)
#delete some points for testing interpolation
a_trng = a.ravel()
a_trng = np.append(a_trng[0:50], a_trng[70:100])
b_trng = b.ravel()
b_trng = np.append(b_trng[0:50], b_trng[70:100])
a_test = a_trng[50:70]
b_test = b_trng[50:70]
c0_trng = np.append(c0[0:50], c0[70:100])
c0_test = c0[50:70]
rbfi = Rbf(a_trng, b_trng, c0_trng)
ci = rbfi(a, b)
ax.scatter(a_trng, b_trng, c0_trng)
ax.scatter(a_test, b_test, c0_test)
Я пытаюсь удалить некоторые точки, test
точки, чтобы создать trng
точек для интерполяции. Однако точки `` `test`` перемещаются. Как я могу нарезать сетку, чтобы этого не произошло?