Prüfung von zwei Signalreihen

SupportCommunity FPScript Prüfung von zwei Signalreihen

Ansicht von 3 Beiträgen - 1 bis 3 (von insgesamt 3)
  • Autor
    Beiträge
  • #12776
    Sascha RiekSascha Riek
    Mitglied

    Hallo zusammen,

    ich benötige Hilfe zu folgendem Problem:

    Ich Habe zwei Signalreihen, je Y komponente – Bsp:
    Signal1 / Signal2
    0 / 0
    0 / 0
    12 / 0
    12 / 3
    0 / 0
    0 / 0

    Ich möchte jetzt prüfen zu welchen Zeitpunkt Signal1 >10 und Signal2 <2 war.

    Kann mit hier jemand helfen?

    #8442
    Sascha RiekSascha Riek
    Mitglied

    Hallo zusammen,

    ich benötige Hilfe zu folgendem Problem:

    Ich Habe zwei Signalreihen, je Y komponente – Bsp:
    Signal1 / Signal2
    0 / 0
    0 / 0
    12 / 0
    12 / 3
    0 / 0
    0 / 0

    Ich möchte jetzt prüfen zu welchen Zeitpunkt Signal1 >10 und Signal2 <2 war.

    Kann mit hier jemand helfen?

    #9249
    Bernhard KantzBernhard Kantz
    Moderator

    Wenn die beiden Signale jeweils dieselbe Zeitspur (X-Komponente) haben, reduziert sich das Problem auf das Finden gemeinsamer Indizes nach einer Ereignisisolation.
    Eine kleine Klippe ist die Bedingung größer bzw. kleiner statt größer oder gleich bzw. kleiner oder gleich, welche durch die entsprechenden FPScript-Funktionen ValuesAboveLevel() bzw. ValueBelowLevel() realisiert werden. Dies kann man durch Verwendung der jeweiligen anderen Funktion mit dem zusätzlichen Parameterflag EVENT_COMPLEMENT erreichen.
    Für die Verknüpfung der beiden Ereignisse stehen die Mengenoperationen auf Indexreihen (IndexAnd(), IndexOr(), IndexNot(), IndexAfter(), IndexBefore()) zur Verfügung. Im vorliegenden Fall leistet IndexAnd() das gewünschte.
    Zusammen ergibt sich der FPScrip-Code:

    
    Dim idx1 = ValuesBelowLevel(Signal1, 10, EVENT_INDEX + EVENT_COMPLEMENT)
    Dim idx2 = ValuesAboveLevel(Signal2,  2, EVENT_INDEX + EVENT_COMPLEMENT)
    Signal1.X[IndexAnd(idx1, idx2)]
    
Ansicht von 3 Beiträgen - 1 bis 3 (von insgesamt 3)
  • Du musst angemeldet sein, um auf dieses Thema antworten zu können.