Geschwindigkeitsberechnung mit Variablen: Unterschied zwischen den Versionen

Aus RailRoad&Co.-Wiki
Zur Navigation springenZur Suche springen
K {{#translation:}}
Diese Seite wurde zum Übersetzen freigegeben
Zeile 5: Zeile 5:


<translate>
<translate>
== Geschwindigkeitsberechnung in TrainController ==
== Geschwindigkeitsberechnung in TrainController == <!--T:1-->


=== Messstrecke ===
=== Messstrecke === <!--T:2-->


<!--T:3-->
An zwei Orten weist man je einer Variablen die Uhrzeit zu  
An zwei Orten weist man je einer Variablen die Uhrzeit zu  
*'''t1'''=Aktuelle Zeit(Zeit) an Messstelle 1
*'''t1'''=Aktuelle Zeit(Zeit) an Messstelle 1
Zeile 17: Zeile 18:
:[[Datei:Messpunkt1.png|400px]]
:[[Datei:Messpunkt1.png|400px]]
:<translate>
:<translate>
<!--T:4-->
''Abb: Messpunkt 1''
''Abb: Messpunkt 1''


<!--T:5-->
Danach rechnet man die Realgeschwindigkeit aus:
Danach rechnet man die Realgeschwindigkeit aus:


<!--T:6-->
*'''v=s/t-delta*10000*3,6*Massstab'''
*'''v=s/t-delta*10000*3,6*Massstab'''


<!--T:7-->
Bei der Umsetzung der obigen Idee kann man problemlos die Fahrzeit zwischen 2 Messpunkten ermitteln, nicht aber die korrekte Geschwindigkeit des Zuges.
Bei der Umsetzung der obigen Idee kann man problemlos die Fahrzeit zwischen 2 Messpunkten ermitteln, nicht aber die korrekte Geschwindigkeit des Zuges.


=== Ganzzahlarithmetik in TrainController 9 und 10 ===
=== Ganzzahlarithmetik in TrainController 9 und 10 === <!--T:8-->


<!--T:9-->
:Herr Freiwald beschreibt im [https://www.freiwald.com/forum/viewtopic.php?p=265289#p265289 Forum] die Verwendung der Variablen so:
:Herr Freiwald beschreibt im [https://www.freiwald.com/forum/viewtopic.php?p=265289#p265289 Forum] die Verwendung der Variablen so:


<!--T:10-->
Die Berechnung funktioniert nur dann exakt, wenn man stillschweigend unterstellt, dass mit Gleitkommaarithmetik gearbeitet wird. Das aber ist nirgendwo so dokumentiert oder zugesichert.
Die Berechnung funktioniert nur dann exakt, wenn man stillschweigend unterstellt, dass mit Gleitkommaarithmetik gearbeitet wird. Das aber ist nirgendwo so dokumentiert oder zugesichert.


<!--T:11-->
In '''Zahlvariablen''' können nur ganze Zahlen gespeichert werden und auch die zugehörige Arithmetik beruht auf '''Ganzzahlarithmetik'''.
In '''Zahlvariablen''' können nur ganze Zahlen gespeichert werden und auch die zugehörige Arithmetik beruht auf '''Ganzzahlarithmetik'''.


<!--T:12-->
Wenn immer bei einem Softwareprogramm (nicht nur in TrainController) mit ganzzahligen Werten gerechnet wird, so ist es empfehlenswert, "vorsichtig zu programmieren" und die Formel so aufzubauen, dass Divisionen am Schluss der Berechnung ausgeführt werden, damit Runden oder Abschneiden auf ganzzahlige Werte erst ganz am Ende und nicht schon vorher als Zwischenergebnisse in die Berechnung einfließen.
Wenn immer bei einem Softwareprogramm (nicht nur in TrainController) mit ganzzahligen Werten gerechnet wird, so ist es empfehlenswert, "vorsichtig zu programmieren" und die Formel so aufzubauen, dass Divisionen am Schluss der Berechnung ausgeführt werden, damit Runden oder Abschneiden auf ganzzahlige Werte erst ganz am Ende und nicht schon vorher als Zwischenergebnisse in die Berechnung einfließen.


=== Gleitkommaarithmetik in künftigen Versionen ===
=== Gleitkommaarithmetik in künftigen Versionen === <!--T:13-->


<!--T:14-->
Vielleicht werden wir dies in einer '''zukünftigen Version''' (Upgrade, nicht Update) auf '''Gleitkommaarithmetik''' umstellen. In einem Update der Version 10 geht das nicht mehr, weil es eine inkompatible Änderung wäre. Es ist nämlich nicht auszuschließen, dass andere Anwender die bestehende Ganzzahlarithmetik derzeit ganz bewusst für bestimmte Zwecke ausnutzen.
Vielleicht werden wir dies in einer '''zukünftigen Version''' (Upgrade, nicht Update) auf '''Gleitkommaarithmetik''' umstellen. In einem Update der Version 10 geht das nicht mehr, weil es eine inkompatible Änderung wäre. Es ist nämlich nicht auszuschließen, dass andere Anwender die bestehende Ganzzahlarithmetik derzeit ganz bewusst für bestimmte Zwecke ausnutzen.


== Weblinks ==
== Weblinks == <!--T:15-->


<!--T:16-->
*Quelle: [https://www.freiwald.com/forum/viewtopic.php?p=265289#p265289 Forum]
*Quelle: [https://www.freiwald.com/forum/viewtopic.php?p=265289#p265289 Forum]
*TC-wiki: [[Special:MyLanguage/Messen der Geschwindigkeit|Messen der Geschwindigkeit]]
*TC-wiki: [[Special:MyLanguage/Messen der Geschwindigkeit|Messen der Geschwindigkeit]]

Version vom 15. Januar 2025, 17:25 Uhr

Verwendung
thumbs


Geschwindigkeitsberechnung in TrainController

Messstrecke

An zwei Orten weist man je einer Variablen die Uhrzeit zu

  • t1=Aktuelle Zeit(Zeit) an Messstelle 1
  • t2=Aktuelle Zeit(Zeit) an Messstelle 2
  • t-delta=t2-t1 vergangene Zeit zwischen 2 Messstellen
Abb: Messpunkt 1

Danach rechnet man die Realgeschwindigkeit aus:

  • v=s/t-delta*10000*3,6*Massstab

Bei der Umsetzung der obigen Idee kann man problemlos die Fahrzeit zwischen 2 Messpunkten ermitteln, nicht aber die korrekte Geschwindigkeit des Zuges.

Ganzzahlarithmetik in TrainController 9 und 10

Herr Freiwald beschreibt im Forum die Verwendung der Variablen so:

Die Berechnung funktioniert nur dann exakt, wenn man stillschweigend unterstellt, dass mit Gleitkommaarithmetik gearbeitet wird. Das aber ist nirgendwo so dokumentiert oder zugesichert.

In Zahlvariablen können nur ganze Zahlen gespeichert werden und auch die zugehörige Arithmetik beruht auf Ganzzahlarithmetik.

Wenn immer bei einem Softwareprogramm (nicht nur in TrainController) mit ganzzahligen Werten gerechnet wird, so ist es empfehlenswert, "vorsichtig zu programmieren" und die Formel so aufzubauen, dass Divisionen am Schluss der Berechnung ausgeführt werden, damit Runden oder Abschneiden auf ganzzahlige Werte erst ganz am Ende und nicht schon vorher als Zwischenergebnisse in die Berechnung einfließen.

Gleitkommaarithmetik in künftigen Versionen

Vielleicht werden wir dies in einer zukünftigen Version (Upgrade, nicht Update) auf Gleitkommaarithmetik umstellen. In einem Update der Version 10 geht das nicht mehr, weil es eine inkompatible Änderung wäre. Es ist nämlich nicht auszuschließen, dass andere Anwender die bestehende Ganzzahlarithmetik derzeit ganz bewusst für bestimmte Zwecke ausnutzen.

Weblinks


-- Uslex (Diskussion) 15:48, 13. Jan. 2024 (UTC)