Я новичок в Python и пытаюсь преобразовать и изменить следующий код из Matlab в python:
Это то, что у меня есть до сих пор (я также пытаюсь сделатьэто для 3 измерений):
import random
import numpy as np
L = 21.1632573
x = np.random.uniform(low=0.0000,high=L,size=10000)
y = np.random.uniform(low=0.0000,high=L,size=10000)
z = np.random.uniform(low=0.0000,high=L,size=10000)
prox = 1
N = 20
#First Point
firstX = x[0]
firstY = y[0]
firstZ = z[0]
counter = 0
for k in range(1,N):
thisX = x[k]
thisY = y[k]
thisZ = z[k]
distances = np.sqrt((thisX-firstX)**2+(thisY-firstY)**2+(thisZ-firstZ)**2)
minDistance = np.min(distances)
if minDistance >= prox:
firstX[counter] = thisX
firstY[counter] = thisY
firstZ[counter] = thisZ
counter = counter + 1
Однако у меня возникла проблема в последнем операторе if:
File "/home/aperego/codes/LJ_Problem1/canonical/randomParticles.py",
line 26, in <module> firstX[counter] = thisX
TypeError: 'numpy.float64' object does not support item assignment
Любая помощь приветствуется!
Спасибо