Was ist die Wurzel aus 899999999...

Diskutiere das Thema Was ist die Wurzel aus 899999999... im Forum MacUser Bar.

  1. MorbusSchlatter

    MorbusSchlatter Thread Starter Mitglied

    Beiträge:
    13
    Zustimmungen:
    0
    Mitglied seit:
    08.10.2007
    Moin.
    Gibt es einen Internetrechner der 17 Stellen hinter dem Komma berechnen kann?
    Oder hat jemand zufällig einen Taschenrechner oder ähnliches der mehr als 16 Stellen rechnen kann, mit dem er mir eine sehr lange Zahl sagen kann?
    Ich brauch das Ergebniss aus 90 000 000 000 000 000 (16 Nullen) - 1 und daraus die Wurzel und danach geteilt durch 300 000 000 .

    Also nochmal:

    (Wurzel aus ( 90 000 000 000 000 000 -1) ) geteilt durch 300 000 000


    Da müsste irgendwas mit 0,9999999999... rauskommen.
    Ich will aber zumindest die erste Zahl hinter dem Komma die keine 9 ist noch zeigen, damit es noch drastischer aussieht. Fragt nicht wofür man sowas braucht...

    (Wurzel aus (90 000 000 000 000 000 -4) ) geteilt durch 300 000 000
    und
    (Wurzel aus (90 000 000 000 000 000 -100) ) geteilt durch 300 000 000
    wären auch nett.
     
  2. Sommerjunge

    Sommerjunge Mitglied

    Beiträge:
    48
    Zustimmungen:
    1
    Mitglied seit:
    09.03.2008
    ich versuch mal mein glück...
     
  3. eml2306

    eml2306 Mitglied

    Beiträge:
    275
    Zustimmungen:
    13
    Mitglied seit:
    16.03.2005
    Ähm, wenn Du weisst, dass die Änderung an der 17. Stelle ist, was brauchst Du dann noch.

    Ansonsten: Terminal aufmachen "bc -l" eingeben, ausrechnen.

    (Die Option ist ein kleines "ell", kein großes "ih")

    Code:
    sqrt( 90000000000000000-1)/300000000
    .99999999999999999444
    
     
  4. MorbusSchlatter

    MorbusSchlatter Thread Starter Mitglied

    Beiträge:
    13
    Zustimmungen:
    0
    Mitglied seit:
    08.10.2007
    Oh, wusste gar nicht dass es sowas gibt .
    0.99999999999999999444 also.

    Siehste, ist ja erst die 18. Stelle wo sich was ändert...
     
  5. wegus

    wegus Mitglied

    Beiträge:
    16.237
    Zustimmungen:
    2.826
    Mitglied seit:
    13.09.2004
    öhm, sowohl Ruby als auch PHP-Interpreter bekommen da genau 1 heraus ( und beide rechnen IMHO mit 32 Nachkommastellen). Dir ist schon klar das das Architekturspezifische Rundungsfehler der sog. Gleitkommaarithmetik sind?
     
  6. Gernot2

    Gernot2 Mitglied

    Beiträge:
    900
    Zustimmungen:
    34
    Mitglied seit:
    13.11.2003
    Man kann auch die Methode von Al-Hwarizmi aus dem 9. Jahrhundert anwenden. Er entwickelte eine Näherungsformel für die Wurzel:

    sqrt(a²+b) ist ungefähr a+b/2a. In unserem Fall ist a²=9e16 und b =-1.
    Also:
    sqrt(9x10e16-1)= 3e8-(1/6e8) = 3e8 - (1/6)e-8

    Der Fehler hierbei ist von der Größenordnung 1e-16, also noch einmal 8 Stellen weiter. Man kann sich das klarmachen, wenn man die erste binomische Formel hinschreibt, etwas umformt und daraus die Wurzel zieht. Man braucht also nicht unbedingt einen Rechner dazu, sondern kann das schnell auf einem Bierdeckel ausrechnen.

    sqrt(9e16-1)/3e8= (3e8-1/6e8)/3e8
    = 1 - (1/18)e-16 = 1 - 0,05555...e-16 = 1 - 5,555...e-18

    Es ändert sich also erst die 18. Stelle hinter dem Komma. Das Ergebnis in #3 ist also richtig und kein Rundungsfehler.

    Die anderen beiden Wurzeln kannst du ja jetzt leicht selbst ausrechnen.
     
  7. wegus

    wegus Mitglied

    Beiträge:
    16.237
    Zustimmungen:
    2.826
    Mitglied seit:
    13.09.2004
    magst Du das nochmal erläutern? Ich habe nämlich Probleme darin:

    die erste binomische Formel wiederzuerkennen!
     
  8. cordney*

    cordney* Mitglied

    Beiträge:
    758
    Zustimmungen:
    24
    Mitglied seit:
    22.04.2003
    Für Big Integer Arithmetik gibt's auch nen Prima Taschenrechner-Programm:

    LeanCalc: http://www.entropy.ch/software/macosx/#leancalc
     
  9. Gernot2

    Gernot2 Mitglied

    Beiträge:
    900
    Zustimmungen:
    34
    Mitglied seit:
    13.11.2003
    (a+b)² = a² + 2ab +b²

    Jetzt substituieren wir b durch b/2a, das kann man problemlos machen:

    (a + b/2a)² = a² + b + b²/4a²

    Wenn a viel größer als b ist, ist der Term b²/4a² sehr klein und wird einfach weggelassen. Man kann damit aber auch den Fehler der Näherung abschätzen.

    (a + b/2a)² = a² + b

    Wurzel ziehen:

    a + b/2a = sqrt(a² + b)

    Ich gebe zu, daß die Substitution sich nicht sofort aufdrängt, ich habe eben auch mal eben eine Seite vollschreiben müssen, bis es mir wieder eingefallen ist.

    Das schöne bei der Näherungsmethode ist, daß man keinen Rechner braucht und die Ergebnisse irgendwelcher Programme auch in ein paar Minuten nachprüfen kann.
     
  10. race

    race Mitglied

    Beiträge:
    225
    Zustimmungen:
    6
    Mitglied seit:
    28.04.2007
    -hab nicht nachgedacht-
     
  11. wegus

    wegus Mitglied

    Beiträge:
    16.237
    Zustimmungen:
    2.826
    Mitglied seit:
    13.09.2004
    Da bin ich beruhigt! Danke Dir für die Mühe der Erläuterung!
     
  12. Sir_RamDac

    Sir_RamDac Mitglied

    Beiträge:
    1.188
    Zustimmungen:
    13
    Mitglied seit:
    04.11.2003
    Bei 'bc' kann man mit 'scale=x' auch die angezeigten Nachkommastellen
    einstellen. Im Fall von scale = 1000 waere das dann:

    Code:
    bc 1.06
    Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc.
    This is free software with ABSOLUTELY NO WARRANTY.
    For details type `warranty'. 
    scale=1000
    sqrt( 90000000000000000-1)/300000000
    .9999999999999999944444444444444444290123456790123455932784636488340\
    18609015393994817858499932259648766240264088581799296292464340663717\
    44944474608980670092822572897096441354437707166011911130525875889977\
    26320004012203439670758588782527646020700192851810182258347295551987\
    53822541888059641663477190822490066171339096486920454025356321958609\
    29963423995795881698322049632278148191165669183709828189155181729696\
    68850033702528314890774319811536872418670760549871308552190525876856\
    46734107471859674267642235735533493680498930800130106240821054239557\
    61441719383535581972001857712374099753857099732176682125329273650618\
    72813360052681703358515089537120272946359918431617628734110882573898\
    29026416723481559044348797416591115206497303353662735304303578426497\
    32672862051299667689358453156559675968020264974520552105649174718746\
    39752640881502705565301648155438721330647166936012512353463550757340\
    01200258855000500209024833537839427882310209392418608960506250328051\
    2246039124061333670152023646848840043714630375238
    
     
  13. Gernot2

    Gernot2 Mitglied

    Beiträge:
    900
    Zustimmungen:
    34
    Mitglied seit:
    13.11.2003
    Es geht noch einfacher. Für die Wurzel gibt es die Näherungsformel

    sqrt(1+x) = 1 + x/2

    Das sind die ersten beiden Glieder der Reihenentwicklung für die Wurzelfunktion. Das nächste Glied wäre (-x²/8), wieder gut für die Fehlerabschätzung. Für kleine x liefert schon die lineare Näherung gute Werte.

    Also:

    sqrt(9e16-1)/3e8 = sqrt(9e16-1)/sqrt(9e16)
    =sqrt(9e16/9e16 - 1/9e16)
    =sqrt(1 - 1/9e16)

    mit der linearen Näherung ergibt sich dann

    = 1- 1/18e16

    also das gleiche Ergebnis wie oben. Der Fehler läßt sich abschätzen zu x²/8 = (1/9e16)²/8 = 1/27e32/8 = 1/216 e32

    das sind etwa 0,005e-32 = 5e-35. Der Fehler wird also erst in der 35. Stelle auftreten.

    P.S. wie man im oberen Post nachprüfen kann :)
     

MacUser.de weiterempfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Akzeptieren Weitere Informationen...