-
FlexPro
- Auf einen Blick
- Features & Optionen
- Einsatzgebiete
- Alle Vorteile
- Neu in FlexPro 2021
- FlexPro gratis testen
- FlexPro View OEM Freeware
- Kaufberatung
- Login
- Language
- +49 6894 929600
- infoweisang.com
- Google Maps
- Produkte
- News
- Support
- Unternehmen
- Jobs
- Kontakt
- Login
- Language
- +49 6894 929600
- infoweisang.com
- Google Maps
Division durch Null
- Dieses Thema hat 5 Antworten sowie 2 Teilnehmer und wurde zuletzt vor vor 18 Jahren, 8 Monaten von Martin Uellenberg aktualisiert.
-
AutorBeiträge
-
März 3, 2006 um 6:24 pm Uhr #12513Martin UellenbergMitglied
Hallo,
ich möchte die y-Werte von zwei Signalen (Signal1 und Signal2) durcheinander dividieren. Sobald der Wert des Divisors = 0 ist, bekomme ich natürlich eine Fehlermeldung (Division durch Null). Wie kann ich mit FPScript dafür sorgen, dass bei einer Division durch Null eine Null als Ergebnis hinterlegt wird ?
Danke und Gruß
UlliMärz 3, 2006 um 6:24 pm Uhr #8176Martin UellenbergMitgliedHallo,
ich möchte die y-Werte von zwei Signalen (Signal1 und Signal2) durcheinander dividieren. Sobald der Wert des Divisors = 0 ist, bekomme ich natürlich eine Fehlermeldung (Division durch Null). Wie kann ich mit FPScript dafür sorgen, dass bei einer Division durch Null eine Null als Ergebnis hinterlegt wird ?
Danke und Gruß
UlliMärz 3, 2006 um 11:36 pm Uhr #8825Bernhard KantzTeilnehmerIn this case you can use the Try…Catch…End statement.
Example:
Dim a, b a = 1. b = 0 Try return a/b Catch Exception return ? End
März 6, 2006 um 6:04 pm Uhr #8826Martin UellenbergMitgliedHallo,
danke für die Antwort. Leider komme ich damit noch nicht zurecht. Nochmal mein Problem. Ich möchte zwei Signale (Signal1 und Signal2) durcheinander dividieren. An den Stellen, wo eine Division durch Null stattfindet, soll eine Null als Ergebnis raus kommen. Mit oben angegebener Lösung bekomme ich immer nur einen Wert als Ergebnis. Nicht aber einen neuen Datensatz (mit gleicher Werteanzahl wie Signal1 und Signal2).
Wie sieht die Formel dafür aus ?
Danke und Gruß
MartinMärz 6, 2006 um 7:51 pm Uhr #8827Bernhard KantzTeilnehmerThere is a difference if the Y component of the signal contains integer or floating point values. If the signal contains integer values an exception will be thrown in case of a division by zero (see sample above).
With floating point values no exception is thrown, but the result will contain an invalid value (?) at the places where a division by zero occured.
The different behavior stems from the fact that there is no possibility to express an invalid value with integer values.This what you have to do: Execute the division as usual. Search and replace the invalid values by 0 afterwards:
dim a, b, c a = { 1., 2., 3., 4., 5., 6. } b = { 3, 0, 2, 0, 11, 0 } c = a / b c[SearchVoidValues(c)] = 0
Support
support@weisang.comMärz 6, 2006 um 9:32 pm Uhr #8828Martin UellenbergMitgliedVielen Dank. So funktioniert es.
-
AutorBeiträge
- Du musst angemeldet sein, um auf dieses Thema antworten zu können.