Wie lösen einer Integralgleichung in python?

Ich versuche, die Lösung dieser Integralgleichung mit Python:

Wie lösen einer Integralgleichung in python?

wobei z im Bereich von 0 bis 1.

Den scipy.quad-Funktion stellt nur die numerische Lösung für ein bestimmtes Intervall, aber nicht die Lösung über dem Intervall.

def f(z,Om,Ol): return 1./p.sqrt((1+z)**2 * (1+Om*z) - z*(2+z)*Ol)
quad(lambda r:f(r,Om,Ol),0,1)
(0.77142706642781111, 8.5645609096719596e-15)

Aber ich weiß nicht, wie man eine vollständige Vektor in diesem Intervall, wie Sie bei der Verwendung von scipy.odeint zum lösen einer Differentialgleichung.

In der anderen hand, sympy.integrieren kann es nicht. Bekomme ich einen stack overflow. Plus, ich kann nicht herausfinden, wie ersetzen Sie die Symbole durch eine Liste,d.h.:

sy.integrate(x**2,x).subs(x,1)
1/3
sy.integrate(x**2,x).subs(x,[1,2])
TypeError: unhashable type: 'list'

Die Frage ist also: weiß jemand, wie man bei der Lösung eines integralen Gleichung mit python?

Verwenden numpy: docs.scipy.org/doc/numpy/reference/generated/...
herzlich willkommen auf stack overflow
wie Sie reden über eine integral-Gleichung: Was ist der Wert, den Sie suchen ? Wollen Sie z1 für eine bestimmte D_L ?
Sie haben ein z vor das integral, ist das ein Tippfehler ?
Ich kann nicht herausfinden, wie zu verwenden linalg zum lösen einer Integralgleichung.

InformationsquelleAutor Illa Rivero Losada | 2011-08-23

Schreibe einen Kommentar