AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Nullstellenberechnung mit Newton
Thema durchsuchen
Ansicht
Themen-Optionen

Nullstellenberechnung mit Newton

Ein Thema von JasonDX · begonnen am 17. Jan 2005 · letzter Beitrag vom 9. Mai 2006
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von JasonDX
JasonDX
Registriert seit: 5. Aug 2004
Ich hab ein kleines Prog geschrieben, dass eine Nullstelle einer Funktion durch das newtonsche Verfahren annähert. (War für die Schule gedacht, ich habs dann ein bisschen ausgeweitet)

Das Programm kann
Das Programm kann:
Nullstelle einer Funktion anhand newtonschem Verfahren annähern
Die Funktion samt Ableitung zeichnen

Wobei bei den Funktionen folgende Regeln beachtet werden müssen:

5x ist nicht erlaubt (5*x schreiben), auch nicht 3(x-1) (-> 3*(x-1) )
x^x ist nicht erlaubt (d.h. x im exponenten. gibt manchmal schwierigkeiten)
folgende Funktionen sind aufrufbar: sin, cos, tan, ln, arcsin, arccos, arctan




Ich würde mich (egal ob positive oder negative, hauptsache konstruktive) Kritik sehr freuen, über Fehlermeldungen zwar weniger, aber schreibt die trotzdem





Anmerkung: Der Parser, der enthalten ist, stammt ursprünglich von Skiron und wurde (mit seiner Erlaubnis) implementiert und auch weiterentwickelt




Edit1: Neue Version
Edit2: Neue Version
Angehängte Dateien
Dateityp: exe newton_484.exe (462,5 KB, 94x aufgerufen)
Passion is no replacement for reason
 
Elite
 
#2
  Alt 17. Jan 2005, 14:57
1. Wenn man nur oft genug ein Quadrat auswählt und dieses heranzoomt, erreicht man irgendwann eine Division/0-Message
2. Wenn man etwas unkontrollierter Button klickt, verläuft sich das Programm in irgendwelchen Warte-Routinen und lässt sich nicht mehr auf der Stelle beenden. Am besten die Verzögerungen ganz rausnehmen, finde ich.
  Mit Zitat antworten Zitat
Benutzerbild von JasonDX
JasonDX
 
#3
  Alt 17. Jan 2005, 15:29
Zu 1.: Dürfte beseitigt sein. (Habs dann auch mitm rauszoomen ausgeschlossen)
Zu 2.: Ich habs bei meinem Rechner zwar nicht geschafft, aber ich hab mal trotzdem versucht, das auszuschließen

Ach ja, und wenn man eine etwas längere Funktion (oder eine ohne Nullstellen) analysieren will, kann es sein, dass es manchmal etwas länger dauert
Es sollte dann aber möglich sein, mit dem Abbrechen-Button das Analysieren abzubrechen.
Mike
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

 
Delphi 2010 Professional
 
#4
  Alt 17. Jan 2005, 18:08
Hi,

erstmal schönes Programm

Jedoch habe ich einen kleinen Fehler gefunden.

Ich habe die folgende Funktion analysieren lassen:
Zitat:
x^7+x^6-66*x^4+32^x+41
Das hat noch geklappt. Jedoch erhielt ich beim Klick auf "+" die Meldung:

Zitat:
---------------------------
Newton
---------------------------
Invalid floating point operation.
---------------------------
OK
---------------------------
mfG
mirage228
David F.
  Mit Zitat antworten Zitat
Benutzerbild von JasonDX
JasonDX
 
#5
  Alt 17. Jan 2005, 18:47
Zitat von mirage228:
Hi,

Ich habe die folgende Funktion analysieren lassen:
Zitat:
x^7+x^6-66*x^4+32^x+41
Im 1. Post hab ich geschrieben

x^x ist nicht erlaubt (d.h. x im exponenten. gibt manchmal schwierigkeiten)


könnt daran liegen
Mike
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

 
Delphi 2010 Professional
 
#6
  Alt 17. Jan 2005, 18:48
Ups,

das sollte eigentlch 32*x heissen. Dann habe ich mich wohl beim Schreiben vertippt, sorry

mfG
mirage228
David F.
  Mit Zitat antworten Zitat
Benutzerbild von JasonDX
JasonDX
 
#7
  Alt 17. Jan 2005, 19:24
hmmm
Ich schau mal
Bei mir kommt die Fehlermeldung zwar nicht, aber ich schau mal was es sein könnt
Mike
  Mit Zitat antworten Zitat
Dust Signs
 
#8
  Alt 17. Jan 2005, 19:42
Hi !

1.) Den Fortschrittsbalken kannst du weglassen - braucht keiner

2.) Dass ln(x) bei -26,2 eine Nullstelle hat wage ich zu bezweifeln

3.) Wenn ich tna(x) eingebe (zB weil ich mich aus Versehen vertippe) erhalte ich eine Reihe Fehlermeldungen und es geht nichts mehr

4.) Wenn ich die Ableitungsfunktion manuell eingebe ändert sich die Nullstelle. Beispiel:

Zitat:
f(x)=x*(x+ln(x))
f'(x)=1
liefert mir eine Nullstelle bei 3,6E28 (wo sie unter Garantie keine Nullstelle hat). Klicke ich nun auf "Nullstelle anzeigen" stürzt das Programm mit einer Invalid Floating Point Operation ab.

5.) Lasse ich deine Programm automatisch ableiten (nach 4.) ) sieht das Programm so aus, wie im Anhang sehen kannst. Hm, ganz nett diese Strichstärke...

6.) tan(x) wird - wenn man weit genug herauszoomt - extrem falsch dargestellt

7.) Mich würde interessieren, warum dein Programm bei Funktionen wie sin(x) keine "normale" Nullstelle, sondern zB 14,13 berechnet. Zur Erklärung: eine "normale" Nullstelle wäre zB sowas wie 0

8.) arcsin(x) liefert mir einen Invalid Floating Point Error, ebenso arccos(x)

9.) arctan(x) hat genau eine Nullstelle, und die liegt weder bei -1,3E43, noch bei -1,57

10.) Folgende Funktion erzeugt einen Stack Overflow:
Zitat:
(sin(x)/x)*tan(x)/(1+ln(x))
11.) Schön langsam hab ich keine Lust mehr auf noch mehr Fehler...

Dust Signs
Miniaturansicht angehängter Grafiken
unbenannt_123.gif  
  Mit Zitat antworten Zitat
Benutzerbild von JasonDX
JasonDX
 
#9
  Alt 17. Jan 2005, 20:00
wow
jetzt hab ich mal ne beschäftigung für diese und nächste woche!
thx mal! werd mir alles anschaun und korrigieren
thx nochmal!
Mike
  Mit Zitat antworten Zitat
matrose88
 
#10
  Alt 9. Mai 2006, 15:10
Hallo JasonDX!
Könnte ich mal den Code von deinem Prog 'Newton'haben?
Bitte stelle ihn dann hier zum Download zur Verfügung!
Danke
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:05 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz