Wie kann ich Spinnerreien von Excel ausgleichen?

Neue Frage »

Alex: Auf diesen Beitrag antworten »
Wie kann ich Spinnerreien von Excel ausgleichen?
Hallo Zusammen,

ich habe ein Problem mit Excel (ihr merkt, ich bin kein Mathematiker oder Physiker!) und zwar passiert bei mir immer folgendes:

Wenn ich z.B. den Sinus von 0° bzw. 180° oder Cosinus von 90° bzw. 270° etc. berechnen will, gibt mir Excel statt der Gewünschten 0 als Ergebnis irgendwas wie 6 E-17 oder so nen Quatsch an. Da ich Funktionen berechnen möchte, die zwischen 4 und 8 Zeilen lang sind und in denen diese Rechenoperation häufig vorkommt, hat das erstaunlich drastische Effekte auf die Form meiner Kurven. Meine Fragen lauten:

1. Liegt das an der Umrechnung vom Winkel ins Bogenmaß (Winkel * PI()/180) oder entwickelt Excel die Funktion einfach nicht vollständig bzw. nicht weit genug?

2. Wie kann ich diesen Effekt umgehen (ohne auf den Excel zu verzichten, das ist nämlich so bequem)? Kann ich die fehlenden Glieder einfach zu den von Excel berechneten addieren und wenn ja, was muss ich da eintippen (wie gesagt, ich bin kein Mathematiker!)

Vielen Dank für eure Hilfe!
Gruß aus Neuseeland...
Alex
MisterSeaman Auf diesen Beitrag antworten »

Unsinn entfernt.

Gruß

MisterSeaman
Poff Auf diesen Beitrag antworten »
RE: Wie kann ich Spinnerreien von Excel ausgleichen?
Nein, daran liegt das wohl nicht, das scheint ein ein Näherungsfehler
zu sein.

Quatsch wie 6 E-17 bedeutet 0,000 000 000 000 000 06

ähnliche Dinge machen die alten QBasic & Co auch :-oo


smile
Ben Sisko Auf diesen Beitrag antworten »

Zitat:
Original von MisterSeaman
ja, Bogenmaß und Grad ist ein ganz heißer Tip. Winkel in Grad rechnest Du mit dem Faktor in Bogenmaß um.


Das hat er/sie doch schon gemacht, siehe obiger Post.

Gruß vom Ben
MisterSeaman Auf diesen Beitrag antworten »

Hoppla ja natürlich. Erst lesen, dann posten. Augenzwinkern
Alex: Auf diesen Beitrag antworten »
@ Poff
Ich weiß schon was 6 E-17 bedeutet, aber wie kann ich das verhindern?
 
 
MisterSeaman Auf diesen Beitrag antworten »

Das geht dann wohl nicht, würde ich schätzen.

Welche Version hast Du denn? Mein OpenOffice rechnet richtig mit dem Sinus:

sin(0) = 0,00E+00

Vielleicht möchtest Du das einmal ausprobieren? Kostet nämlich nix... Kann man einfach runterladen.
Oder wie gesagt es könnte auch an der Version liegen...

Das ist aber nur eine Vermutung.
Poff Auf diesen Beitrag antworten »
RE: @ Poff
das musst irgendwie austricksen, bzw ausblenden.

|.....| < 10^-10 dann |.....| = 0

wie du das in Excel umsetzen könntest weiß ich aber nicht,
mit Excel kenn ich mich nicht aus.

Hab aber sehr ähnliches Problem bei QBasic etwa über die Methode
von oben ausgeblendet ....

Ich meine auch schonmal über dieses Prob bei Excel gelesen
zu haben, weiteres kann ich aber nicht dazu sagen.


smile
Ben Sisko Auf diesen Beitrag antworten »
RE: @ Poff
Wenn man nach Rundungsfehler Excel googelt (das ist übrigens ein neues Wort im Duden Big Laugh ), erhält man zahlreiche Ergebnisse. Vielleicht hilft´s?

Gruß vom Ben
MisterSeaman Auf diesen Beitrag antworten »

Ich fürchte, dass dieses "Angleichen" aber auch zu ziemlichen Schwankungen bzw. einem "Sprung" führen würde, wenn es für die Kurve schon wichtig ist, ob das Ergebnis 0 oder 6E-17 ist.
Alex: Auf diesen Beitrag antworten »
@ MisterSeaman
Wenn ich nur sin(0) eingebe, funktioniert es bei mir auch noch, wenn die Gleichung allerdings etwas länger wird, dann spinnt Excel manchmal etwas. Und wenn ich mir die Berechnungsschritte anzeigen lasse, dann kommt das auch nur jedes zweite mal innerhalb einer Gleichung vor.
Ich verwende übrigens Office XP.
mathemaduenn Auf diesen Beitrag antworten »

