Autor |
Beitrag |
jensa
Hält's aus hier
Beiträge: 12
Windows XP Pro; Debian Sarge
Delphi, TurboPascal, PHP (Eclipse)
|
Verfasst: Mi 30.11.05 00:06
Also ich soll für die Schule als aufgabe dem beigefügten programm das newtonverfahren einbauen wie kann ich das am kleversten machen?! es soll eingezeichnet werden & der wert sollte in nem editfeld ausgegeben werden... kann mir einer tipps geben ?!
Einloggen, um Attachments anzusehen!
|
|
Narses
      

Beiträge: 10183
Erhaltene Danke: 1256
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: Mi 30.11.05 01:39
Moin!
Wie dir vielleicht schon aufgefallen ist, machen wir hier nicht so gerne Hausaufgaben...  (ja, ich weiß, du hast ja gar nicht explizit danach gefragt, es läuft aber darauf hinaus)
Wenn du konkrete Probleme oder Fragen hast, dann stell den Code, der das Problem macht, hier rein; es wird sich dann sicher jemand finden, der dir hilft, Fehler zu beseitigen.
cu
Narses
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
Tilman
      
Beiträge: 1405
Erhaltene Danke: 51
Win 7, Android
Turbo Delphi, Eclipse
|
Verfasst: Do 01.12.05 18:03
Hi Jensa, hat dir mein programm das ich dir (im andern Forum) per Mail zukommen ließ genutzt?
_________________ Bringe einen Menschen zum grübeln, dann kannst du heimlich seinen Reis essen.
(Koreanisches Sprichwort)
|
|
jensa 
Hält's aus hier
Beiträge: 12
Windows XP Pro; Debian Sarge
Delphi, TurboPascal, PHP (Eclipse)
|
Verfasst: Do 01.12.05 18:37
also dein programm hat mir insofern geholfen zu verstehen was ich in etwa bei dem zeichnen2 machen müsste jedoch muss ich hlat dort noch schauen da ich die rbaumder unit nicht verstehe und ich da die abl habe derive_tree und halt noch schauen muss die newton-tangente mit der paint_it procedure auf das label zu zeichnen...
wäre nett wenn einer mir evtl die rbaumder unit aus dem programm zeichnen2
dokumentiert so das es einer versteht der nicht verstanden hat was "bäume" sind und wozu man sie nutzen kann etc:(
|
|
Tilman
      
Beiträge: 1405
Erhaltene Danke: 51
Win 7, Android
Turbo Delphi, Eclipse
|
Verfasst: Do 01.12.05 18:55
Also erstmal hast du mir dein zeichnen2.rar ja schon geschickt, ich hab aber aktuell kein RAR-Programm aufm Rechner weshalb ich nicht nachprüfen kann ob sich da was geändert hat (wenn dus als zip raufstellst guck ichs mir nochmal an).
2. Bäume: Wenn es das ist was ich vermute (Zeigerkonstruktion), dann kann ich dir dazu ein leicht verständliches Beispiel schreiben. Wollte ich ohnehin schonmal für die Library machen.
ABER: ich verstehe beim besten Willen (und ohne deine Sources zu lesen) nicht was man bei dem Problem mit Bäumen will. Höchstens eine Liste könnte man brauchen, die kann man so ähnlich deklarieren. In meinem Beispielprogramm hatte ich die Terme und Ableitungen aber mit dem Typ TList realisiert, der einfachheit halber.
3. Du schreibst das du so manches an deinem Programm nicht vertshest. Hat der lehrer euch die hälfte schon vorgegeben? Was davon hast du selber Programmiert?
_________________ Bringe einen Menschen zum grübeln, dann kannst du heimlich seinen Reis essen.
(Koreanisches Sprichwort)
|
|
jensa 
Hält's aus hier
Beiträge: 12
Windows XP Pro; Debian Sarge
Delphi, TurboPascal, PHP (Eclipse)
|
Verfasst: Do 01.12.05 21:29
also wir haben die unit world 2 screen selbst machen müssen und halt das zusammenklicken, die rbaumder unit hat er gemacht und die paint funktion hat er uns so halb (in teamarbeit) miterarbeiten lassen.
Einloggen, um Attachments anzusehen!
|
|
delfiphan
      
Beiträge: 2684
Erhaltene Danke: 32
|
Verfasst: So 04.12.05 02:17
Ist das Problem gelöst?
Für die klassische Newton-Methode brauchst du zusätzlich zur Funktion noch die erste Ableitung der Funktion. Ich nehme nicht an, dass Ihr den eingegebenen Term zuerst symbolisch ableiten müsst. Müsst Ihr da eine modifizierte Newton-Methode anwenden, oder eine numerische Ableitung einsetzen?
|
|
jensa 
Hält's aus hier
Beiträge: 12
Windows XP Pro; Debian Sarge
Delphi, TurboPascal, PHP (Eclipse)
|
Verfasst: So 04.12.05 19:23
ähm problem noch nciht gelöstz, da ich noch nicht durch die rbaumder unit durgestiegen bin, darin steckt bereits die function derive_tree (ableitung der funktion) nur weiß nicht was & wofür die anderen da sind etc. 
|
|
delfiphan
      
Beiträge: 2684
Erhaltene Danke: 32
|
Verfasst: So 04.12.05 21:37
Na wenn's vorgegeben ist, dann ist ja alles klar. Könntest du dein Problem nochmals ganz konkret stellen? ...
|
|
Amateur
      
Beiträge: 777
(Win98, WinMe) WinXP Prof
D3 Prof, D6 Pers, D2k5 Pers., Turbo C++ Explorer
|
Verfasst: So 04.12.05 21:43
ich werf einfach mal das stichwort rekursion in die runde... der rest fürs newtonverfahren sollte einfach sein wenn der parser und die ableitung und alles schon steht...
ich wollte sowas auch mal schreiben bin aber beim parser gescheitert weil ich einfach nicht die zeit habe mich in sowas reinzuknien...
aber newton sollte mit ner funktion und rekursion eigentlich recht einfach gehen wenn ihr schon so viele grundlagen mit parser und so habt...
_________________ "Kein dummes Gerede. Kein Rumrätseln. Denkt an nichts anderes mehr, nur noch an das, was vor euch liegt. Das ist die wahre Herausforderung. Ihr müßt euch vor euch selbst schützen, Leute." (Rennes in "Cube")
Beiträge: >700
|
|
jensa 
Hält's aus hier
Beiträge: 12
Windows XP Pro; Debian Sarge
Delphi, TurboPascal, PHP (Eclipse)
|
Verfasst: So 04.12.05 22:24
mein problem: das verstehen der unit rbaumder.pas diese gesamte sache mit bäumen etc ist mir unverständlich und die paint_it methode in der zeichen unit ist mir auch nicht so ganz klar was da geamcht ist und warum es so gelöst ist wenn mir da das einer kommentieren könnte oder erklären könnte wäre super
|
|
Tilman
      
Beiträge: 1405
Erhaltene Danke: 51
Win 7, Android
Turbo Delphi, Eclipse
|
Verfasst: Mo 05.12.05 14:52
Für alle interessierten mal meine Lösung für das Newton-Verfahren (ohne Grafische Ausgaben). Jensa hatte ich diese Lösung schon vor ca. einer Woche geschickt.
Einloggen, um Attachments anzusehen!
_________________ Bringe einen Menschen zum grübeln, dann kannst du heimlich seinen Reis essen.
(Koreanisches Sprichwort)
|
|
jaenicke
      
Beiträge: 19326
Erhaltene Danke: 1749
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mo 05.12.05 15:15
Auf meiner Homepage steht eine Version mit grafischer Ausgabe:
www.sj-berlin.de
(Links unter Delphi -> Projekte, dann NewtonSim in der Liste)
Kleine Warnung: Das Programm habe ich geschrieben, kurz nachdem ich mit Delphi angefangen hatte, die Code-Formatierung ist dementsprechend schlecht...
|
|
delfiphan
      
Beiträge: 2684
Erhaltene Danke: 32
|
Verfasst: Mo 05.12.05 15:16
Pseudo-Code für Newton:
Delphi-Quelltext 1: 2: 3: 4: 5: 6:
| x = x0; tol = 1e-10; repeat lastx = x; x = x-AuswertungDerFunktion(x)/AuswertungAbleitungDerFunktion(x); until abs(x-lastx)<tol; | Funktionen auswerten kannst du ja offenbar, und die Ableitung berechnen auch. Falls du Fragen zum Code deines Lehrers hast, fragst du vielleicht am besten gleich ihn.
|
|
jensa 
Hält's aus hier
Beiträge: 12
Windows XP Pro; Debian Sarge
Delphi, TurboPascal, PHP (Eclipse)
|
Verfasst: Mo 05.12.05 18:59
hmm danke erstma werd die tage mal schauen im moment hab ich private Angelegenheit aber werd mir das ma von euch hoffenltich hilfreiche zu gemüte führen & euch dann erfolg oder misserfolg mitteilen:)
danke schonma an alle
|
|
jensa 
Hält's aus hier
Beiträge: 12
Windows XP Pro; Debian Sarge
Delphi, TurboPascal, PHP (Eclipse)
|
Verfasst: So 18.12.05 22:09
Delphi-Quelltext 1: 2: 3: 4: 5: 6:
| x = x0; tol = 1e-10; repeat lastx = x; x = x-AuswertungDerFunktion(x)/AuswertungAbleitungDerFunktion(x); until abs(x-lastx)<tol; |
dazu habe ich fragen.
x0 ist der Wert, andem man das Newtonverfahren beginnen will?! richitg?!
dann was ist tol? kann mir das einer sagen oder was generell diese zeile bewirken soll?!
auswertungderfunktion = meine procedure/function, mit der ich den y wert eines x wertes finde?!
auswertungAbleitungDerFunktion = die funktion die mir den ableitungswert von f(x) liefert richtig?
und dann soll abs?! (was ist das?) solange gemacht werden, bis abs(xxxx) kleiner ist als die toleranz?!
hab ich das soweit richtig verstanden?!
Moderiert von raziel: Quote- durch Delphi-Tags ersetzt
|
|
delfiphan
      
