Euler-Funktion
Verfasst: Donnerstag 9. Juli 2020, 07:14
def ForwardEuler(fun,y_0,T,n):
'Function for Forward Euler method, returns number of suspectibles s, infectious i and recovered r'
#Prepare Arrays for data
array_s = np.zeros(n+1)
array_i = np.zeros(n+1)
array_r = np.zeros(n+1)
array_s[0] = y_0[0]
array_i[0] = y_0[1]
array_r[0] = y_0[2]
n_index = 0
for index in range(n):
n_index = index + 1
res_s,res_i,res_r = fun(index,array_s[index],array_i[index],0)
array_s[n_index] = array_s[index] + T/n * res_s
array_i[n_index] = array_i[index] + T/n * res_i
array_r[n_index] = array_r[index] + T/n * res_r #not Processed yet
return array_s, array_i, array_r
Guten Tag, Ich habe hier folgende Eulerfunktion und muss nun erklären was Python hier macht. Zunächst werden ja nur die arrays erstellt und die Anfangswerte festgelegt.
n_index = 0
for index in range(n):
n_index = index + 1
Der Code hier bereitet mir Probleme. was bedeztet n_index=0 ?
Und wird dann eben nur jeder index im Zeitpunkt von n als der index +1 gesetzt?
res_s,res_i,res_r geben mir die neu berechneten Ergebnisse?
array_s[n_index] = array_s[index] + T/n * res_s
array_i[n_index] = array_i[index] + T/n * res_i
array_r[n_index] = array_r[index] + T/n * res_r
Und hier werden die Ergebnisse verrechnet oder?
Würde mich total freuen wenn mir jemand antworten würde!!! Arbeite das erste mal mit Python und habe heute noch einen Vortrag
'Function for Forward Euler method, returns number of suspectibles s, infectious i and recovered r'
#Prepare Arrays for data
array_s = np.zeros(n+1)
array_i = np.zeros(n+1)
array_r = np.zeros(n+1)
array_s[0] = y_0[0]
array_i[0] = y_0[1]
array_r[0] = y_0[2]
n_index = 0
for index in range(n):
n_index = index + 1
res_s,res_i,res_r = fun(index,array_s[index],array_i[index],0)
array_s[n_index] = array_s[index] + T/n * res_s
array_i[n_index] = array_i[index] + T/n * res_i
array_r[n_index] = array_r[index] + T/n * res_r #not Processed yet
return array_s, array_i, array_r
Guten Tag, Ich habe hier folgende Eulerfunktion und muss nun erklären was Python hier macht. Zunächst werden ja nur die arrays erstellt und die Anfangswerte festgelegt.
n_index = 0
for index in range(n):
n_index = index + 1
Der Code hier bereitet mir Probleme. was bedeztet n_index=0 ?
Und wird dann eben nur jeder index im Zeitpunkt von n als der index +1 gesetzt?
res_s,res_i,res_r geben mir die neu berechneten Ergebnisse?
array_s[n_index] = array_s[index] + T/n * res_s
array_i[n_index] = array_i[index] + T/n * res_i
array_r[n_index] = array_r[index] + T/n * res_r
Und hier werden die Ergebnisse verrechnet oder?
Würde mich total freuen wenn mir jemand antworten würde!!! Arbeite das erste mal mit Python und habe heute noch einen Vortrag