Neuling braucht Hilfe beim Newtonschen Näherungsverfahren!

Vorweg: ICH GLAUBE ES WIRD SEHR KOMPLIZIERT ;)!

Hi Leute,
ich bin neu hier. Bin auch neu im Ragtime-Buisnes !

Wir haben via Ragtime ein Rechenblatt programiert, welches für uns via Newtonschen Näherungsverfahren die Nullstellen bestimmt!!

http://img206.imageshack.us/img206/3416/frageregtimeoj9.jpg

Ich hab das mal im Bild dargestellt!!

Die Funktion ist "f(x)=x^3-x" !!

Wir wollen uns einen Bereich genauer angucken! (Siehe Bild [ROT] )

Das Problem ist nur, ich möchte nun, dass er mir für alle Werte in diesem Bereich den Algorythmus durchrechnet und mir den letzten Wert (Grün makiert) neben den dazugehörigen Startwert schreibt!!

Mein Lehrer müsste auch nicht wie dies zu schaffen sei. (Er hatte einen Ansatz aber weiter sind wir nicht gekommen)

Nun die Frage an euch: "Ist das möglich" Wenn ja wie????

Schönen Abend noch!
Torben

P.s. Wie kann ich das Bild via HTML im Text anzeigen lassen. Bin BB-Code verwöhnt ;D !

Re: Neuling braucht Hilfe beim Newtonschen Näherungsverfahren!

#6791 On 31 August, 2007 17:40 Matthias Liebler said,

Am 31.08.2007 um 17:56 schrieb TorbenMaMe:

> Nun die Frage an euch: "Ist das möglich" Wenn ja wie????

Ich behaupte mal, dass das möglich ist.

Ich habe zwar keine Ahnung vom Newtonschen Näherungsverfahren und bin
mir deshalb nicht sicher, ob ich die Frage bzw. den Screenshot
richtig interpretiere.

Zunächst muss der Wert der Zelle A2 mit dem Bereich D2:D22 verglichen
werden. Ich denke, das geht mit VSuchlauf. Weiterhin soll, wenn eine
Übereinstimmung gefunden wurde, der Wert aus Zelle B35 dann in die
entsprechende Zelle in der Spalte E neben der gefundenen
Übereinstimmung geschrieben werden. Das könnte mit SetzeZelle passieren.

Leider bin ich mit Suchlaufformeln nicht so bewandert, bin mir aber
sicher dass Thomas Kaegi oder Jürgen Schell in Kürze die
entsprechende Formel liefern wird.

P.S.: Hier in die Mailingliste und in das Forum kann man zum Glück
keinerlei Bilder oder Anhänge einfügen.

Freundliche Grüße

Matthias Liebler

Re: Neuling braucht Hilfe beim Newtonschen Näherungsverfahren!

#6792 On 31 August, 2007 18:05 TorbenMaMe said,

Danke für die Antwort!
Beim Newtonverfahren nähert man sich via Nullstellen der Tangenten die man an die Funktion legt der NULLSTELLE!
Bei diesem Verfahren brauch man aber einen Startwert. Und dieser Startwer soll die Rote liste bei mir sein. Er soll alle Werte einsetzen und das Ergebnis (B35) jeweils daneben schreiben.

LG
Torben

Re: Neuling braucht Hilfe beim Newtonschen Näherungsverfahren!

#6793 On 31 August, 2007 20:40 Thomas Kaegi said,

Hallo Torben

Gerne würde ich dir eine Formel liefern. Aber ich verstehe nicht, was sie tun soll. In deinem Screenshot sind, wie ich dich verstehe, alle Werte im roten Bereich (Spalte D) Startwerte, denen in Spalte E je ein Wert zugeordnet werden soll. Aber du gibst nur die Zelle B35 grün an. Was zeichnet diese "0" gegenüber allen anderen Nullwerten in der Spalte B aus? Weshalb isd das gerade der dem ersten Startwert entsprechende Wert? Wo, bzw. wie sind die anderen Werte zu finden, die den jeweiligen Startwerten entsprechen?

