FlexPro
HistoryBase
Engineering
Training
Downloads
FlexPro Support
Knowledge
Community
About us
References
Jobs
General Contact
List Of Retailers
FlexPro Support
EN
DE
FR
Placeholder
Products and Solutions
Support and Downloads
Company
Magazine
Contact Us
Language
MyWeisang

Account settings

Topic

Indirektionsoperator erzeugt 1 Datenreihe mit X Zeichenketten

Home page Community General Indirection operator generates 1 data series with X character strings

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • #34582
    Stefan Wyler
    Participant

    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
    res

    #34584
    Stefan Wyler
    Participant

    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
    res

    #34583
    Bernhard Kantz
    Participant

    Anbei der überarbeitete Quellcode:

    [code]
    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[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.

Viewing 3 posts - 1 through 3 (of 3 total)
  • You must be logged in to reply to this topic.