ValueError: не удалось передать операнды вместе с фигурами (1000,0) (1000,499) - PullRequest
0 голосов
/ 08 марта 2019

Мне нужно, чтобы Cn был массивом размера (1500), но я получаю ошибку трансляции. Я не уверен, как это сделать. Я полагаю, что это проблема при попытке изменить форму в команде np.trapz.

def Gaussan_wave_packet():


quantum_number = 500
x = np.linspace(0,100,1000).astype(complex)
x0 = 50
a = 10
l = 1
A = (1/(4*a**2))**(1/4.0)
m = 0.511*10**6 #mass
hbar = 6.58211951*10**(-16)
L = x[-1]
psi_x0 = np.exp((-(x - x0)**2)/(4*a**2))*np.exp(1j*l*x)

A = (1/(np.sqrt(np.trapz((np.conj(psi_x0)*psi_x0),x))))
psi_x0_normalized = np.outer(psi_x0,A) # Makes a (1000,1) array

n = np.arange(quantum_number)
phi = ( np.sqrt( 2/L ) * np.sin( (n*x.reshape(len(x),1)*np.pi) )/L )
En = ( ( np.power(n,2))*(np.pi**2)*(hbar**2))/(2*m*L**2) #(1,500)
En = En.reshape(1,quantum_number)
Cn = np.trapz( ( np.multiply(psi_x0_normalized, np.conj(phi) )), x.reshape(len(x),1)) # Needs to be (1,500)
...