Gruss
Thomas

Re: Neuling braucht Hilfe beim Newtonschen Näherungsverfahren!

#6794 On 31 August, 2007 21:18 TorbenMaMe said,

Hi Thomas,
Also da es sich um das Newtonverfahren handelt ist B35 der genauste Wert. Die Funktion besitz Nullstellen bei -1;0;1 !!
Wir möchten herrausfinden welche Nullstelle bei welchem Startwert (bei jeden von denen im roten kasten) herauskommt! Deshalb der rote Bereich! Alle diese Zahlen im roten Kasten sollen durchgerechnet werden und der genaueste Wert (B35) soll neben dem startwert in die Spalte E geschrieben werden! Das ist also ne -1 , ne 0 oder ne +1 !

Ich entchuldige mich, wenn meine Ausdrucksweise vielleicht etwas unverständlich ist. Mein großes Manko!

Schönen Abend noch!
Torben

Re: Neuling braucht Hilfe beim Newtonschen Näherungsverfahren!

#6795 On 31 August, 2007 23:29 Appletiser said,

Hallo Torben.

Ich schätze mal, dass ich Dir letztendlich keine Formel oder
Lösungsweg geben kann, aber ich möchte vielleicht dazu beitrage, dass
man Deine Fragestellung überhaupt grundsätzlich versteht.
Mir persönlich geht es so, dass ich zwar eine Menge Zahlen mit
einander ins Verhältnis setzen kann, aber solange man den Sinn nicht
versteht wird man auch nicht den Lösungsweg finden.

Ich fasse daher noch mal kurz zusammen, wie ich es bis jetzt
verstanden habe:

1.
In Spalte D stehen Deine so genannten Startwerte, die Du von Hand
vorgibst - richtig?

2.
In den Spalten "A" und "B" ist jeweils eine Formeln hinterlegt
(Funktion: f(x)=x^3-x).
"x" ist dabei jeweils einer der Startwerte die in Spalte "D" liegen -
richtig?

3.
Die errechneten Werte In Spalte "A" und Spalte "B" sind ja nun
unterschiedlich - wie lautet also die zweite Funktion, bzw.
Berechnungsformel?
Oder anders gefragt, wie genau entstehen die Werte in Spalte "A" und
wie in Spalte "B"?
Vielleicht kannst Du mal mit dem ersten Startwert eine symbolischen
Beispielrechenweg aufschreiben - unabhängig der Zellenzuordnung.

4.
Da Newton eigentlich ja jedem ein Begriff sein sollte (Gewichtskraft,
etc.) könnte ich mir in dem Zusammenhang auch vorstellen, dass auch
das Newtonsche Nährungsverfahren einen real anzuwenden Faktor
besitzt. Meine Erfahrungen mit Bereichen, wo man sich mit solchen
rein theoretischen Analysen beschäftigt sind leider oft, dass bei
aller Rechnerei einfach nicht mehr der praktische Anwendungsfall
rüber kommt.
Also, vielleicht hilft es bei der Lösung Deiner Aufgabenstellung,
wenn die Allgemeinheit weiß, was einem diese Berechnungen denn
letztendlich für die Praxis sagen sollen? Wo liegt der eigentliche
Beweggrund für dieses Nährungsverfahren?

Wie gesagt, hoffe ich mit meinem Beitrag einfach zur
Verständnisklärung beitragen zu können.

Ciao,
Appletiser.

Am 31.08.2007 um 19:06 schrieb TorbenMaMe:

> Danke für die Antwort!
> Beim Newtonverfahren nähert man sich via Nullstellen der Tangenten
> die man an die Funktion legt der NULLSTELLE!
> Bei diesem Verfahren brauch man aber einen Startwert. Und dieser
> Startwer soll die Rote liste bei mir sein. Er soll alle Werte
> einsetzen und das Ergebnis (B35) jeweils daneben schreiben.
>
> LG
> Torben
>
>
>
>
>
>
>
>
>
>

