【发布时间】:2021-01-22 12:08:15
【问题描述】:
我收到以下错误,但不确定其来源:
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
于是我写了
if om_dif > 0:
我得到了SIGKILL
目的是获取列表k,包括否定om_dif和肯定om_dif的结果。
import numpy as np
import matplotlib.pyplot as plt
omega = np.linspace(0, 1128, 10000)
e = 1.602176634e-19
m_e = 9.1093837015e-31
eps_0 = 8.8541878128e-12
n_0 = 0.00032
c = 1
omega_p = np.sqrt(n_0*e**2/(eps_0*m_e))
k = []
############
for i in omega:
om_dif = omega**2-omega_p**2
if om_dif > 0:
kk = np.sqrt((om_dif)/c**2)
else:
kk = np.sqrt((abs(om_dif))/c**2)
k.append(kk)
##############
v_phi = omega/k
ax.set_xlim(0, 2*omega_p)
ax.set_ylim(-4, 4)
ax.plot(v_phi**2/c**2, omega)
plt.show()
【问题讨论】:
标签: python python-3.x numpy matplotlib