Bremswegberechnung Frage an Mathematiker

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Horst_h
Beiträge: 74
Registriert: Mi 20. Mär 2013, 08:57

Re: Bremswegberechnung Frage an Mathematiker

Beitrag von Horst_h »

Hallo,
Beim Programmstart fülle ich ein Array, mit den Werten der Sollbremskurve.
Wenn der Timer dann aktiv wird, suche ich den zugehörigen Wert, der der Istgeschwindigkeit entspricht aus der Tabelle raus. Dieser Wert besagt dann, wie weit der Bremsweg wäre, wenn der Zug mit der derzeitigen Geschwindigkeit zum derzeitigen Zeitpunkt auf die Kurve treffen würde.
Dann bist Du nicht weiter als vor der Stellung der Frage.
Die Sollbremskurve beinhaltet ja das Wissen um die Beschleunigung und Geschwindigkeit.

Gruß Horst

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Bremswegberechnung Frage an Mathematiker

Beitrag von mschnell »

Aus einer Tabelle, die für einen typischen Bremsvorgang den Weg als Funktion der Zeit (an möglichst vielen Stützstellen) enthält kann er leicht eine Tabelle ableiten, die die Geschwindigkeit als Funktion der Zeit enthält.

In dieser Tabelle kann er die aktuelle Geschwindigkeit suchen und dann hat er für den aktuellen Bremsvorgang den Weg als Funktion der Zeit (sofern die weiteren Bedingung dem typischen Bremsvorgang entsprechen).

Wie gesagt, eine einfach zu realisierende Verbesserung wäre, statt direkt der Tabelle( = Treppenfunktion) eine lineare Interpolation (Geradenstücke) zu verwenden (sowohl für die Strecke als auch für die Geschwindigkeiten). Auch diese Funktion lässt sich leicht invertieren (zum Suchen der aktuellen Geschwindigkeit).

-Michael

haderlump
Beiträge: 188
Registriert: Fr 18. Jan 2013, 09:29
OS, Lazarus, FPC: Windows 10, Windows XP, Lazarus 1.6
CPU-Target: Celeron

Re: Bremswegberechnung Frage an Mathematiker

Beitrag von haderlump »

Michael
da ich die Werte ja nicht koninuirlich, sondern immer bei einem Timeraufruf auslese, ergibt sich damit automatisch eine Treppenförmige Angelegenheit, so dass die Tabelle für mich völlig ausreicht,

Horst mit deiner Aussage hast du natürlich recht, aber auch nicht.
Auch wenn ich nicht die ganze Mathe hier verstanden habe, habe ich zumindestens kapiert, dass ich nicht auf dem falschen Dampfer war. Und das ist ja schon viel wert.
Ich habe nun ein Ufer erreicht, und jetzt geht es weiter, es gibt noch viel zu tun.
Ein Aussenstehender (Ich bin Eisenbahner, und hatte während der Ausbildung mit Stellwerlen zu tun) ahnt man gar nicht, wie komplex eine vorbildgetreue Steuerung einer Moba sein kann.
Immerhin bin ich mittlerweilen bei ca. 7000 Zeilen Quältext. Und davon macht der Teil, der sich mit der Progoberfläche befasst, höchstens 5 % aus. Es gibt da sehr viele gegenseitige Abhängigkeiten zu beachten, Und das Programm soll einfach und gegen Fehler resistent zu bedinen sein.
So wird z.B. eine Fahrstraße dadurch eingestellt, dass man auf das Start- und Zielsignal klickt. Das Programm sucht sich dann selbst den besten Fahrweg heraus. Und das selbst in kompiziertesten Gleisanlagen. (das funktioniert schon einwandfrei) Die Fahrgeschwindigkeiten werden aus entsprechenden Tabellen der Lokwerte unter Berücksichtigung der vorbildentsprechenden Höchstgeschwindigkeit entnommen und dann timergesteuert beschleunigt. (So ein schöner langer Satz, ich hätte Jurist werden sollen :mrgreen: )
Der oben erwähnte Bremsvorgang ist dann ein Teil des Ganzen.
Wer sich dafür interessisrt, kann gerne das Programm mit einer Musteranlage zur privaten Nutzung von mir bekommen.
Es geht allerdings noch nicht alles.
Ich bin mit dem Programm von Delphi 2 nach Lazarus umgezogen, und es dauerte dann schon ein paar Wochen, bis der Kompiler mein Getippsel akzeptiert hatte.
Na ja, es gibt schon noch etliche Ecken wo noch Laufzeitfehler auftreten, oder wo etwas einfach noch nicht funktioniert.
Es gibt also schon noch viel zu tun.
Mein Gott, jetzt ist das schon wieder ein Roman geworden !! :shock: Bin ich eine Frau oder was :wink:

nothing for ungood
Fritz

Antworten