Re: Neuling braucht Hilfe beim Newtonschen Näherungsverfahren!

#6796 On 1 September, 2007 00:04 Matthias Liebler said,

Am 01.09.2007 um 00:33 schrieb Appletiser:

> Da Newton eigentlich ja jedem ein Begriff sein sollte
> (Gewichtskraft, etc.) könnte ich mir in dem Zusammenhang auch
> vorstellen, dass auch das Newtonsche Nährungsverfahren einen real
> anzuwenden Faktor besitzt. Meine Erfahrungen mit Bereichen, wo man
> sich mit solchen rein theoretischen Analysen beschäftigt sind
> leider oft, dass bei aller Rechnerei einfach nicht mehr der
> praktische Anwendungsfall rüber kommt.
> Also, vielleicht hilft es bei der Lösung Deiner Aufgabenstellung,
> wenn die Allgemeinheit weiß, was einem diese Berechnungen denn
> letztendlich für die Praxis sagen sollen? Wo liegt der eigentliche
> Beweggrund für dieses Nährungsverfahren?

Vielleicht bringt dieser Link hier Klarheit - mir leider nicht. Muß
aber auch nicht.

Freundliche Grüße

Matthias Liebler

Re: Neuling braucht Hilfe beim Newtonschen Näherungsverfahren!

#6797 On 1 September, 2007 00:19 "Robert P. Tito" said,

es ist die differential rechnung wie Newton es definiert hat
(oder ist es differenz meinentwegen :) )

-wie kalkuliere ich die tangent einer kurve kann man es auch nennen

tschüß

Rob
On 1-Sep, 2007, 1:07, at 1:07:18 , Matthias Liebler wrote:

>
> Am 01.09.2007 um 00:33 schrieb Appletiser:
>
>> Da Newton eigentlich ja jedem ein Begriff sein sollte
>> (Gewichtskraft, etc.) könnte ich mir in dem Zusammenhang auch
>> vorstellen, dass auch das Newtonsche Nährungsverfahren einen real
>> anzuwenden Faktor besitzt. Meine Erfahrungen mit Bereichen, wo man
>> sich mit solchen rein theoretischen Analysen beschäftigt sind
>> leider oft, dass bei aller Rechnerei einfach nicht mehr der
>> praktische Anwendungsfall rüber kommt.
>> Also, vielleicht hilft es bei der Lösung Deiner Aufgabenstellung,
>> wenn die Allgemeinheit weiß, was einem diese Berechnungen denn
>> letztendlich für die Praxis sagen sollen? Wo liegt der eigentliche
>> Beweggrund für dieses Nährungsverfahren?
>
> Vielleicht bringt dieser Link hier Klarheit - mir leider nicht. Muß
> aber auch nicht.
>
>
>
> Freundliche Grüße
>
> Matthias Liebler
>
>
>
>
>

Re: Neuling braucht Hilfe beim Newtonschen Näherungsverfahren!

#6800 On 1 September, 2007 11:10 TorbenMaMe said,

Hey Leute, ich versuch es mal so: ! (Erstmal vielen Dank für die Zahlreiche Beteiligung beim Suchen reiner Lösung)


1.
In Spalte D stehen Deine so genannten Startwerte, die Du von Hand
vorgibst - richtig?

Das ist richtig. Die Spalte fängt bei x=-0,4 an und geht in -0,01 Schritten weiter bis x=-0,6 weiter! Die gebe ich via Hand oder mit einer Funktion "D3=D2-0,01" an!


2.
In den Spalten "A" und "B" ist jeweils eine Formeln hinterlegt
(Funktion: f(x)=x^3-x).
"x" ist dabei jeweils einer der Startwerte die in Spalte "D" liegen -
richtig?

Die Funktion ist "B2=A2-((A2^3-A2)/(3*A2^2-1))", wobei A2 alle Werte in Spalte D seien sollen!! Die Formel ist die ganz normale Newtonsche Näherungsformel.

