Onkel Dagobert
Level-3
- Beiträge
- 5.816
- Reaktionspunkte
- 1.444
-> Hier kostenlos registrieren
Liebe Leute, bevor ihr morgen weiter macht, empfehle ich euch folgende Lektüre:
Wie genau kann ich mit REAL Zahlen rechnen, die in umfangreichen Formeln verwendet werden?
Entscheident ist folgende Aussage:
@ducati, was das für deinen Code bedeutet, kannst du dir selbst ableiten. Wenn man weniger viele Werte addiert, geht's mit Real noch gut. Ich habe es in meinen Bausteinen auch schon so gemacht. Richtig bzw. empfehlenswert ist es aber nicht.
@borromeus, du bist auf dem richtigen Weg. Ich weiß nicht was nach ducatis Aussage an der Rundung oder Berechnung nach falsch sein sollte. Bei der Addition ganzzahlige Werte gibt es keine Rundungsfehler. Ob die Genauigkeit dieser Werte nun bei einem oder bei zehn Prozent liegt, ist dabei scheiß egal.
Vielleicht wird es in deinen Code eingebaut deutlicher:
Das Ergebnis ist allerdings nicht der arithmetische Mittelwert. Die Gewichtung liegt auf dem aktuellen Messwert.
Wie genau kann ich mit REAL Zahlen rechnen, die in umfangreichen Formeln verwendet werden?
Entscheident ist folgende Aussage:
Die Exponenten werden angeglichen! Das bedeutet dass bei großen Unterschieden der Exponenten, Stellen der Mantisse einfach abgeschnitten werden. Das geht soweit, bis gar keine Stellen übrgig bleiben und somit keine Addition mehr stattfindet, bzw. nur noch eine Addition mit 0.0... Beim Addieren und Subtrahieren werden die Exponenten angeglichen. D. h. die Basis und die Exponenten sind beim Addieren und Subtrahieren gleich, es werden nur die Mantissen addiert...
@ducati, was das für deinen Code bedeutet, kannst du dir selbst ableiten. Wenn man weniger viele Werte addiert, geht's mit Real noch gut. Ich habe es in meinen Bausteinen auch schon so gemacht. Richtig bzw. empfehlenswert ist es aber nicht.
@borromeus, du bist auf dem richtigen Weg. Ich weiß nicht was nach ducatis Aussage an der Rundung oder Berechnung nach falsch sein sollte. Bei der Addition ganzzahlige Werte gibt es keine Rundungsfehler. Ob die Genauigkeit dieser Werte nun bei einem oder bei zehn Prozent liegt, ist dabei scheiß egal.
Was gibt es daran nicht zu verstehen? Kürzer und präziser kann man es doch garnicht beschreiben. In ducatis Code steckt das selbe Prinzip, nur halt mit Realzahlen... Deinen Gedanken mit: "den aktuellen Mittelwert anstatt des ältesten Wertes von der Summe zu subtrahieren." verstehe ich leider nicht...
Vielleicht wird es in deinen Code eingebaut deutlicher:
Code:
L #Summe_DI
L #Mittelwert // alter Mittelwert
-D
T #Summe_DI // alten Mittelwert von Summe abziehen
L #PV_IN
L 1.000000e+002
*R
RND
// T D [AR1,P#0.0] // neuer Wert
L #Summe_DI
+D
T #Summe_DI // neuen Wert zur Summe dazuaddieren
Zuletzt bearbeitet: