Seite 1 von 1

Scipy Integration Methods - trapz + cumtrapz

Verfasst: Mittwoch 21. Mai 2014, 09:16
von gaberchen
Hi Leute,

ich würde gerne folgende Integration einer Funktion f(x)=x über [0:100] durchführen. Analytisch ergibt sich für F(x)=0.5*x^2+c mit c=0
Die trapz Funktion gibt mir also den skalaren Wert F(100)-F(0)=50! Soweit korrekt, gerne würde ich aber den xVektor nach jedem Element einzeln integrieren, daher die cumtrapz Funktion

Code: Alles auswählen


import numpy as np
import matplotlib.pyplot as plt
from matplotlib import rc
from scipy import integrate

x=np.linspace(0,10,100)
y=x

y_int=integrate.trapz(y,x)
y_int2=integrate.cumtrapz(y,x)
Y=0.5*x*x

plt.plot(x,Y)
plt.plot(x[0:99],y_int2,'r',marker='x')
Vergleiche ich aber Y(analytisch) zu Y_int2 ergeben sich Unterschiede -> siehe Plot. Gibt es eine genauere Integrationsmethode von Arrays (cumSimpson, oder so?)

Thanks