Nun wird die Nullstelle der Tangente ausgerechnet und in B2 geschrieben.

ACHTUNG: Jetzt gibt es einen neuen "Startwert" sozusagen. Also ist A3 jetzt B2. Und in B3 wird wieder die NUllstelle geschrieben. Das geht unendlich so weiter, bis es einem genau genug ist. Du Kurve hat eindeutige und einfache NUllstellen. Deshalb ist B5 schon eine NUll oder eine 1 oder eine -1!!

Ich gebe ein Link mit dem Rechenblatt! Ich lad es auf Rapidshare.com hoch.

http://rapidshare.com/files/52635839/Newtonsche_Naeherungsverfahren.rtd.html

Schönen Samstag noch!

Re: Neuling braucht Hilfe beim Newtonschen Näherungsverfahren!

#6805 On 3 September, 2007 15:48 Thomas Kaegi said,

Ich habe diese Antwort vor mehr als einer Stunde an die Mailingliste geschickt. Offenbar klappt es doch noch nicht ganz mit der Speigelung derselben im Web-Forum - deshalb hier nochmals, mit dem Risiko dass die Antwort dann schliesslich doch doppelt im Web-Forum erscheint:

Hallo TorbenMaMe

Es wurde vorgeschlagen, dein Problem mit einem VSuchlauf zu lösen. Das lässt sich zwar machen, scheint mir aber hier nicht die richtige Lösung. Das würde nämlich bedingen, dass du die ganze Iteration, welche du jetzt mit vielen Formeln in Spalte A realisiert hast, in eine einzige Formel gepackt werden müsste. Das würde eine furchtbar komplizierte Formel von "ewiger Länge" geben und wäre deshalb schon nur zum Schreiben, insbesondere aber bei der Fehlersuche nicht mehr überblickbar.

Hier deshalb ein ganz anderer Lösungsansatz - das entsprechende Dokument findest du hier:
http://www.ragtime-consult.ch/MusterDok/Newtonsche_NaeherungsverfahrenTK.rtd

Wie in meinem Buch erläutert, schreibe ich Formeln, in einem Rechenblatt normalerweise in die erste Zeile und hinterlege sie rot. Zellen mit Hilfsdaten ebenfalls in die erste Zeile, aber grün hinterlegt.

In Zelle H1 habe ich folgende Formel geschrieben:
SpezialWenn(Und(I1;Sekunde>J1);SetzeZelle(B35;E:E;I1+1)&SetzeZelle(Wenn(I1≥21;0;I1+1);I1)&SetzeZelle(AddSekunde(Jetzt;1);J1)&SetzeZelle(Index(D:D;I1+1);A2))

Schauen wir mal an, was sie macht:
Sie ist mit einer SpezialWenn-Klausel verriegelt - der Rest der Formel wird nur ausgeführt, wenn in Zelle I1 ein von 0 abweichender Wert steht und zugleich die aktuelle Zeit grösser ist als der in Zelle J1 gespeicherte Wert. (NB: Es wird die Funktion "Sekunde" benutzt, nicht "Jetzt", da nur die verwendete Operation alle Sekunden wirklich berechnet wird.) Ist diese Bedingung erfüllt, so werden 4 Schritte ausgeführt, alles SetzeZelle-Operationen:

1. Der Wert aus Zelle B35 (also das Resultat deiner Iteration) wird in Spalte E übertragen und zwar in die Zeile gemäss Inhalt von Zelle I1 +1
2. Der Inhalt von Zelle I1 wird um 1 erhöht, bzw. auf 0 zurückgesetzt, wenn die Tabelle in Spalte D fertig abgearbeitet ist.
3. Die in Zelle J1 gespeicherte Zeit wird auf die aktuelle Zeit + 1 Sekunde gesetzt
4. Der nächste Wert der Tabelle in Spalte D wird in die Zelle A2 übertragen

Es wird also alle Sekunden je eine Iteration ausgeführt und deren Resultat in Spalte E eingesetzt.

