Neuen Kanal aus zwei vorhandene berechnen mittels For-Schleife

  • Hallo zusammen,


    ich beschäftige mich seit kurzem mit Famos zur Datenanalyse und stehe vor meinem ersten Problem.


    Ich habe eine Messung und möchte aus zwei vorhandenen Kanälen einen neuen berechnen, indem der Quotient der ersten beiden gebildet wird.

    Eigentlich nix wildes, allerdings sind die Einzelwerte der vorhandenen Werte auch "0. Daher soll die Berechnung des Quotienten nur dann erfolgen,

    wenn die aktuellen Werte der vorhandenen Kanäle "ungleich 0" sind.


    Ich habe mir gedacht, das sollte mit einer For-Schleife doch eigentlich gehen...


    Kanal_neu = 0

    n = Leng?(Kanal_A)

    For i = 1 to n

    if Kanal_A(i) <> 0 & Kanal_B(i) <> 0

    Kanal_neu(i) = Kanal_A / Kanal_B

    end

    else Kanal_neu(i) = 0

    end

    end


    Kanal_A und Kanal_B sind beide zeitabhängig und haben die gleiche Länge.

    Kanal_neu sollte nach der Berechnung natürlich die gleiche Länge haben wie Kanal_A und Kanal_B.


    Ich habe versucht es in der Form im Famos zu programmieren, allerdings bekomme ich maximal den ersten

    Wert berechnet und diesen als Skalar dann angezeigt. Ein neuer Kanal mit entsprechender Länge kommt nicht

    dabei raus und ich stehe grade mega auf dem Schlauch.


    Ich würde mich mega freuen, wenn Ihr mir hier ein Beispiel zeigen könntet, wie sich meine Berechnung

    programmieren lassen könnte.


    1000. Dank und viele Grüße,


    Sebastian



    PS: die Berechnung ist sicher ganz einfach. Aber ich oute mich einfach mal als absoluter "Nicht-Programmierer";(

  • Mampfbackenhamster

    Hat den Titel des Themas von „Neuen Kanal aus zwei vorhandene berechnen mittels If-Schleife“ zu „Neuen Kanal aus zwei vorhandene berechnen mittels For-Schleife“ geändert.
  • Was soll denn im Falle "Nenner gleich 0" passieren? Welchen Wert soll der Zielkanal haben?

    Im Code-Beispiel oben hast du runde Klammern für die Inidzierung verwendet. Ich schätze mal, du meintest eckige Klammern.

    Für den Fall, dass der Zähler gleich 0 ist, willst du auch keine Berechnung machen?


    Was ist der physikalische Hintergrund?


    Ich würde den "Kanal_neu" mit einem der beiden Kanäle initialisieren. Oder einer Rampe, die die gleiche Länge hat.

    Ansonsten hast du ja "Kanal_neu" mit einem "Einzelwert" initialisiert.


    Was genau passiert beim Ausführen deines Codes? Bricht er mit einem Fehler "falsche Indizierung" ab?