Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Gleichungen aus editfeld einlesen (https://www.delphipraxis.net/177212-gleichungen-aus-editfeld-einlesen.html)

muhael 24. Okt 2013 16:41

Delphi-Version: 7

Gleichungen aus editfeld einlesen
 
Hallihallo DP User,

ich habe ein klitzekleines Problem,
und zwar habe ich mich der Aufgabe angenommen ein Programm zu schreiben was über das "intervallhalbierungsverfahren" die Nullstellen von Gleichungen n ten grades berechnen soll.
nun das an sich ist ja nicht schwer aber nun soll man auch die Gleichung in einem Editfeld angeben.
z.B so 0= x^3+6x^2+9x+6

Mein Problem ist, da auch Gleichungen 5ten grades und höher berechnet werden sollen wie genau kann man diese gleichung ins Programm einschleusen? da das Programm ja immer eine andere Gleichung hat...
muss ich nun mit Pos arbeiten und jede rechenoperation einzeln auslesen?
oder gibt es da was einfacheres?

Ja habe die SuFu genutz aber nichts gefunden
habe auch Google benutzt und ncihts gefunden ;/

wäre für Denkanstöße sehr dankbar da ich da in Mathe meinen 1+ schnitt halten kann :D

LG muhael

Mikkey 24. Okt 2013 16:48

AW: Gleichungen aus editfeld einlesen
 
So als Ideenvermittlung...

Baue Dir ein Array, in das Du die Koeffizienten verfrachtest: a0 -> [0], a1 -> [1] usw.

Eine funktion zu schreiben, die zu einem gegebenen x den Funktionswert berechnet, sollte Dir nicht schwerfallen.

Dann brauchst Du nur noch einen Parser, der den Test aus dem Editfeld in das Array übersetzt ;-)

muhael 24. Okt 2013 16:52

AW: Gleichungen aus editfeld einlesen
 
ja ist mir auch schon durch den kopf gegangen aber dazu muss ich ncoh mitgeben WAS für koeffizienten das sind... gibt ja auch funktionen wo mal der ein oder andere koeffizient fehlt...

Mikkey 24. Okt 2013 16:53

AW: Gleichungen aus editfeld einlesen
 
Zitat:

Zitat von muhael (Beitrag 1233062)
ja ist mir auch schon durch den kopf gegangen aber dazu muss ich ncoh mitgeben WAS für koeffizienten das sind... gibt ja auch funktionen wo mal der ein oder andere koeffizient fehlt...

Ein fehlender Koeffizient ist 0:roll:

Man kann eine sehr effiziente Funktion generieren, wenn man von a0 beginnend mit 1 (= x^0) aus rechnet:

a0 + x(a1 + x(a2 + x(...)))

muhael 24. Okt 2013 16:55

AW: Gleichungen aus editfeld einlesen
 
*selfgivefacepalm* ja aber den sollte man lieber als 1 angeben? weil 0*x^3 ist 0 und nicht wie es eig ist x^3 ^^

aber danke für den denkanstoß! :D

Mikkey 24. Okt 2013 16:59

AW: Gleichungen aus editfeld einlesen
 
Zitat:

Zitat von muhael (Beitrag 1233064)
*selfgivefacepalm* ja aber den sollte man lieber als 1 angeben? weil 0*x^3 ist 0 und nicht wie es eig ist x^3 ^^

Da muss der Parser natürlich geeignet reagieren, ob x² ganz fehlt oder nur ohne a2 angegeben ist

Sir Rufo 24. Okt 2013 17:09

AW: Gleichungen aus editfeld einlesen
 
Wenn es sich ausschließlich um die Form

y=kn*x^n+...+k0*x^0

handelt, dann wird dafür kein Parser benötigt, sondern lediglich eine Liste mit den Koeffizienten.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:50 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