Topic
Indirektionsoperator erzeugt 1 Datenreihe mit X Zeichenketten
Startseite ' Community ' Allgemein ' Indirektionsoperator erzeugt 1 Datenreihe mit X Zeichenketten
- Dieses Thema hat 2 Antworten sowie 2 Teilnehmer und wurde zuletzt vor vor 9 Jahren, 8 Monaten von Stefan Wyler aktualisiert.
-
AutorBeiträge
-
04.09.2015 um 18:02 Uhr #34582Stefan WylerTeilnehmer
Aus einem Ordner werden alle Namen der Formeln erfasst um aus diesen Formeln den Maximum Wert zu erfassen. Dies erzeugt 1 Datenreihe mit XX Zeichenketten.
Dies verunmöglicht die Ausgabe weil Einzelwerte verlangt sind, also eine Liste mit XX Elementen. Wie ist die Ausgabe (res) zu schreiben?Dim Daten, Path, Ind, DataSet, Freq, PSD, res
Daten = PSD_Auswertung.Objects(“.*.f*”).Names // Findet alle Formeln im Ordner PSD Auswertung
Path = PSD_Auswertung.FullName : “\”For Each Row i In Daten Do
DataSet = $Path : Daten[i]$ //Indirektionsoperator / Daten auslesen
Ind = GlobalMaximum(DataSet, EVENT_INDEX)
Freq = DataSet[Ind].X
PSD = DataSet[Ind].Y
res = List(String “”: Daten, Freq, PSD)End
res04.09.2015 um 18:02 Uhr #34584Stefan WylerTeilnehmerAus einem Ordner werden alle Namen der Formeln erfasst um aus diesen Formeln den Maximum Wert zu erfassen. Dies erzeugt 1 Datenreihe mit XX Zeichenketten.
Dies verunmöglicht die Ausgabe weil Einzelwerte verlangt sind, also eine Liste mit XX Elementen. Wie ist die Ausgabe (res) zu schreiben?Dim Daten, Path, Ind, DataSet, Freq, PSD, res
Daten = PSD_Auswertung.Objects(“.*.f*”).Names // Findet alle Formeln im Ordner PSD Auswertung
Path = PSD_Auswertung.FullName : “\”For Each Row i In Daten Do
DataSet = $Path : Daten[i]$ //Indirektionsoperator / Daten auslesen
Ind = GlobalMaximum(DataSet, EVENT_INDEX)
Freq = DataSet[Ind].X
PSD = DataSet[Ind].Y
res = List(String “”: Daten, Freq, PSD)End
res24.09.2015 um 10:27 Uhr #34583Bernhard KantzTeilnehmerAnbei der überarbeitete Quellcode:
[code]
Dim Daten, Path, Ind, DataSet, Freq, PSD, resDaten = PSD_Auswertung.Objects(“^.*\.fml$”).Names
Path = PSD_Auswertung.FullName : “\”For Each Row i In Daten Do
DataSet = $Path : Daten[i]$
Ind = GlobalMaximum(DataSet, EVENT_INDEX)
Freq = DataSet[Ind].X
PSD = DataSet[Ind].Y
res := List(Daten[i], Signal(PSD, Freq))End
res
[/code]
Hier eine kurze Erklärung der Korrekturen:[code]
PSD_Auswertung.Objects(“^.*\.fml$”).Names
[/code]
Dieser Ausdruck findet alle Formeln im Ordner “PSD_Auswertung “. Details:
“^“: gibt an, dass der Objektname beliebig beginnt.
“.*“: steht für eine beliebig lange Folge von beliebigen Zeichen.
“\.fml$”: legt fest, dass der Objektname mit “.fml” enden muss, d. h. dass das Objekt eine Formel sein muss.[code]
res := List(Daten[i], Signal(PSD, Freq))
[/code]
Dies erzeugt eine Liste als Resultat. Details:
“:“: Anhängeoperator zum Erweitern der Liste
“Daten[i]“: Einzelwert (Zeichenkette) als Name des Listenelements.
“Signal(PSD, Freq)“: Für die korrekte Syntax der List-Funktion ist hier ein Datensatzobjekt (statt zwei aufeinanderfolgende) erforderlich. Man kann hier z.B. die Signal-Funktion verwenden um PSD und Freq zu einem Signal zusammenzufassen. -
AutorBeiträge
- Du musst angemeldet sein, um auf dieses Thema antworten zu können.