Я пытаюсь использовать функцию numpy.from для вычисления массива, определенного функцией, но я получил ошибку, которую не понимаю.
d_matrix - это матрица расстояний, и я получаю сообщение об ошибке: «Значение истинности массива с более чем одним элементом неоднозначно. Используйте a.any () или a.all ()». Я поместил dtype = int в функцию np.from, потому что я прочитал, что это может помочь.
def v(r, i):
return 1/N*np.sum(d_matrix[i,:]<r)
def rho_barre(r):
return quad(rho, r, np.inf)[0]
def grad_F(i, j):
return quad( lambda r : ( (v(r, i) + v(r, j))/2 - v_r) * rho_barre(max(r, d_matrix[i,j])), 0, np.inf)[0]
Grad_F = np.fromfunction(lambda i, j: grad_F(i,j), (N,N), dtype=int)
Я хотел бы знать, может ли кто-нибудь помочь мне с этой ошибкой, и в более общем плане, если у кого-то есть представление о том, что нужно сделать для вычисления массива, определенного функцией. Я не уверен, что делаю самое быстрое