Formel kann nicht für weitere Berechnungen verwendet werden

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Re: Formel kann nicht für weitere Berechnungen verwendet wer

Beitrag von clag »

Hallo FelixDD,

eigentlich rechnet Calc doch recht zuverlässig.

Erste Vermutung ist C11 <> A80!?
Möglicherweise wird nur auf Grund des zugewiesenen Formats zweimal 0,03 angezeigt und tatsächlich sind die Werte unterschiedlich.
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Re: Formel kann nicht für weitere Berechnungen verwendet wer

Beitrag von clag »

deine Beschreibung belegt doch fast meine Vermutung
ein "sauberer" 0,03 Wert eingetragen liefert das korrekte erwartete WENN() Ergebnis,
der 0,03 Wert der per Formel errechnet wird offensichtlich nicht nicht.

welche Formel, mit welchen Werten, bei welcher Zellformatierung liefert denn die 0,03 ?
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Re: Formel kann nicht für weitere Berechnungen verwendet wer

Beitrag von clag »

erhöhe einmal in C2 die Nachkommastellen auf 16 und du wirst den Grund erkennen

allerdings schockiert mich dieser :shock:
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Re: Formel kann nicht für weitere Berechnungen verwendet wer

Beitrag von clag »

als erstes fällt mir berechnen mit "Genauigkeit wie angezeigt " ein
Menü > Extras > Einstellungen > Open Office Calc > Berechnen [x]Genauigkeit wie angezeigt
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Benutzeravatar
lorbass
********
Beiträge: 4116
Registriert: Mo, 01.05.2006 21:29
Wohnort: Bonn

Re: Formel kann nicht für weitere Berechnungen verwendet wer

Beitrag von lorbass »

… oder =RUNDEN(…;2)

Gruß
lorbass
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Re: Formel kann nicht für weitere Berechnungen verwendet wer

Beitrag von clag »

Hallo lorbass,

ja klar kann man das irgendwie weg drücken

aber ich bin ehrlich überrascht das Calc so einen "Schnitzer bringt"

bei irgendeiner Division mit Periode im Ergebnis könnte ich das ja noch verstehen
aber das Beispiel 10-9,9=0.09999999999996 zeigt da läuft was schief

mich würde jetzt mal interessieren ob es in allen AOO, OO, LO, das so knirscht
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Karolus
********
Beiträge: 7440
Registriert: Mo, 02.01.2006 19:48

Re: Formel kann nicht für weitere Berechnungen verwendet wer

Beitrag von Karolus »

clag hat geschrieben:erhöhe einmal in C2 die Nachkommastellen auf 16 und du wirst den Grund erkennen

allerdings schockiert mich dieser :shock:
Was ist daran schockierend ??

Wenn ich den Kreisumfang für einen Kreis mit einem Durchmesser von 10000 Kilometern (~entspricht etwa dem Erddurchmesser !! ) einmal mit einem Pi auf 15 Nachkommastellen gekürzt berechne und einmal mit 49 Nachkommastellen kommt exakt eine Differenz von sage und schreibe:

Code: Alles auswählen

 0,00003115997963469 Millimetern 
heraus.

Karolus
LO7.4.7.2 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO7.6.2.1 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
Benutzeravatar
lorbass
********
Beiträge: 4116
Registriert: Mo, 01.05.2006 21:29
Wohnort: Bonn

Re: Formel kann nicht für weitere Berechnungen verwendet wer

Beitrag von lorbass »

clag hat geschrieben:ich bin ehrlich überrascht das Calc so einen "Schnitzer bringt"
Mir ging es nicht um „Schnitzer“ oder mehr oder eher weniger bedeutsame technisch bedingte Ungenauigkeit, sondern um FelixDDs Frage
FelixDD hat geschrieben:Was macht man da am Dümmsten?
Und da kann man eben nach deinem Rezept die Genauigkeit global-galaktisch an die Anzeige koppeln oder sie flexibel, gezielt und punktuell mit den dafür vorgesehenen Mitteln nur dort fixieren, wo es aus irgendeinem Grund erforderlich ist.

Gruß
lorbass
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Re: Formel kann nicht für weitere Berechnungen verwendet wer

Beitrag von clag »

Hallo zusammen,

@ Karolus
dein Beispiel passt irgendwie gar nicht
"0,1" ist "0,1" fertig und wenn ich 20 Nachkommastellen einstelle haben es immer noch "0,100000000000000000000" zu sein
und wenn das Ergebnis 10-9,9=0,9999999999996 ist das schlicht falsch und hat nichts mit Erddurchmesser oder Pi zu tun.

@ lorbass

deine Sarkasmus ist Fehl am Platz
lorbass hat geschrieben: gezielt und punktuell
wie das Bitte ?
willst du erst alle Rechenoperationen auf korrekte Ergebnisse prüfen und dann gezielt RUNDEN() einsetzten um Fehler zu unterdrücken, hey ganz tolle Idee!


ich kann eure Motivation für die beiden Beträge nicht nachvollziehen
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Karolus
********
Beiträge: 7440
Registriert: Mo, 02.01.2006 19:48

Re: Formel kann nicht für weitere Berechnungen verwendet wer

Beitrag von Karolus »

Hallo
Clag, mein Beispiel soll verdeutlichen wie verdammt klein der Fehler da ist - schade das diese Relation bei dir nicht angekommen ist.

Und ja - das ist ein generelles Problem bei allen Programmen die auf nativen Binär-Fliesskomma-algoritmen der CPU aufsetzen -- die binäre FliessKomma- darstellung ist für die meissten Dezimalzahlen prinzipiell endlich genau

( ich musste für das obige Beispiel auch Bibliotheken benutzen die nicht mit normalen Fliesskommazahlen operieren.)

Karolus
LO7.4.7.2 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO7.6.2.1 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
Benutzeravatar
lorbass
********
Beiträge: 4116
Registriert: Mo, 01.05.2006 21:29
Wohnort: Bonn

Re: Formel kann nicht für weitere Berechnungen verwendet wer

Beitrag von lorbass »

clag hat geschrieben:deine Sarkasmus ist Fehl am Platz
Wieso „Sarkasmus“? Bild Was ist sarkastisch, wenn ich zwei grundlegend verschiedene Konzepte umreiße, die die Rechengenauigkeit von Calc in unterschiedlicher Weise beeinflussen?
clag hat geschrieben:
lorbass hat geschrieben:gezielt und punktuell
wie das Bitte ?
Na ja, einfach durch Verwendung der RUNDEN()-Funktion nur genau an den Stellen, an denen dies erforderlich ist. Eben im evidenten Gegensatz zu dem von dir beschriebenen „global-galaktisch“ Ansatz … oder „allumfassenden Ansatz“ [Sarkasmus ein]wenn dir das weniger sarkastisch erscheint.[/Sarkasmus aus]
clag hat geschrieben:willst du erst alle Rechenoperationen auf korrekte Ergebnisse prüfen und dann gezielt RUNDEN() einsetzten um Fehler zu unterdrücken, hey ganz tolle Idee!
Hmm, deine Idee!

Erklären kann ich mir deine Fehleinschätzung eigentlich nur damit, dass du selbst nach Karolus' Nachhilfe noch nicht verstanden zu haben scheinst, dass jeder x-beliebige Rechner immer mit begrenzter Genauigkeit arbeitet.

Gruß
lorbass
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Re: Formel kann nicht für weitere Berechnungen verwendet wer

Beitrag von clag »

hallo zusammen,

@ lorbass
deine pseudo Argumentation ist völlig daneben
lorbass hat geschrieben:Na ja, einfach durch Verwendung der RUNDEN()-Funktion nur genau an den Stellen, an denen dies erforderlich ist.
woher willst du Schlaumaier denn wissen in welchen der 50.000 Formeln einer Tabelle, Calc Fehler macht ohne diese zu prüfen?
Du hast einen Superman Röntgenblick der dir alle Zellen mit falschen Rechenergebnissen rot unterlegt anzeigt, damit du gezielt dein RUNDEN() anwenden kannst?
BRAVO hey super ist aber eher unwahrscheinlich und darum ist dein Argument der gezielten Anwendung Käse.


@ Karolus
Karolus hat geschrieben:mein Beispiel soll verdeutlichen wie verdammt klein der Fehler da ist
wie groß oder klein der Rechenfehler ist ist doch völlig nebensächlich,

Fakt ist, der Fehler ist da und führt zu falschen Ergebnissen in Calc
denn 10-9,9 ist eben 0,1 und nicht 0,999999999999996
daraus resultiert ein weitere Fehler nämlich das Calc fälschlicherweise das "10-9,9" und "0,1" als ungleich aus gibt
aus welchen Calc internen Unzulänglichkeiten das resultiert ist völlig egal.

Damit ist der Fehler nicht mehr klein sondern massiv nämlich ein zu 100% falsches Ergebnis

Das ist sehr wohl "schockierend"

denn woher soll man denn nun das Vertrauen nehmen das nicht noch viel mehr große oder klein Rechenfehler
in einer Calc Tabelle das Ergebnis völlig verfälschen

Das mindeste was ich und sicher alle andern User ebenso von von eine Tabellenkalkulation erwarten sind korrekte Rechenergebnisse.


