Zum Inhalt

Kapitel 5 - Operatoren & Funktionen

Folgende Operatoren und Funktionen sind in Formelfeldern zulässig, wie zum Beispiel:

  • im Dialog Berechnung|Konfiguration, Registerkarte „Zielgrößen“, Typ f(x),
  • in Objektdialogen von PLF-Quellen in den Feldern „LwA“, „Dämmung“ und „Dämpfung“,
  • alks Bedingung im Dialog Objekte verändern,
  • im Feld „Unsicherheit“ auf Registerkarte „Allgemein“, Menü Konfiguration,
  • in Formel für Aufsummierung und für Ergebnis im Dialog Objekt-Scan usw.
== gleich
!= ungleich
>= größer gleich
> größer
<= kleiner gleich
< kleiner
++ energetische Addition
-- energetische Subtraktion
+ Addition
- Subtraktion
* Multiplikation
/ Division
( Klammer auf
) Klammer zu
max Maximalwert, z.B.: max(1,2) = 2
min Minimalwert, z.B.: min(1,2) = 1
pow Potenz: pow(a, b) = a^b
abs Absolutbetrag
log10 Logarithmus zur Basis 10
log Logarithmus zur Basis e
exp10 10 hoch x
exp e hoch x
sqrt Quadratwurzel
sin Sinus (Argument im Bogenmaß)
cos Cosinus
tan Tangens
ctg Cotangens
deg2rad Umwandlung Grad in Bogenmaß
rad2deg Umwandlung Bogenmaß in Grad
arcsin Arcussinus
arccos Arcuscosinus
arctan Arcustangens
iif iif(x, a, b) ist a wenn x!=0, b wenn x==0
rand(x,y) erzeugt Zufallszahl im Intervall x bis y
round(x,y) rundet die Zahl x auf die y-te Dezimale, z.B. round(1.23, 1) wird zu 1.2 gerundet.
floor(x) Ganzzahl von x, d.h.:
floor(x.5) = x
floor(-x.5) = -x-1
mod(x,y) berechnet den Modulo (d.h. den „Rest“) der Division von x geteilt durch y, z.B. als Bedingung zur Anzeige der Höhenlinien mit ganzzahliger Höhe HA: mod(HA,2)==0
del löscht einen Werte bei Anwendung der „Beliebigen Transformation“, z.B.:
x=x behält x-Koordinate bei
y=y behält y-Koordinate bei
z=iif(z!=0, z, del) wenn z-Koord.<>0, behalte Wert bei,
ansonsten Löschen
int interpoliert zwischen Werten bei Anwendung der „Beliebigen Transformation“, z.B.:
x=x behält x-Koordinate bei
y=y behält y-Koordinate bei
z=iif(z<0.1, int, z) wenn z-Koord.<0.1, interpoliere,
ansonsten Wert beibehalten

Beispiele

Beispiele für die Felder „Dämpfung“, „LWA“ und „Dämmung“ im Editierfenster von Punkt-, Linien- und Flächenquellen.

Ausdruck / Operatoren
((8+4+3.5+2)++17.5)-19) Kette arithmetischer Operationen
68++65+3 = 68++(65+3) = 71 Operator + geht vor Operator ++
SP_002++SP_005 dabei ist SP_002 und SP_005 eine Referenz auf ein Spektrum in der lokalen Bibliothek
SP_002 - 3 in jedem Frequenzband des Spektrums werden 3 dB von dem vorhandenen Wert abgezogen
x - 55 vermindert den vorhandenen Zahlwert um 55
x + 2 erhöht den vorhandenen Zahlwert um 2
x ++ 50 Addition von 50 dB zum vorhandenen Pegel unter Berücksichtigung der Pegeladditionsgesetze
x -- 50 Subtraktion von 50 dB vom vorhandenen Pegel
40 ++ 40 energetische Summe (40++40 = 43)
43 -- 40 energetische Subtraktion (43- -40 = 40)
40 + 40 arithmetische Summe (40 + 40 = 80)
80 - 40 arithmetische Subtraktion (80 - 40 =40)

Es können alle arithmetischen Ausdrücke oder Schachtelungen verwendet werden.

Benutzerdefinierte Funktionen

In CadnaA können auch benutzerdefinierte Funktionen durch Einbindung einer DLL-Datei (dynamic-link library) realisiert werden. Bei den mitgelieferten Daten befindet sich im Verzeichnis Support\CNA_FUNC ein Beispielprojekt (CNA_FUNC) und eine README.TXT Datei, in der die Einbindung einer DLL im einzelnen beschrieben wird. In jedem Falle ist jeweils einen Eintrag für jede Funktion in der CADNAA.INI Datei erforderlich und der Funktionsname muss in einem CadnaA-Formelfeld (z.B. im Feld LW_LI im Editierfenster einer Punktschallquelle) eingetragen sein.