Wie kann ich Spinnerreien von Excel ausgleichen? |
02.09.2004, 01:58 | Alex: | Auf diesen Beitrag antworten » | ||||
Wie kann ich Spinnerreien von Excel ausgleichen? 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 |
||||||
02.09.2004, 02:13 | MisterSeaman | Auf diesen Beitrag antworten » | ||||
Unsinn entfernt. Gruß MisterSeaman |
||||||
02.09.2004, 02:20 | 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 ![]() |
||||||
02.09.2004, 02:22 | Ben Sisko | Auf diesen Beitrag antworten » | ||||
Das hat er/sie doch schon gemacht, siehe obiger Post. Gruß vom Ben |
||||||
02.09.2004, 02:23 | MisterSeaman | Auf diesen Beitrag antworten » | ||||
Hoppla ja natürlich. Erst lesen, dann posten. ![]() |
||||||
02.09.2004, 02:40 | Alex: | Auf diesen Beitrag antworten » | ||||
@ Poff Ich weiß schon was 6 E-17 bedeutet, aber wie kann ich das verhindern? |
||||||
Anzeige | ||||||
|
||||||
02.09.2004, 02:54 | 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. |
||||||
02.09.2004, 02:55 | 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. ![]() |
||||||
02.09.2004, 03:02 | Ben Sisko | Auf diesen Beitrag antworten » | ||||
RE: @ Poff Wenn man nach Rundungsfehler Excel googelt (das ist übrigens ein neues Wort im Duden ![]() Gruß vom Ben |
||||||
02.09.2004, 03:03 | 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. |
||||||
02.09.2004, 05:17 | 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. |
||||||
02.09.2004, 09:53 | 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. ![]() 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. |
||||||
03.09.2004, 01:23 | 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 |
||||||
03.09.2004, 01:35 | 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 ![]() |
||||||
03.09.2004, 01:53 | 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. |
||||||
03.09.2004, 01:59 | 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 ![]()
dann bekommst eben e-19 er Resultate . ![]() |
||||||
03.09.2004, 07:09 | 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 |
||||||
03.09.2004, 21:20 | mathemaduenn | Auf diesen Beitrag antworten » | ||||
Hallo Alex,
Verwendest Du die gleichen Winkel öfters? gruß mathemaduenn |
||||||
03.09.2004, 21:26 | mathemaduenn | Auf diesen Beitrag antworten » | ||||
Hallo Poff,
Das ist mir neu. Hast Du die Möglichkeit diese Information zu prüfen?
Meinst Du hier Auslöschung? gruß mathemaduenn |
||||||
04.09.2004, 00:22 | 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. ![]() |
||||||
04.09.2004, 00:33 | 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 |
||||||
04.09.2004, 01:55 | mathemaduenn | Auf diesen Beitrag antworten » | ||||
Hallo Poff,
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 |
||||||
04.09.2004, 02:06 | Ben Sisko | Auf diesen Beitrag antworten » | ||||
Bei hier ist doch eine Null, wo keine hingehört, wie ich gesagt habe ![]() |
||||||
05.09.2004, 17:14 | 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 |
||||||
06.09.2004, 21:06 | 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 |
|
Verwandte Themen
Die Beliebtesten » |
|
Die Größten » |
|
Die Neuesten » |