Hauptmenü

Rundungsproblem

Begonnen von hermannk, 13 Februar 2015, 21:28:29

Vorheriges Thema - Nächstes Thema

hermannk

To whom it may concern,

nachdem ich einige Gnuplots erstellt habe (außerhalb von FHEM) bin ich auf Folgendes gestoßen (siehe Anhang).

Ich war kurz davor, bei Gnuplot einen Fehlerreport zu schreiben, konnte die Unschönheit (Fehler?) aber in der Gnuplot-Version nicht nachvollziehen. Inzwischen ist's mir klar, warum.

Fall jemand den Code anpackt....

Gruß

Hermann

tonyf

hallo Hermann,

ich weiss nicht, wie es den andern hier geht,
ich verstehe abe nur (haupt)bahnhof.

was soll da an den plots falsch sein ?!

gruss
tony
INTEL DN2820FYKH NUC: 4 gb, 250 ssd hd als nas, fhem 5.6
cul 433 - IT aktoren - relaiskarte an raspberry pi

Icinger

Ich vermute, er meint das "112e-17" in seiner Temperatur-Skala :)

lg, Ici
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

rudolfkoenig

Ohne einen nachstellbaren Beispiel (.gpot Datei + Logdaten) wird es keinen Fix geben.
Ich heabe keine Zeit/Energie Stundenlang nach einem Beispiel zu suchen, wo 0 nicht korrekt gerundet wird.

hermannk

Hallo Rudolf,

Zitat von: rudolfkoenig am 14 Februar 2015, 08:28:06
Ohne einen nachstellbaren Beispiel (.gpot Datei + Logdaten) wird es keinen Fix geben.
Ich heabe keine Zeit/Energie Stundenlang nach einem Beispiel zu suchen, wo 0 nicht korrekt gerundet wird.

Hier sind die Dateien zum ersten Beispiel (da wo die 0 zu 112e-17 nicht-gerundet wird).

Beste Grüße

Hermann

hermannk

#5
Zitat von: rudolfkoenig am 14 Februar 2015, 08:28:06
Ohne einen nachstellbaren Beispiel (.gpot Datei + Logdaten) wird es keinen Fix geben.
Ich heabe keine Zeit/Energie Stundenlang nach einem Beispiel zu suchen, wo 0 nicht korrekt gerundet wird.

Dies sind die Daten zum zweiten Beispiel. Hier wird 7.6 zu 7.599 verziert. Die Plotfunktion kommt wohl nicht mit den konstanten Werten zurecht.


2015-02-13_14:53:59 CUL_WS_6 T: 7.5  H: 79.4
2015-02-13_14:56:53 CUL_WS_6 T: 7.5  H: 79.4
2015-02-13_15:28:53 CUL_WS_6 T: 7.6  H: 79.4
2015-02-13_15:43:25 CUL_WS_6 T: 7.6  H: 79.7
2015-02-13_15:46:20 CUL_WS_6 T: 7.6  H: 79.7
2015-02-13_15:49:14 CUL_WS_6 T: 7.6  H: 79.7
2015-02-13_15:55:03 CUL_WS_6 T: 7.6  H: 79.5
2015-02-13_15:57:58 CUL_WS_6 T: 7.6  H: 79.5
2015-02-13_16:00:52 CUL_WS_6 T: 7.6  H: 79.4
2015-02-13_16:03:47 CUL_WS_6 T: 7.6  H: 79.5


rudolfkoenig

Ich konnte das Problem nachstellen, habe aber erstmal nichts unternommen.

Die Texte sind das Ergebnis von sprintf("%g"), nach kurzem Herumspielen ist mir keine nebeneffektfreie Loesung eingefallen.
Wenn jemand eine solche praesentieren kann, dann her damit. Kurze Einzeiler wuerde ich einbauen, eine seitenlange Formatierfunktion ist mir nicht Wert, diese seltenen Faelle zu fixen.

Um die Aufgabe einfacher zu machen, hier sind die zu rundende Zahlen aus den Beispielen mit %.30f ausgegeben:
-0.800000000000000044408920985006
-0.600000000000000088817841970013
-0.400000000000000077715611723761
-0.200000000000000066613381477509
-0.000000000000000055511151231258
0.199999999999999955591079014994

7.599000000000000198951966012828
8.599000000000000198951966012828


Bitte daran denken, dass die Loesung auch das Problem aus dem letzten Bild (7.599/8.599) loesen sollte.