BlackJack hat geschrieben:@feldmann_markus: Zu 6.): Du bräuchtest doch nur Anfangs-, Endwert
und Schrittweite zu speichern, wenn die Zeiten Fliesskommazahlen sind,
lässt sich mit diesen drei Angaben doch ganz einfach mit `numpy.arange()` wieder ein Array erstellen.
Es fallen doch beim extrahieren viele Werte weg, dadurch ändert sich die
Länge der Vektoren. Meine jetzigen test Die Dateien haben über
500000 Elemente. Die extrahierten Vektoren haben dann nur noch ein
paar tausend. Da stimmt beim zurückrechen der zeitstempel nicht mehr.
Hier mal ein Beispiel. Folgende Datensätze liegen vor:
Peak Vektor 1 = [1 0 0 0]
Peak vektor 2 = [1 0 0 0]
Peak Vektor 3 = [1 0 0 0]
Peak Werte von Band 1 = [ -1.87116675e-04 +6.73690811e-05j
-3.73210933e-05 +3.46032903e-05j
-3.82515136e-04 +5.63763548e-04j
-4.02121572e-04 -1.19002536e-04j]
Peak Werte von Band 2 = [ 0.00015192+0.00012837j
0.00011291+0.00010157j 0.00028497+0.00023856j
0.00012447+0.00010121j]
Peak Werte von Band 3 = [ 3.51970411e-05 -1.95676592e-04j
9.59062163e-05 -6.19327839e-05j
-1.20625962e-04 -1.87798141e-04j
1.16560026e-04 -2.71860717e-05j]
Wenn Du jetzt wüßtest das Die Messung bei 0 sek gestartet hat und
bei 600sek zu Ende war und es 500000 Werte gab, wie würdest
Du da die Zeit für die Werte aus den obigen Vektoren bestimmen ?
Wenn Dir nur diese Vektoren bekannt sind ohne den Zeit Vektor, wie willst
Du da auf die zeit zurück schließen. Die werte die ich extrahiere haben
ja keinen regelmäßigen Zeitabstand zueinander.
Hat man allerdings den Zeit Vektor:
Zeit werte = [0.0, 2.1489643551474629, 53.919469274609071, 126.74982487451582]
dann ist das zuordnen gleich viel leichter und ich brauche die Zeit Werte
für die x-Achse. An diesem Zeitvektor kannst man erkennen das
zwischem dem ersten und zweiten Peak nur c.a. 2 sek vergehen,
dagegen liegt zwischen dem zweiten und dritten peak 51 sek.
ich habe die Elemente in dem zeit Vektor mit 10000 multipliziert, damit
ich das besser bei dem bar() Elementen darstellen kann.
BlackJack hat geschrieben:Zu 3.): Dateien funktionieren so ein bisschen wie ein Tonband.
Gute Erklärung.
BlackJack hat geschrieben:Der Typcode 'f8' ist auch nicht das was Du willst,
Ok ich werde <numpy.complex64> nutzen.
Er gibt mir aber Fehler rauß:
TypeError: only integer arrays with one element can be converted to an index
Der Code dazu sieht jetzt so aus:
http://nopaste.debianforum.de/21653
BlackJack hat geschrieben:Gehören `a_p_1` und `a_pv_1` semantisch eigentlich zusammen?
Ja die a_p_1 zeigt nur ob es sich um einen gemessenen Peak Wert handelt
und a_pv_1(array_peakvalue_1) gibt den Wert des Peaks an.
BlackJack hat geschrieben:Könnte man dann auch noch mal in einer eigenen Klasse kapseln.
Ich fand die Lösung mit alle Zeit werte in einen Vektor und alle Peak
Werte in einen Vektor schon ziemlich gut. Das erleichtert die Erstellung
des Graphen ungemein.
BlackJack hat geschrieben:Und sind das immer *drei*? Könnte man das nicht generischer für `n` Datensätze implementieren? Durchnummerierte Namen machen mich immer ein wenig nervös.

Da hast Du auch einen wichtigen Punkt angesprochen. Zur zeit sind
es immer 3 Frequenzbereiche, also 3 Bänder. Dies könnte sich aber noch ändern. Sehe ich aber erstmal als optional an.