ここに似たような質問がいくつかあることは知っていますが、どれも実際に私の問題に到達していないようです。
私のコードは次のようになります。
import numpy
import matplotlib.pyplot as plt
from scipy import integrate as integrate
def H(z , omega_m , H_0 = 70):
omega_lambda=1-omega_m
z_prime=((1+z)**3)
wurzel=numpy.sqrt(omega_m*z_prime + omega_lambda)
return H_0*wurzel
def H_inv(z, omega_m , H_0=70):
return 1/(H(z, omega_m, H_0=70))
def integral(z, omega_m , H_0=70):
I=integrate.quad(H_inv,0,z,args=(omega_m,))
return I
def d_L(z, omega_m , H_0=70):
distance=(2.99*(10**8))*(1+z)*integral(z, omega_m, H_0=70)
return distance
関数は機能します、私の問題: d_L と z をプロットするにはどうすればよいですか? d_L の定義にこの積分関数があり、それが z といくつかの args=(omega_m, ) に依存していることは明らかに問題です。