Я создал сетку 2d длиной 100 и у меня есть вектор кортежей, который имеет 2d точек.Как я могу интерполировать вектор на 2-й сетке?
x1 = np.linspace(-1,1,10)
y1 = np.linspace(-1,1,10)
grid=[]
for i in x1:
for j in y1:
grid.append((i,j))
#The vector
vec=[(.033,-.22),(.5,-.9),(-.77,-.01),(.5,.2)]
То, что я хочу, чтобы перебрать все 100 ячеек сетки и где вектор кортеж присутствует в этой координате диапазоне, я хочу 1
против него еще 0
. Таким образом, выходная сетка будет иметь 4 единицы (соответствующие vec) & 96 нулей.
** Когда я говорю диапазон координат сетки Я имею в виду что-то вроде этого: -
ctr=0
for i in x1:
for j in y1:
if ctr==0:
temp=(i,j)
ctr+=1
continue
else:
print temp, "to" ,i,j
temp=(i,j)
ctr+=1
Но вы результат проиндексировали только 3 из 4 точек от вектора. Если согласно моему векторному содержанию и код: @vres: «1: (-0.11111111111111116, 1.0) (0.11111111111111116, -1.0) 1: (0,33333333333333326, 1,0) (0,55555555555555536, -1,0) 1: (-0,77777777777777779, 1.0) (-0.55555555555555558, -1.0) 1: (0.33333333333333326, 1.0) (0.55555555555555536, -1.0) ' – vinita
Действительно, поскольку ваш второй и последний входные векторы создают одно и то же положение в вашей сетке все индексы возвращаются bisect, но 'result [idx]' только изменяет один. Следовательно, 3 из 4. Вы можете проверить вывод, напечатав 'print ([(сетка [x-1], сетка [x]) для x в idx])'. Это одинаково. –
хорошая работа, позвольте мне проверить ее на реальной сетке :-). Надеюсь, он работает и для 3d-сетки? или есть ли другая библиотека для 3d-сеток? – vinita