Beiträge: 2684
Erhaltene Danke: 32
|
Verfasst: Mo 19.12.05 00:27
abs(x) = |x| = Betrag von x.
In Worten: Wiederhole, bis die Differenz zwischen x und lastx kleiner als eine gegebene Toleranz ist.
|
|
jensa 
Hält's aus hier
Beiträge: 12
Windows XP Pro; Debian Sarge
Delphi, TurboPascal, PHP (Eclipse)
|
Verfasst: Mo 19.12.05 16:17
Delphi-Quelltext
was heißt das genau okay tol ist ne art toleranz aber was wird da berechnet 1e-10?! ist mir unklar:(
und weiß einer ob ich bei den restlichen Problemen/Fragen richtig liege?
Zuletzt bearbeitet von jensa am Mo 19.12.05 19:48, insgesamt 1-mal bearbeitet
|
|
Amateur
      
Beiträge: 777
(Win98, WinMe) WinXP Prof
D3 Prof, D6 Pers, D2k5 Pers., Turbo C++ Explorer
|
Verfasst: Mo 19.12.05 16:56
1e-10 ist das gleiche wie 1 * 10^-10 oder 1 * 1/(10^10) also ne ziemlich kleine zahl.
_________________ "Kein dummes Gerede. Kein Rumrätseln. Denkt an nichts anderes mehr, nur noch an das, was vor euch liegt. Das ist die wahre Herausforderung. Ihr müßt euch vor euch selbst schützen, Leute." (Rennes in "Cube")
Beiträge: >700
|
|
jensa 
Hält's aus hier
Beiträge: 12
Windows XP Pro; Debian Sarge
Delphi, TurboPascal, PHP (Eclipse)
|
Verfasst: Mo 19.12.05 19:41
ausserdem kann es sein das delfiphan anstatt := immer nur = gemacht hat?!
|
|