>>> Hast du diesen Monat weniger als 16 Bücher gelesen? - Dann klick hier! <<<


Themenbereiche Themenbereiche Profile Hilfe/Anleitungen Help    
Recent Posts Last 1|3|7 Days Suche Suche Tree Tree View  

Newtonsche Wurzelannaeherung und mein...

ZahlReich - Mathematik Hausaufgabenhilfe » ---- Archiv: Klassen 12/13 » Sonstiges » Archiviert bis 31. März 2002 Archiviert bis Seite 34 » Newtonsche Wurzelannaeherung und meine ;) « Zurück Vor »

Autor Beitrag
Seitenanfangvoriger Beitragnächster BeitragSeitenende Link zu diesem Beitrag

Roberto Neumann (ceagle)
Suche alle Beiträge dieser Person in dieser Hauptrubrik
Neues Mitglied
Benutzername: ceagle

Nummer des Beitrags: 1
Registriert: 02-2001
Veröffentlicht am Samstag, den 30. März, 2002 - 08:01:   Beitrag drucken

Huhu!

Nach langem hin und her und viel Rumprobiererei bin ich mehr zufaellig auf ´ne Wurzelannaeherung speziell fuer 2te Wurzeln gestossen, die prinzipiell der Newtonschen Wurzelnaeherung aehnelt.
Die Newtonsche fuer die n-te Wurzel von x sieht so aus:

z(0) > 0 (Startwert)
z(1) = 1/n * [(n - 1)*z(0) + x/(z(0)^{n - 1})]
z(2) = 1/n * [(n - 1)*z(1) + x/(z(1)^{n - 1})]
...
z(j+1) = 1/n * [(n - 1)*z(x) + x/(z(j)^{n - 1})]

Meine Annaeherung fuer 2te Wurzeln sieht natuerlich anders aus. Vorher ist zu sagen, dass man bei meiner Annaeherung eine Zusatzvariable benoetigt: die naechstniedrige Quadratzahl (bei x=19 waere die Zusatzvariable a=16 (4^2), bei x=53 waere es a=49 (7^2))...
Die Formel lautet dann:

z(0) = 0,5 (Startwert, immer der Gleiche)
z(1) = Sqr(a) + [x - a]/[Sqr(a) + z(0)]
z(2) = Sqr(a) + [x - a]/[Sqr(a) + z(1)]
...
z(j+1) = Sqr(a) + [x - a]/[Sqr(a) + z(j)]

Wer bei beiden Formeln mal den z(1) von beispielsweise der 2ten Wurzel aus 19 errechnet, merkt sicherlich direkt, dass die Formeln unterschiedlich annaehern.
Meine Frage an euch ist jetzt: Weiss von euch jemand, ob man die zusaetzliche Variable a, die man in meiner Annaeherung benoetigt, irgendwie entfernen koennte?
Aber bitte keine Antworten, wie: ich soll die Newton-Formel einfach auf die 2te Wurzel anpassen... ich mag diese Formel ehrlich gesagt nicht ;) - hab lieber eigene Erkenntnisse bzw. hergeleitete Formeln usw., das ist sozusagen die Herausforderung beim Hobby ;)
Ich wuesste nur nicht, wie man in meiner Formel die Variable a relativ zu x oder z(j) machen koennte, denn das waere ja wahrscheinlich zwangslaeufig irgendwie noetig, wenn man diese dritte Variable entfernen will.
Hatte vorher immerhin mal 2 Zusatzvariablen drin: die naechstkleinere UND die naechstgroessere Quadratzahl... wobei die naechstgroessere IMMER relativ zur naechstkleineren war... so konnte man aus (b-a) also (2*Sqr(a)+1) machen, schon war b weg. Mehr dazu auf www.c-eAGLE.com, falls es irgendwen interessieren sollte ;)
Naja, genug Stuss geredet... freue mich auf sinnvolle Antworten - danke auf jeden Fall im Voraus!!

Bis denn, c-eAGLE
Seitenanfangvoriger Beitragnächster BeitragSeitenende Link zu diesem Beitrag

P. Ulbricht
Suche alle Beiträge dieser Person in dieser Hauptrubrik
Unregistrierter Gast
Veröffentlicht am Samstag, den 30. März, 2002 - 18:56:   Beitrag drucken

Hallo Roberto

Ich setze (um weniger tippen zu müssen) zj für z(j), zk für z(j+1), q für sqr(a) und r für sqr(x).
Wenn man Deine Formel etwas umformt, erhält man die Form zk = (zj * q + x)/(zj + q)

Jetzt kannst Du berechnen, wie sich in jedem Iterationsschritt der Fehler (das ist die Abweichung der Näherung von der gesuchten Wurzel) | z - r | ändert:
es ergibt sich nach ca. 3 Zeilen:
zk - r = (q - r)/(q + r) * (zj - r)

Also wird der Fehler bei jedem Schritt um den Faktor (q - r)/(q + r) kleiner (dies bezeichnet man als lineare Konvergenz; pro Schritt kommen etwa gleich viele Stellen an Genauigkeit hinzu).
Je näher dieser Faktor bei 0 liegt, desto schneller wird das Ergebnis besser, d.h. mit a=q² in der Nähe von x ist man optimal beraten, sofern ein fester ganzzahliger Parameter gewünscht wird!
Ansonsten ist jeder Wert besser, der näher am gesuchten Ergebnis Wurzel(x) liegt.

Verbesserungsvorschlag: Setze statt q den aktuellen Näherungswert zj für Wurzel(x) ein.

Jetzt ist zk - r = (zj - r)²/(zj + r)
Der Fehler wird quadratisch kleiner (d.h. pro Rechenschritt verdoppeln sich etwa die richtigen Stellen; genauso wie beim Newton-Verfahren)

Allerdings ist letzteres kein Wunder, denn das "neue" Verfahren ist genau das altbekannte Newton-Verfahren; in diesem Sinn ist das Newton-Verfahren eine verbesserte Variante Deiner Methode!

Eines würde mich allerdings noch interessieren: wie bist Du auf Deine Interationsformel gekommen? Denn einfach nur durch zielloses Ausprobieren kann ich mir nicht recht vorstellen.

Viele Grüße,
P. Ulbricht
Seitenanfangvoriger Beitragnächster BeitragSeitenende Link zu diesem Beitrag

Roberto Neumann (ceagle)
Suche alle Beiträge dieser Person in dieser Hauptrubrik
Neues Mitglied
Benutzername: ceagle

Nummer des Beitrags: 2
Registriert: 02-2001
Veröffentlicht am Sonntag, den 31. März, 2002 - 16:21:   Beitrag drucken

Huhu!
Danke fuer die Hilfe :-) ... zu dem Punkt, es ist eine Vorstufe der Newtonschen Annaeherung (die ja universell ist)... ich seh den Vorteil darin, dass sie kuerzer bzw. leichter zu merken ist - da 2te Wurzeln oefter berechnet werden, als etwa 52ste, is das ganz gut fuers Kopfrechnen =)

Wie ich darauf gekommen bin, das hat sogar ´ne Geschichte... Hat aber in diesem Fall nicht wirklich was mit Herleitung zu tun ;)
Hat damit angefangen, dass ich zwei simple Wurzelannaeherungen (einfache Annaeherung, keine Iteration) gefunden hab, deren Durchschnitt jeweils ziemlich genau die Wurzel einer beliebigen Zahl wiedergibt, wenn die Zusatzvariable a (naechstkleinere Quadratzahl) direkt in der Naehe ist... so hatte ich die Formel:

Sqr(x) = Sqr(a) + (x-a)/(4*Sqr[a]) + (x-a)/(4*Sqr[a]+2)

Dann habich die beiden Tangenten, weil mir das einfach zu lang war, mehr durch Rumprobieren (2 Versuche) zusammengelegt... das Ergebnis einer angenaeherten Wurzel hat sich minimal geaendert (ca. 1% Unterschied zu der vorherigen Formel), die Formel is jedoch um die Haelfte kurzer geworden:

