Indirektionsoperator erzeugt 1 Datenreihe mit X Zeichenketten

SupportCommunity General Indirektionsoperator erzeugt 1 Datenreihe mit X Zeichenketten

Ansicht von 3 Beiträgen - 1 bis 3 (von insgesamt 3)
  • Autor
    Beiträge
  • #12888
    Stefan WylerStefan Wyler
    Teilnehmer

    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$ //Indirektionsoperator / Daten auslesen
    Ind = GlobalMaximum(DataSet, EVENT_INDEX)
    Freq = DataSet[Ind].X
    PSD = DataSet[Ind].Y
    res = List(String “”: Daten, Freq, PSD)

    End
    res

    #8548
    Stefan WylerStefan Wyler
    Teilnehmer

    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$ //Indirektionsoperator / Daten auslesen
    Ind = GlobalMaximum(DataSet, EVENT_INDEX)
    Freq = DataSet[Ind].X
    PSD = DataSet[Ind].Y
    res = List(String “”: Daten, Freq, PSD)

    End
    res

    #9408
    Bernhard KantzBernhard Kantz
    Moderator

    Anbei der überarbeitete Quellcode:

    
    Dim Daten, Path, Ind, DataSet, Freq, PSD, res
    
     Daten = \PSD_Auswertung\.Objects("^.*\\\.fml$").Names 
     Path = PSD_Auswertung\.FullName : "\\\"
    
     For Each Row i In Daten Do
     
        DataSet = $Path : Daten$
        Ind = GlobalMaximum(DataSet, EVENT_INDEX) 
        Freq = DataSet[Ind].X
        PSD = DataSet[Ind].Y
        res := List(Daten, Signal(PSD, Freq))
    
     End
     
    res
    
    

    Hier eine kurze Erklärung der Korrekturen:

    	
    \PSD_Auswertung\.Objects("^.*\\\.fml$").Names 
    

    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.

    	
    res := List(Daten, Signal(PSD, Freq))
    

    Dies erzeugt eine Liste als Resultat. Details:
    “:“: Anhängeoperator zum Erweitern der Liste
    “Daten“: 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.

Ansicht von 3 Beiträgen - 1 bis 3 (von insgesamt 3)
  • Du musst angemeldet sein, um auf dieses Thema antworten zu können.