2017-11-08 1 views
2

Welche Art von Erklärung ist das?Modelica (Dymola) Erklärung mit Formel - Was ist das?

Real x = time^2;

kann ich es in einem model vor jedem equation oder algorithm Abschnitt.

Das Problem für mich ist, dass es keine statische parameter ist, sondern es hat eine Formel, die nicht statisch funktioniert - der Wert wird jedes Mal festgelegt.

Was für eine Deklaration ist das? Kurzes Modell oder kurze Funktionsdefinition? Neue Instanzen einer Klasse? Eine "Typ" -Klasse?

Jede Hilfe (vor allem mit einem Verweis auf entweder Fritzons oder Tillers Buch) wird mir helfen, nachts zu schlafen.

Antwort

4

Das ist eine bindende Gleichung in einer Variablendeklaration und es wird eine normale Gleichung während der Kompilierung des Modells werden. Siehe https://modelica.org/documents/ModelicaSpec34.pdf, Kapitel 8.

+0

Danke, Adrian. Es hat sich sicherlich so verhalten, als würde es in den Gleichungsabschnitt eingefügt (kein Algorithmusabschnitt, das habe ich überprüft). Nachdem ich Kapitel 8 der Spezifikation angeschaut habe, kann ich auch sehen, dass es klarer ist, Gleichungen in den Gleichungsabschnitt einzufügen und sie nicht hinter einer variablen Definition zu verstecken. (Vielleicht deshalb Fritzson die Möglichkeit, Gleichungen zu binden (4.2.1), enthält aber keine Beispiele.) –

+4

Der Grund für die Verwendung von Bindungsgleichungen ist, dass Sie sie ändern können. Verlängern Sie die Klasse und ändern Sie die Gleichung. –

4

Wenn Sie die Variable der Dialog Anmerkung ändern möchten könnte praktisch sein, zum Beispiel Real x = time^2 annotation(Dialog);

Verwandte Themen