momentan bin ich noch relativ unerfahren mit python und es erschließt sich mir ein ganz zentraler Zusammenhang nicht. Für Hilfe wäre ich überaus dankbar!
Ich möchte Maximalwerte eines Signals über eine bestimmte Zeit auslesen. Hierzu hab ich folgendes geschrieben:
Code: Alles auswählen
t=[0,1,2,3,4,5,6,7,8,9,10,12,50]
F=[2,3,4,5,1239,182,18492,9,34,345923,234,123,9]
tau2=[20,18,17,16,16,16,16,16,16,16,16]
begin=list([0])
MaxF=list()
i,k=0
for k in range(0,2):
zeit=t
kraft=F
for i in range(0,len(zeit)):
if zeit[i]>=zeit[begin[k]] and zeit[i]<(zeit[begin[k]]+tau2[k]):
zeit[i] = zeit[i]*1
kraft[i] = kraft[i]*1
else:
zeit[i]=zeit[i]*0
kraft[i]=kraft[i]*0
MaxF.append(max(kraft))
for index, item in enumerate(kraft):
if item == max(kraft):
begin.append(index)
Mir ist jedoch eine sehr gravierende Sache aufgefallen: Ich habe vorher t und F ausgelesen und diese sind somit "fest definiert". Nun möchte ich zu Beginn der ersten Schleife alle Werte aus t und F in zeit und kraft speichern. Mit Hilfe der nächsten Schleifen wird dann der Maximalwert gesucht. Im nächsten Iterationsschritt sollen zeit und kraft erneut mit t und F überschrieben werden. Aber t und F haben sich analog zu zeit und kraft verändert. Warum? In Matlab z.B. funktioniert es genau so. Ich habe das Gefühl etwas grundlegendes nicht verstanden zu haben...
Vielen Dank falls jemand helfen kann und möchte!
VIele Grüße
raymike