Python 3:制作一个for循环

时间:2020-04-19 16:28:58

标签: arrays python-3.x for-loop typeerror scalar

我正在尝试绘制一个潮汐锁定的系外行星的温度变化范围(随角度变化)的图表。我以为这是一个简单的for循环,但是Python给了我这个错误:TypeError:只有整数标量数组才能转换为标量索引。

这是我到目前为止的代码。

import matplotlib.pylab as plt
import numpy as np

theta = np.arange(0,(np.pi)/2,100)
L_s = 2.7880945368086e+23
sigma = 5.67e-8
D = 3.76987e+9
A2 = 0.2
X = 8.0000004300E-03
f1 = 1

for i in range(theta):
    T_eq=(((1-A2)*(f1*X+1)*L_s*np.cos(theta[i]))/(4*np.pi*sigma*(D**2)))**(1./4.)

print (T_eq)

fig = plt.figure()
plt.plot(theta,T_eq) 
plt.grid() #show grid
plt.title('Range of temperature as a function of angle, tidal locked body, Mars analog')
plt.legend(bbox_to_anchor=(1.7,1),loc='upper right',borderaxespad=0.)
plt.xlabel('x') #label axis
plt.ylabel('y') #label axis
plt.show() #show figure

我不明白问题是什么。我在theta的范围内迭代方程。这些标量数组有什么用?任何帮助,将不胜感激。谢谢。

0 个答案:

没有答案