Hallo Alex,
6E-17 für 0 ist "eigentlich" ein relativ "normaler" Fehler von der Computergenauigkeit abhängig. Das ist schon unschön wenn der sich auf's Ergebnis auswirkt.Oder gings nur um die Darstellung. verwirrt Allgemeiner Tipp ist nur die beteiligten Funktionen so umzustellen das sie mit möglichst wenig Operationen(+-*/ usw.) berechenbar sind. Man kann auch noch nach Auslöschung(interner link) schauen. Du kannst die Funktion die Du berechnen willst ja mal posten vielleicht erkennt man was.
gruß
mathemaduenn
Edit: Du könntest bei so wenig beteiligten Winkeln auch eine Tabelle mit den Werten verwenden. Falls es um die Ausgabe geht man kann doch best. ein Zahlenformat 2 Nachkommastellen oder so angeben.
Alex: Auf diesen Beitrag antworten »

Da hab ich auch schon einiges ausprobiert. Allerdings habe ich jetzt rausgefunden, dass wenn das Bogenmaß separat berechnet und dann die langen Gleichungen mit dem vorberechneten Bogenmaß füttert, der Fehler deutlich geringer wird.
Da ich allerdings 22 Kurven aus durchschnittlich je ca. 3 Tabellen mit jeweils 90 Zeilen und 180 Spalten berechnen möchte und in jeder dieser Zellen sin oder cos zwischen 10 und 36 mal mit drei verschiedenen Winkeln vorkommt, macht es wenig Sinn, an einzelnen Zellen herumzudoktern. Daher hatte ich gedacht, jemand von euch wüsste vielleicht eine Lösung, wie man den Sinus oder Cosinus duch ein paar von Excel nicht berechnete Glieder ergänzen kann, ohne dass die richtigen Berechnungen plötzlich falsch werden. Aber nachdem trotz 109 Hits keiner was wusste, scheint das nicht so einfach zu sein...

Vielen Dank trotzdem!
Alex
Ben Sisko Auf diesen Beitrag antworten »

Hm, in der Excel-Hilfe steht, dass Excel mit einer Genauigkeit von 15 Stellen rechnet. Das lässt sich wohl leider nicht ändern unglücklich
MisterSeaman Auf diesen Beitrag antworten »

Ich will ja nicht als Schleichwerber verschrien werden, aber Open Office scheint auf 20 Stellen genau rechnen zu können.
Poff Auf diesen Beitrag antworten »

Bei Gleitkommaberechnungen gibts einige 'Tricks' wie sich die
Gesamtgenauigkeit erhöhen lässt.

So ist es wenn ich nicht irre z.B. besser mit 0.5 zu multiplizieren
anstatt durch 2 zu dividieren (mal als Beispiel) ;-/

auch die Reihenfolge spielt eine wichtige Rolle. Stets geeignete
Werte gegeneinander verrechnen, damit die Rechnung nicht
einseitig aus dem Ruder laufen kann ...


Nur, dein eigentliches Prob wird sich damit nicht einfangen lassen


Augenzwinkern




Zitat:
Original von MisterSeaman
Ich will ja nicht als Schleichwerber verschrien werden, aber Open Office scheint auf 20 Stellen genau rechnen zu können.



dann bekommst eben e-19 er Resultate . Augenzwinkern
Alex: Auf diesen Beitrag antworten »

Na immerhin, 20 statt 15 Stellen, das klingt doch gar nicht so schlecht. Ich werds mal ausprobieren, vielleich hilfts ja...
Vielen Dank für den Tip
Alex
mathemaduenn Auf diesen Beitrag antworten »

Hallo Alex,
Zitat:
Original von Alex:
Allerdings habe ich jetzt rausgefunden, dass wenn das Bogenmaß separat berechnet und dann die langen Gleichungen mit dem vorberechneten Bogenmaß füttert, der Fehler deutlich geringer wird.

Verwendest Du die gleichen Winkel öfters?
gruß
mathemaduenn
mathemaduenn Auf diesen Beitrag antworten »

Hallo Poff,
Zitat:
Original von Poff
So ist es wenn ich nicht irre z.B. besser mit 0.5 zu multiplizieren
anstatt durch 2 zu dividieren (mal als Beispiel) ;-/

