Основной для проблем цикла с пользовательскими данными - PullRequest
1 голос
/ 19 сентября 2019

Моя цель - создать график зависимости температуры (Te) от солнечной постоянной (S0) в диапазоне от 500 до 3000. Использовать значения планетного альбедо (αp), равные 0,16 (Марс), 0,29 (Земля),и 0,71 (Венера).

Я пытаюсь использовать цикл for, чтобы подключить мои солнечные константы (в диапазоне от 500 до 3000) и сохранить значения в Te, чтобы я мог построить график.Но у меня возникают проблемы с запуском цикла for.

# Plot Planetary emission temperature as a function of solar constant
# ranging from 500 to 3000 W m^-2
# Define known variables

index = 'Mars'; # user-input planet name

sigma = 5.67 * 10**-8;
solar_flux = np.arange(500,3001,1);
df = pd.DataFrame({'planet_albedo': [0.16, 0.29, 0.71]}, 
                  index=['Mars', 'Earth', 'Venus'])


save_temp_e = []; # empty list to append values to

for i in range(len(solar_flux)): 
    Temp_e = np.array(((solar_flux[i]/(sigma*4))(1-df.planet_albedo[index]))/sigma)**(1/4);
    save_temp_e.append(Temp_e)

Я получаю ошибки, такие как:

TypeError: объект 'int' не повторяется.

1 Ответ

2 голосов
/ 19 сентября 2019

Я попробовал ваш код и получил ошибку 'numpy.float64' object is not callable.

Ваша формула неверна, вы, вероятно, пропускаете знак * здесь:

Temp_e = np.array(((solar_flux[i]/(sigma*4)) * (1-df.planet_albedo[index]))/sigma)**(1/4)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...