【发布时间】:2020-08-26 22:49:00
【问题描述】:
我有这个方程会产生一个长度为 3000 的数组:
dRcs_Stokes=((112*((math.pi)**4))/15)*(((gj)*planck*c*B0*((nu0+i_dnu_Stokes)**4)*gammaSquared)/(((2*I+1)**2)*kb*T))*(i_Xj_Stokes*(math.exp(((-i_Erot)/(kb*T)))))
但是,对于我的 for 循环中的每次迭代,我想将新计算的值的长度为 3000 的新行添加到我的数组中。因此,当 for 循环结束时,我应该得到一个 30X3000 数组。我将如何在 python 中执行此操作?我不断收到“只有长度为 1 的数组可以转换为 Python 标量”错误。这是我的尝试:
dnu_Stokes=np.array([])
Erot= np.array([])
Xj_Stokes=np.array([])
dRcs_Stokes=np.array([])
anti_dnu_Stokes=np.array([])
anti_Xj_Stokes=np.array([])
anti_dRcs_Stokes=np.array([])
for i in range(1,30):
i_dRcs_Stokes[i-1,:]=((112*((math.pi)**4))/15)*(((gj)*planck*c*B0*((nu0+i_dnu_Stokes)**4)*gammaSquared)/(((2*I+1)**2)*kb*T))*(i_Xj_Stokes*(math.exp(((-i_Erot)/(kb*T)))))
【问题讨论】:
-
请提供minimal reproducible example,以及整个错误输出。