Das ist mir neu. Hast Du die Möglichkeit diese Information zu prüfen?
Zitat:
Original von Poff
auch die Reihenfolge spielt eine wichtige Rolle. Stets geeignete
Werte gegeneinander verrechnen, damit die Rechnung nicht
einseitig aus dem Ruder laufen kann ...

Meinst Du hier Auslöschung?
gruß
mathemaduenn
Poff Auf diesen Beitrag antworten »

Hallo mathemaduenn,

Zur Multiplikation,

ich sagte extra 'wenn ich nicht irre' (unterstützt durch Smilie),
es kann also durchaus falsch sein und sich stattdessen auf die
Rechengeschwindigkeit beziehen.
Eins von beiden ist müsste aber zutreffend sein.
(oder hat diese IEXX HW-Norm das alles beseitigt ?)

nein prüfen kann ich das nicht.


Auslöschung, der Begriff ist MIR zwar neu, aber allein vom
Gefühl her würde ich sagen das könnte die richtige Richtung sein.


smile
Ben Sisko Auf diesen Beitrag antworten »

Produziert Auslöschung nicht das genau umgekehrte Phänomen? Das eine 0 dort steht, wo gar keine stehen sollte?

Also sowas wie 0,01*0,01=0, weil man nur mit 2 Nachkommastellen rechnet.

Gruß vom Ben
mathemaduenn Auf diesen Beitrag antworten »

Hallo Poff,
Zitat:
Original von Poff
es kann also durchaus falsch sein und sich stattdessen auf die
Rechengeschwindigkeit beziehen.

So hatte ich das in Erinnerung war mir aber nicht mehr sicher. Deshalb die Frage.
@Ben
Auslöschung bezieht sich auf die Addition
Etwa so: Ein computer rechne mit 4 Stellen
a=12
a=a+0.001(a wäre also jetzt 12.00 wg. der Genauigkeit)
a=a-12
a=a-0.001
a sollte jetzt eigentlich null sein. Die Computerrechnung sagt aber a=-0.001
So etwas könnte also z.B. solch einen Fehler verursachen. Und das meinte Poff wahrscheinlich als er von "geeigneten Werten" schrieb.
gruß
mathemaduenn
Ben Sisko Auf diesen Beitrag antworten »

Zitat:
Original von mathemaduenn
Etwa so: Ein computer rechne mit 4 Stellen
a=12
a=a+0.001(a wäre also jetzt 12.00 wg. der Genauigkeit)
a=a-12 hier
a=a-0.001


Bei hier ist doch eine Null, wo keine hingehört, wie ich gesagt habe Augenzwinkern
mathemaduenn Auf diesen Beitrag antworten »

Hallo Ben,
Du hattest geschrieben wenn man mit 2 Nachkommastellen rechnet. Dann ist nat. 0.01*0.01=0. Normale Computerrechnung funktioniert aber ja so das man mit fester Anzahl gültiger Stellen rechnet(Mantisse/Exponent). Mit anderen Worten der relative Fehler ist kontrolliert klein ist,während der absolute mitunter stark schwanken kann. Mit fester Anzahl Nachkommastellen gerechnet ist's nat. genau umgekehrt.
gruß
mathemaduenn
riwe Auf diesen Beitrag antworten »
RE: Wie kann ich Spinnerreien von Excel ausgleichen?
hallo,
da führen viele wege nach rom
wenns nur um die optik geht, kannst du über format deine anzeige (auf beliebige dezimalen) einstellen --> format --> zellen --> z.b zahl,
da rechnet excel intern aber mit der ganzen wurst!

wenn du eingibst (wo jetzt vermutlich) = sin(zelle) steht:
= runden() bei dir wohl round(sin(a);anzahl der stellen) schneidet excel ab

wenns gar nicht anders geht, dann mit der wenn (if) -funktion:

= if(zellwert> schwellwert;sin(a);0),
den schwellwert kannst du z.b. so wählen, dass du keine e-27 werte hast

wenn das alles nicht hilft,nimm ein neues tabellenblatt,
das wirkt oft wunder

ich hoffe es, paßt, sonst frag noch mal
werner

ich vermute allerdings. dass dein problem woanders liegt,kannst ja mal schicken, was du in excel machst oder das ganze arbeitsblatt - mit nicht geheimen daten,
dann funktioniert es nachher garantiert.


habs mir noch einmalüberlegt,
wenn du sozusagen einmal +E-15 und dann -E-15 statt 0 bekommst, könnten schon irgendwelche "minifluktuationen" im graphen entstehen,

wenn du also z.b deine werte in spalte A hast, gib ein:

= if(abs(A1) > 0,001;sin(A1);0) und zieh das halt dan runter
(0,001 als schranke frei wählbar)
werner
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »