我在解決python中的這個積分問題。集成的功能沒有在集成的邊界上定義。 我發現了幾個類似於這個問題的更多問題,但所有問題都是非常具體的回答。 我不想近似積分太多,如果可能的話,根本就不是,因爲我在做這個積分首先是爲了避免近似。 有什麼辦法解決這個積分?解決不正確的積分不近似
import numpy as np
from pylab import *
import scipy
from math import *
from scipy import integrate
m_Earth_air = (28.0134*0.78084)+(31.9988*0.209476)+(39.948*0.00934)+(44.00995*0.000314)+(20.183*0.00001818)+(4.0026*0.00000524)+(83.80*0.00000114)+(131.30*0.000000087)+(16.04303*0.000002)+(2.01594*0.0000005)
Tb0 = 288.15
Lb0 = -6.5
Hb0 = 0.0
def Tm_0(z):
return Tb0+Lb0*(z-Hb0)
k = 1.38*10**-19 #cm^2.kg/s^2.K #Boltzmann cst
mp = 1.67262177*10**-27 #kg
Rad= 637100000.0 #radius planet #cm
g0 = 980.665 #cm/s^2
def g(z):
return (g0*((Rad/(Rad+z))**2.0))
def scale_height0(z):
return k*Tm_0(z*10**-5)/(m_Earth_air*mp*g(z))
def functionz(z,zvar):
return np.exp(-zvar/scale_height0(z))*((Rad+zvar)/(Rad+z))/((np.sqrt(((Rad+zvar)/(Rad+z))**2.0-1.0)))
def chapman0(z):
return (1.0/(scale_height0(z)))*((integrate.quad(lambda zvar: functionz(z,zvar), z, np.inf))[0])
print chapman0(1000000)
print chapman0(5000000)
第一塊變量和定義都很好。問題在於「functionz(z,zvar)」及其整合。 非常感謝任何幫助!
您是否期待SciPy通過分析解決這個問題?它不這樣做; scipy.integrate例程都計算數值近似值。 – user2357112
'm_Earth_air'的價值是什麼? – fjarri