2017-03-10 3 views
0

Ich brauche die Funktion zu integrieren: y (x) = e ax cos (x) ohne SciPy/NumPy etc. Ich bin kämpfen, um eine ganze Menge. Ich weiß, das:Python Numerische Integration ohne SciPy?

def integrand(x): 
       return 

Für die Rücklieferbit Ich mag diese Gleichung verwenden: die Summe i=1-N von y (xi) (xi - x (i-1))

Wie würde ich das schreiben?

+0

Die Summe ist wahrscheinlich von '1' bis ** 'N-1 '**? –

Antwort

2

einfach definieren als:

from math import cos, e 

def y(x): 
    return (e**(-a*x))*cos(x) 

def integrand(x): 
    return sum(y(x[i])*(x[i]-x[i-1]) for i in range(1,len(x)))

Die range(1,len(x)) reicht von 1 (einschließlich) zur Länge des x (exklusiv).

oder -nutzung:

from math import exp, cos 

def y(x): 
    return exp(-a*x)*cos(x)
+0

@Kasramvd: danke, geändert. –

+0

Danke. Wie auch immer, ich bin jetzt verloren. Ich bin es gewohnt, SciPy zu benutzen. Ich möchte, dass es die Werte für das Integral druckt, wenn 'a' = 0 ist. – dtfd1998

+0

@webberwizard: Nun, Sie setzen zuerst 'a' global auf' a = 0' ... –

Verwandte Themen