Sqr(x) = Sqr(a) + (2(x-a))/(2(4*Sqr(a)+1)
Bzw., wenn man die stoerende 2 wegkuerzt
Sqr(x) = Sqr(a) + (x-a)/(Sqr(a)+0.5)

Das faelschlich verwendete Gleichheitszeichen bitte ich zu entschuldigen :-)...
Jedenfalls habich die ganze Formel dann mal durchdacht und mich gefragt, warum (durch ´ne kleine Tabelle bestaetigt) die Formel mit der +0.5 am genauesten ist - sowohl mit +0 als mit +1 isses ungenauer... Aufgrund dieser offenen Frage habich die Formel nach nach dieser Zahl, ich nannte sie ö (stehend fuer "öhm, kein Plan" ;) ), umgestellt -->
ö = [2(x+a-2*Sqr(ax))]/[Sqr(x)-Sqr(a)]
...und damit mal ö ausgerechnet fuer x=16 bis x=25 (bei a=16)... wenn x=a ist, ist ö nicht definiert, man kann also einsetzen, was man will. Ansonsten wird ö=2, wenn x die naechsthoechste Quadratzahl ist. Angenommen, bei x=a setzen wir 0 ein, da ergaebe das fuer insg 9 Stellen zwischen 2 Quadratzahlen fuer ö die Tabelle:
x=16 -> ö=0
x=17 -> ö=0.246211
x=18 -> ö=0.485281
x=19 -> ö=0.717798
x=20 -> ö=0.944272
x=21 -> ö=1.165151
x=22 -> ö=1.380832
x=23 -> ö=1.591663
x=24 -> ö=1.797959
x=25 -> ö=2

An dieser Tabelle ist mir aufgefallen, warum bei x=20.25 genau ö=1 rauskommt, was mir auch schon vorher mal zufaellig aufgefallen war. Denn 20.25 ist ja genau 4.5^2 ... selbiges gilt fuer 5.5^2=30.25 bei der Tabelle von x=25 bis x=36...
Und nach etwas Rumexperimentiererei (was fuern Wort), wie man am besten auf diese Werte fuer ö kommt, ist mir aufgefallen, dass - wenn ich nur die Nachkommazahlen betrachte - eine Annaeherung an die jeweilige Zahl erfolgt, wenn ich fuer das erste ö, wie auch schon vorher, 0.5 einsetze, und anschliessend den daraus errechneten Wert. Die Formel lautete zu dieser Zeit:

z0 = 0.5
z1 = (x-a) / (2*Sqr(a) + z0)
z2 = (x-a) / (2*Sqr(a) + z1)
...

Dann noch die Zahl(en) vor dem Komma in die Formel einbeziehen, was ja mit Sqr(a) gemacht wird, und schon ergab das ganze:

z(j+1) = Sqr(a) + (x-a)/(Sqr(1)+z(j))
z(0) = 0.5

Falls dir Englisch nix ausmacht, kannste ein paar Details auch noch auf meiner HP lesen... zugegeben, is nix dolles, aba ich weiss ja nicht, inwiefern Dich das interessiert.
www.c-eAGLE.com ... rechts im Menu beim Bereich Mathematics "my thoughts"...

Bis denn, c-eAGLE

PS: Allein in der letzten Woche habich fast ´n 50Blatt-Block mit Mathe vollgeschrieben - hab bei ´ner Vereinfachung der Formel, als es noch keine Iterationsformel war, alles versucht, um sie zu vereinfachen ;)

Beitrag verfassen
Das Senden ist in diesem Themengebiet nicht unterstützt. Kontaktieren Sie den Diskussions-Moderator für weitere Informationen.


Und wie gehts weiter? Klick hier!
Learn-in! Mathematik Soforthilfe. Klick jetzt! Hier könnte Ihre Werbung erscheinen. Kontakt: werbung@zahlreich.de Sprachreisen. Hier kostenlosen Katalog bestellen!

ad
>>> Willst du die besten Proben und Gutscheine? - Dann klick hier! <<<

Informationen: Newtonsche Wurzelannaeherung und mein... |  Soforthilfe Mathematik |  Online Mathebuch |  Bronstein

Administration Administration Abmelden Abmelden   Previous Page Previous Page Next Page Next Page