Scipy Integration Methods - trapz + cumtrapz

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
gaberchen
User
Beiträge: 9
Registriert: Donnerstag 21. März 2013, 15:30

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
Antworten