Nun brauchen wir noch etwas, das die ganze Sache in Bewegung setzt, einen Knopf "Ausführen". Diesem ist die Formel unterlegt:
SetzeZelle(1;Rechenblatt 1!$I$1)&SetzeZelle(AddSekunde(Jetzt;1);Rechenblatt 1!$J$1)&SetzeZelle(Rechenblatt 1!$D$2;Rechenblatt 1!$A$2)

Das entspricht den Schritten 2-4 der Formel in Zelle H1: Die Fortschrittskontrolle in Zelle I1 wird auf 1 gesetzt, der Taktgeber in J1 auf die nächste Sekunde, und der erste Wert aus der Tabelle in Spalte D in die Zelle A2 übertragen.

Der Trick bei dieser Lösung ist, dass man RagTime Zeit gibt, für jeden Schritt die Iteration in den Spalten A:B durchzuführen, bevor deren Resultat in Spalte E übertragen wird. Mit einem VSuchlauf würde die Suchlauf-Funktion zwischen den Werten nicht verlassen und die Iteration müsste deshalb, wie eingangs erwähnt, innerhalb der Formel ausgeführt werden.

Mit freundlichem Gruss
Thomas

Re: Neuling braucht Hilfe beim Newtonschen Näherungsverfahren!

#6802 On 3 September, 2007 06:25 Bernhard Storch said,

Hallo Torben,

kann es sein, dass dir folgendes weiter hilft:
1) Zelle C2: Wenn($C$1=Zeile;SetzeZelle(D2;$A$2)&SetzeZelle($B$35;E2)&SetzeZelle($C$1+1;$C$1))
2) Diese Formel kopieren in die Zellen C3 bis C22
3) Zelle D1: Knopf('Berechnen';SetzeZelle(2;C1))
4) Knopf anklicken

Re: Neuling braucht Hilfe beim Newtonschen Näherungsverfahren!

#6806 On 3 September, 2007 17:42 TorbenMaMe said,

Hallo Bernhard!
Ich habe mich erstmal deinem Lösungsansatz nachgegangen. Dieser funktioniert und erfüllt mir all meine wünsche ;) !!

Ich werde aber auch noch der Idee von Thomas nachgehen!!

Ich bedanke mich bei allen Beteiligten und besonders, für die "copy and paste" - lösung von Bernhard!

Schönen Montag noch!!

Re: Neuling braucht Hilfe beim Newtonschen Näherungsverfahren!

#6808 On 4 September, 2007 07:53 Thomas Kaegi said,

Hallo TorbenMaMe

Die von Bernhard vorgeschlagene Lösung ist für dein Problem zweckmässig. Du hast ja auch bereits bestätigt, dass sie das erwünschte Resultat liefert.

Meine Lösung unterscheidet sich insofern wesentlich von derjenigen Bernhards, als sie mit einer einzigen Formel auskommt und nicht in der Tabelle nach unten kopiert werden muss. Folgt man diesem Grundsatz konsequent, so können durch Löschen, Einfügen, Anfügen oder Kopieren von Zeilen in einer Tabelle keine Fehler entstehen. Und bei grossen Tabellen ist das "Formel nach unten kopieren" doch recht mühsam. Um meine Lösung wirklich allgemein zu formulieren, müsste das Abbruchkriterium allerdings noch von der Tabellenlänge abhängig gemacht werden, was aber mit der Funktion "Anzahl" sehr einfach zu realisieren ist. Vielleicht müsste vor der Bearbeitung des ersten Wertes auch noch der der Inhalt der Resultatspalte gelöscht werden (am einfachsten mit der PowerFunction "LöscheBereich").

In deinem Fall geht es, wenn ich das richtig verstanden habe, um eine Tabelle von fixer Länge und die einfacher zu verstehende Lösung von Bernhard erfüllt die Anforderung perfekt. - Obwohl er seine Lösung bereits eingebracht hatte, habe ich meine trotzdem noch vorgestellt, weil das erläuterte Prinzip für andere Problemstellungen eine Option ist, die interessante Möglichkeiten eröffnet.

