Скажем, у меня есть две матрицы:NumPy итерация в течение двух 2d массивов
X, Y = np.meshgrid(np.arange(0, 2, 0.1), np.arange(3, 5, 0.1))
и функцию, что-то вроде:
def func(x) :
return x[0]**2 + x[1]**2
Как я могу заполнить матрицу Z
(от размера np.shape (Х)), где каждый элемент формируется путем вызова func
на двух соответствующих значений X
и Y
, то есть:
Z[i, j] = func([X[i, j], Y[i, j]])
Есть ли способ без использования двойного вложенного цикла?
В коде есть опечатка 'x ** [1]'. – NKN
Разве это не просто 'Z = func ([X, Y])'? –
Лучше всего избегать дробных диапазонов (например, 'np.arange (0, 2, 0.1)'), поскольку неточности с плавающей запятой могут вызвать непредсказуемые конечные точки. Вместо этого используйте 'linspace'. –