In "for"-Schleife mit Arrays arbeiten
Verfasst: Montag 5. Mai 2014, 14:18
Folgender umständlicher Code:
Wie bekomm ich das ganze mit einer einzigen Schleife hin?
folgender Code funktioniert leider nicht, wie er soll:
denn hier bedeutete "range(N)" wirkliche nur einen Wertebereich, nämlich den des kompletten. Ich bräuchte hier aber etwas wie einen Befehl, der ein Array verwendet, welches quasi so aussieht [range(N[0]), range(N[1],...].
Warum brauch ich das? Nunja, ich will das ganze in eine Funktion einbetten, die am Ende einen Parameter 'anz' beinhaltet, welcher die Anzahl an Werten N und damit an Werten h festlegt. Dazu muss ich das ganze aber irgendwie anders umsetzen. Kann mir hier bitte jemand helfen?
Code: Alles auswählen
from numpy import *
b=pi/3.0
a=-pi/2.0
N = int32(2.7*10**linspace(0, 4, 5))
h = (b-a) / N
summe = zeros(5)
for j in range(N[0]):
summe[0] += sin(a + h[0]*((2*j - 1)/2))
for j in range(N[1]):
summe[1] += sin(a + h[1]*((2*j - 1)/2))
for j in range(N[2]):
summe[2] += sin(a + h[2]*((2*j - 1)/2))
for j in range(N[3]):
summe[3] += sin(a + h[3]*((2*j - 1)/2))
for j in range(N[4]):
summe[4] += sin(a + h[4]*((2*j - 1)/2))
print summe folgender Code funktioniert leider nicht, wie er soll:
Code: Alles auswählen
from numpy import *
b=pi/3.0
a=-pi/2.0
N = int32(2.7*10**linspace(0, 4, 5))
h = (b-a) / N
summe = zeros(5)
for j in range(N[i]):
summe[i] += sin(a + h[i]*((2*j - 1)/2))
Warum brauch ich das? Nunja, ich will das ganze in eine Funktion einbetten, die am Ende einen Parameter 'anz' beinhaltet, welcher die Anzahl an Werten N und damit an Werten h festlegt. Dazu muss ich das ganze aber irgendwie anders umsetzen. Kann mir hier bitte jemand helfen?