Welcher Prozessorteil oder welche Emulation das bewerkstelligt oder ist unerheblich, das hat der Programmierer zu lösen
und der Programmierer hat ebenfalls für korrekte Ergebnisse zu sorgen ansonsten hat er versagt.


Hier ist aber das USERforum und es geht ausschließlich um die Ergebnisse und die sind falsch,
was du und auch lorbass nicht wahrhaben wollt und ihr wie pubertierende Jungrocker argumentiert
"wer meinen Freund (OO) anmacht den geb ich was auch die .. "

Wenn Calc ernst genommen werden will dürfen solche Fehler nicht sein
oder es ist weiter nur aus Spielwiese zu betrachten und für produktive Umgebung ungeeignet.

Denn wenn eine einfache WENN() Formel unbemerkt falsch auswertet, zerstört das den gesamten Sinn einer Kalkulation
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
paljass
******
Beiträge: 792
Registriert: Do, 25.10.2012 07:25

Re: Formel kann nicht für weitere Berechnungen verwendet wer

Beitrag von paljass »

Hey clag,
du hast übrgens vergessen, deine Unterschrift zu ändern - LG passt nun wirklich nicht zu deinem Text :lol:
Im Grunde gebe ich dir völlig recht - es handelt sich um einen Fehler (worauf auch immer er basiert), den man sich nicht schön reden kann, schon gleich gar nicht mit einem pi-Beispiel (pi ist eine Zahl mit unendlichen vielen Nachkommastellen).

Allerdings besteht aber auch gar kein Grund, deswegen beleidigend und aufbrausend zu werden; andere Menschen haben halt andere Ansichten.

Ich wünsche trotz des harschen Tones in diesem Thread allen Beteiligten, dass sie Ruhe bewahren und sich schöne Pfngsttage machen.

Gruß
paljass
EDV ist wie U-Boot fahren - machst du ein Fenster auf, fangen die Probleme an.
Axel Richter
****
Beiträge: 159
Registriert: So, 17.10.2010 16:54

Re: Formel kann nicht für weitere Berechnungen verwendet wer

Beitrag von Axel Richter »

Hallo Clag,
clag hat geschrieben:Fakt ist, der Fehler ist da und führt zu falschen Ergebnissen in Calc
denn 10-9,9 ist eben 0,1 und nicht 0,999999999999996
Ja, das ist ungenau. Aber das liegt daran, dass der Computer (*nicht* Calc) nunmal im Dualsystem rechnet und dazu der Subtrahend 9,9 ins Dualsystem gewandelt werden muss. Und 9/10 ist im Dualsystem ein periodischer Bruch 0,11100110011001100110011... Es wird bei solchen periodischen Brüchen irgendwo *immer* ein Genauigkeitsverlust auftreten.
clag hat geschrieben:daraus resultiert ein weitere Fehler nämlich das Calc fälschlicherweise das "10-9,9" und "0,1" als ungleich aus gibt
aus welchen Calc internen Unzulänglichkeiten das resultiert ist völlig egal.
Calc kann da nichts dafür und auch kein Programmierer. Das Problem liegt im Zahlensystem. Auch im Dezimalsystem ist 1/3 <> 0,3333333333... Nur da leuchtet es jedem ein, weil wir von Kindheit an im Dezimalsystem rechnen und diese Fälle kennen. Niemand würde erwarten, dass =(1/3=0,3333) WAHR ergeben sollte. Aber =(RUNDEN(1/3;4)=0,3333) ergibt WAHR.

Da liegt auch die Lösung: Wir wissen, dass beim Rechnen mit Kommazahlen, Vergleiche von Rechenergebnissen mit Fixwerten problematisch sein können. Also runden wir vor/bei solchen Vergleichen die Rechnenergebnisse auf die benötigte Genauigkeit.

viele Grüße

Axel
Benutzeravatar
lorbass
********
Beiträge: 4116
Registriert: Mo, 01.05.2006 21:29
Wohnort: Bonn

Re: Formel kann nicht für weitere Berechnungen verwendet wer

Beitrag von lorbass »

[Sarkasmus ein]
Pssst! Vorsicht, Axel! Du trampelst gerade auf einem dogmatisch verteidigten Weltbild rum, in dem kein Platz für Anwender-Fehler ist und es nur Anwendungs-Fehler gibt, für die grundsätzlich Programmierer verantwortlich sind. Mit deinen hellseherischen Fähigkeiten
Niemand würde erwarten, dass =(1/3=0,3333) WAHR ergeben sollte. Aber =(RUNDEN(1/3;4)=0,3333) ergibt WAHR.
stehst du als „Superman Röntgenblick“ schon mit einem Bein auf dem Scheiterhaufen.
[/Sarkasmus aus]

Gruß
lorbass
Antworten