При попытке построить с двумя величинами я получаю сообщение об ошибке - только массивы размера 1 могут быть преобразованы в скаляры Python - PullRequest
0 голосов
/ 17 октября 2019

Я пытаюсь построить график величины a, которая варьируется от 0 до 1, по сравнению с величиной HOt, которую я закодировал, чтобы решить ее как задачу дифференциальной интеграции. Я не знаю, если что-то не так с тем, что я использую «HOt» во время построения графиков, но не уверен что? Я получаю сообщение об ошибке, что только массивы размера 1 могут быть преобразованы в скаляры Python. Обновление: x и y должны иметь одно и то же первое измерение, но иметь формы (50,) и (1,) - это новая ошибка, после того как я исправил свой код.

HO = 67.8
a = np.linspace(0.01,1.00)
def x(a): 
    return np.log(a)
oR = 0.0000903
oL = 0.692
oM = 0.306
def f(a,oR,oL,oM):
    return 1/(np.sqrt(oR/((a)**2))+(oL*(a)**2(oM/a))

def HOt(a, oR,oL,oM):
    return integrate.quad(f, 0,a)[0]

def y(HOt):
    np.log(HOt(a, oR,oL,oM))
    return y

plt.clf()
plt.plot(x(a),y, '.')
plt.xlabel('a(t)')
plt.ylabel('time(in units of H0)')
plt.title('scale factor vs time')`
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...