Formel erstellen
Sie können in Vissim in folgenden Anwendungsfällen eine Formel im integrierten Formeleditor erstellen:
- Wenn Sie ein benutzerdefiniertes Attribut definieren und den Datenquellen-Typ Formel auswählen (Benutzerdefinierte Attribute anlegen)
- Wenn Sie in einer Attributliste die Spalte Formel einblenden und darin auf die Schaltfläche
klicken (Attribute von statischen Fahrzeugrouten), (Attribute von statischen Fußgängerrouten), (Register Einsteiger)
Der Formeleditor bietet folgende Funktionen:
Symbol | Beschreibung |
---|---|
|
Operand einfügen (z.B. Attribut): Ein Fenster mit den Attributen des im Feld Objekttyp ausgewählten Netzobjekttyps öffnen und ein Attribut als Term auswählen. Der Term wird blau eingefügt. |
Symbol | Beschreibung |
---|---|
|
Operator einfügen (z.B. +, -, *, /): Operator auswählen, der den Term mit einem weiteren Term verbindet. Der Operator wird schwarz eingefügt. |
Symbol | Beschreibung |
---|---|
|
Funktion einfügen (z.B. Min, Max, Exp): Fenster Funktion einfügen öffnen und Funktion für die Formel auswählen. Die Funktion wird grünblau eingefügt. |
Mögliche Funktionen:
Abrunden (x) |
Gibt die größte ganze Zahl, die kleiner oder gleich x ist. An der Cursorposition wird FLOOR() eingefügt. |
Abs (x) |
Absolutbetrag von x |
Abschneiden (x) |
Schneidet die Dezimalstellen von x ab. An der Cursorposition wird TRUNCATE() eingefügt. |
ArcSin (x) |
Arkussinus von x |
ArcCos (x) |
Arkuskosinus von x |
ArcTan (x) |
Arkustangens von x |
Aufrunden (x) |
Gibt die kleinste ganze Zahl, die größer oder gleich x ist. An der Cursorposition wird CEIL() eingefügt. |
Cosinus (x) |
Kosinus von x |
Div (x; y) |
Bildet den ganzzahligen Quotienten aus xund y. |
Farbe (a; r; g; b;) |
Legt Farbwert fest. a: Alpha-Transparenz, r: Rot, g: Grün, b: Blau |
Exp (x) |
Bildet die Exponentialfunktion von x. An der Cursorposition wird EXP() eingefügt. |
GEH Statistik (x; y) |
Berechnet die GEH-Statistik für x und y. An der Cursorposition wird GEH(;) eingefügt. Die GEH-Statistik ist eine in der Verkehrsmodellierung weitverbreitete empirische Formel für die Analyse von Werten. Die Formel hat folgende Form:
wobei: M: modellierte Werte C: gezählte Werte |
Kehrwert (x) |
Entspricht 1/x. An der Cursorposition wird RECIPROCAL() eingefügt. |
Ln (x) |
Bildet den natürlichen Logarithmus von x. An der Cursorposition wird LN() eingefügt. |
Max (x; y) |
Bildet das Maximum von x und y |
Min (x; y) |
Bildet das Minimum von x und y |
Modulo (x; y) |
x modulo y |
Potenz (x; y) |
Entspricht x^y. An der Cursorposition wird POW(;) eingefügt. |
Prozent (x; y) |
Entspricht 100*x/y. An der Cursorposition wird PERCENT(;) eingefügt. |
Runden (x; p) |
Rundet x auf p Nachkommastellen. p ist optional. An der Cursorposition wird ROUND(;) eingefügt. |
Sin (x) |
Sinus von x |
Text nach Zahl ("x") |
Konvertiert eine Zeichenfolge in eine Fließkommazahl. Als Dezimaltrennzeichen geben Sie einem Punkt ein. In der Zeichenfolge sind nicht gültig: Leerzeichen am Anfang und Ende sowie nicht-numerische Zeichen, ausgenommen +, -, e/E. An der Cursorposition wird TEXTTONUM() eingefügt. |
Tan (x) |
Tangens von x |
Wenn (b; w; f) |
Bedingte Verzweigung. Gibt w aus, wenn b wahr ist. Gibt f aus, wenn b falsch ist. An der Cursorposition wird IF(;;) eingefügt. |
Wurzel (x) |
Bildet die Quadratwurzel von x. An der Cursorposition wird SQRT() eingefügt. |
Zahl nach Text (x) |
Konvertiert eine Fließkommazahl in eine Zeichenfolge. An der Cursorposition wird NUMTOTEXT() eingefügt. |
Extrahiere Teilstring("x", "s", n) |
Extrahiert aus einem String "x" unter Verwendung des Trennzeichens "s" den "n"-ten Teilstring. Beispielsweise können Sie so die Nummer der zweiten Strecke aus der Streckenfolge einer Fahrzeugroute extrahieren. |
Symbol | Beschreibung |
---|---|
|
TableLookup einfügen: Fenster TableLookup einfügen öffnen und eine Funktion des Typs TableLookup in die Formel einfügen. Sie wählen einen Attributwert eines Netzobjekttyps aus und bearbeiten diesen in der Formel weiter. Die TableLookup-Funktion wird grünblau eingefügt.
Neben den Netzobjekttypen können Sie weitere Objekttypen auswählen. Beispielsweise Netzeinstellungen (NETPARA), der einen benutzerdefinierten Wert enthält. Dabei verwenden Sie für die Bedingung der TableLookup-Funktion beispielsweise den Wert 1 für WAHR.
|
Die Funktion TableLookup muss im Eingabefeld folgendem Schema entsprechen: TableLookup(<Objekttyp> <Variablenname>;(<Bedingung>);(<Ergebnis>) Die Elemente setzen sich zusammen aus: TableLookup(<Objekttyp: englischer Name in Großbuchstaben> <eingegebener Variablenname>; (<Bedingung beispielsweise <eingegebener Variablenname>[<englischer Attribut-Kurzname>]=<Eigenschaft>>);(<Ergebnis beispielsweise <Bezeichner>[<Attribut-Kurzname>]>)) |
Symbol | Beschreibung |
---|---|
|
Klammern einfügen: Öffnende und schließende Klammer einfügen:
|
Simulationslauf kann formelbasierte Daten beeinflussen
Wenn für die Formel ausgewählte Attribute auf dynamischen Daten basieren, die sich während eines Simulationslaufs ändern können, können sich auch die Werte des benutzerdefinierten Attributs ändern, wenn diese während eines Simulationslaufs in einer Ergebnisliste oder Attributliste angezeigt werden.
Formeln in irrelevant gekennzeichneten Feldern bearbeiten
Irrelevante Attribute können beispielsweise durch COM-Funktionen während eines Simulationslaufs relevant werden. Deshalb können Sie Formeln auch in irrelevant gekennzeichneten Feldern bearbeiten.
Zeilenumbruch einfügen
- ► Innerhalb einer Zeichenkette fügen Sie an der gewünschten Position \n ein.
- ► Außerhalb einer Zeichenkette drücken Sie an der gewünschten Position die Eingabetaste.
Syntaxfehler sind rot gekennzeichnet
Vissim markiert Syntaxfehler in einer Formel rot. Eine Meldung unter dem Eingabefeld für die Formel gibt Hinweise zur möglichen Ursache des Syntaxfehlers.
Verhalten bei aufeinanderfolgenden Vergleichen in Formeln
Berücksichtigen Sie bei der Erstellung einer Formel, die aufeinanderfolgende Vergleiche enthalten soll, dass diese in Formeln nach Boolscher Algebra nicht assoziativ sind, sondern in Zweier-Gruppen zusammengefasst und ausgewertet werden:
Beispiel:
1 < 4 < 2 wird zusammengefasst und ausgewertet als (1 < 4) < 2:
Dabei ist (1 < 4) = wahr
wahr = 1
Es gilt in der Formel:
1 < 2
Unterschiedlicher Datentyp in Formel und Attribut
Falls die Formel eine Zahl ergibt, das Zielattribut jedoch eine Zeichenkette ist, konvertiert Vissim die Zahl in eine Zeichenkette.