Mit freundlichem Gruss
Thomas

Re: Neuling braucht Hilfe beim Newtonschen Näherungsverfahren!

#6809 On 4 September, 2007 18:30 TorbenMaMe said,

Hey Ho!!
Hey Thomas,
vielen Dank für deine Bemühungen - wenn ich dann mal soweit bin um das verstehen zu können, dann witme ich mich diesem auf jedenfall, da ich sowas sehr interessant finde.

Ich habe mir nur leider mit diesen Nachforschungen nix gutes getahn ;) ! Ich soll das nun vor dem Kurs vorstellen !!

Also meine letzte Bitte noch an euch Erfahrenden Ragtime User: "Ich bräuchte noch eine genaue Erklärung zu der etwas einfacheren Form von Bernhard. Also es funktioniert wunderbar nur verstanden hab ich es noch nicht ganz.

"Wenn($C$1=Zeile;SetzeZelle(D2;$A$2)&SetzeZelle($B$35;E2)&SetzeZelle($C$1+1;$C$1))" Diesen Befehl versteh ich noch nicht ganz und was bedeuten die $ !Also was bedeutet dies umschrieben.

Lg
Torben

P.s. Vielen Dank für eure Gedult mit mir :)!

Edit: Ich glaub ich habs doch verstanden. Also Wenn C1=Zeile. Also beim drücken auf den BUTTON gibt ist C1=2, also C2 wird angeguckt. Dann wird D2 in A2 gesetzt und er rechnet und das Ergebnis von B35 in E2. Da nun eine 1 auf C1 addiert wird ändert sich ja wieder der Wert nun auf 3. Und da C1=Zeile ist also nun Zeile 3 gefragt ist nimmt er die Funktion aus C3. Diese besagt, das nun der andere Wert in A2 soll und so weiter und so fort!!

Richtig?

Re: Neuling braucht Hilfe beim Newtonschen Näherungsverfahren!

#6810 On 4 September, 2007 20:36 Thomas Kaegi said,

Hi TorbenMaMe

Ja, du hast Bernhards Vorschlag richtig verstanden!

Das Prinzip meiner Lösung ist übrigens genau das gleiche. Nur die Steuerung ist anders realisiert. Du hast bestätigt, dass Bernhards Lösung richtig funktioniert. Voraussetzung dafür ist, dass RagTime nach Erhöhung des Zeilenindexes die Iteration in den Spalten A:B durchführt, bevor die Formel in der nächsten Zeile von Spalte C ausgeführt wird - sonst würde ja Zelle B35 nicht der richtige Wert entnommen. Das scheint aber gemäss deiner Bestätigung zu klappen. - Ich bin in ähnlichen Fällen allerdings auch schon reingefallen: Die Reihenfolge der Formelabarbeitung ist in RagTime nicht immer klar nachvollziehbar. Deshalb ziehe ich persönlich eine Lösung vor, bei der die Reihenfolge gewährleistet ist. Für alte RagTimer: ich hatte RT3-Dokumente, bei denen ich mich auf die Reihenfolge der Formel-Abarbeitung in einem Rechenblatt verliess, und die dann in RagTime 4 und folgenden nicht mehr funktionierten, weil diese Reihenfolge, wie mir der RagTime-Suport damals sagte, nicht nach den gleich einfachen Regeln erfolge (in RagTime 3 spaltenweise von oben nach unten).

Das ist aber keine Kritik an Bernhards Lösung. Sie funktioniert ja. Wenn ich selbst so eine Lösung gefunden habe und sie funktioniert, dann rühr ich auch nichts mehr an!

Gruss
Thomas

Re: Neuling braucht Hilfe beim Newtonschen Näherungsverfahren!

#6826 On 7 September, 2007 15:18 TorbenMaMe said,

Vielen Dank für die Zahlreichen Hilfestellungen.
Mein Lehrer war vom Vortrag begeistert!

Bis zum nächsten Mal ;)!

Torben