use*_*754 1 python for-loop trigonometry numpy
我想在一个循环中使用np.arctan2,因为我有大量的切片要考虑(所以我有3D数组),但我有一个错误:"无效的参数数量"但我在二维数组上工作,因为我使用环...
import numpy as np
Lx=500.
Ly=400.
x0 = Lx/2.
y0 = Ly/2.
#stockage des valeurs de x0 servant au calcul de x0 optimal
stockx0 = []
for i in range(0,300,1):
stock = Lx/2. + i
stockx0.append(stock)
stockx0 = np.array(stockx0)
stockx0 = stockx0[np.newaxis,:]
YA, XA = np.mgrid[0:Ly, 0:Lx]
XA = XA[:, :, np.newaxis]*np.ones((XA.shape[0],XA.shape[1],stockx0.shape[1]))
YA = YA[:, :, np.newaxis]*np.ones((XA.shape[0],XA.shape[1],stockx0.shape[1]))
XA2 = []
for i in range(XA.shape[2]):
stock = XA[:,:,i] - stockx0[0,i]
XA2.append(stock)
XA2 = np.array(XA2)
YA = YA - y0
theta_list = []
for i in range(XA2.shape[0]):
theta = -np.arctan2((YA[:,:,i],XA2[i,:,:]))
theta_list.append(theta)
theta = np.asarray(theta_list)
Run Code Online (Sandbox Code Playgroud)
numpy.arctan2()期待两个参数,而你只提供一个(一个元组).您需要删除一对括号:
theta = -np.arctan2((YA[:,:,i],XA2[i,:,:]))
^--------------------^ THESE
Run Code Online (Sandbox Code Playgroud)