[IDEE]Polynomfunktionen etc.

Du hast eine Idee für ein Projekt?
Antworten
uhu
User
Beiträge: 8
Registriert: Samstag 14. Januar 2006, 20:29
Kontaktdaten:

Hallo,

ich hab mir mal gedacht, dass ich mal ein kleines Programm schreiben will, welches durch den Benutzer eingegebene Geradengleichung und Polynomfunktionen verarbeitet (Nullstellen berechnet etc.).

Ich hab jedoch noch nicht viel Erfahrung mit Python und deshalb wollt ich mal fragen, ob ihr mir vielleicht mal ein paar Tipps geben könnt.

Wie gesagt, ich eigentlich noch am Lernen :D . Is mir ein bisschen peinlich, aber ich hab mir gedacht ich frag einfach mal, denn wenn ich es nicht irgendwann probiere, dann wirds nichts.

danke schonmal.
mfG, uhu
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Hi uhu!

Ich weiß nicht, was du genau vor hast, aber vielleicht hilft dir dabei schon mal ein Blick in das Modul math.

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
uhu
User
Beiträge: 8
Registriert: Samstag 14. Januar 2006, 20:29
Kontaktdaten:

Ajo, das klingt schonmal ganz gut. Danke.

Ich werde meine Idee mal genauer erklären:

Ich will, dass der Computer eine (wie schon gesagt) vom Benutzer eingegebene mathematische Funktion bearbeitet (Kurvendiskussion).
Also zum Beispiel Nullstellen des Graphen bestimmt, sprich die Funktion = 0 setzt oder den Scheitel der Parabel errechnet...

Vielleicht war das ein bisschen genauer, aber eigentlich nicht viel anders als beim ersten. :wink: :mrgreen:
mfG, uhu
modelnine
User
Beiträge: 670
Registriert: Sonntag 15. Januar 2006, 18:42
Wohnort: Celle
Kontaktdaten:

Wenn Du noch nicht allzuweit fortgeschritten mit Python und mathematischer Theorie bist, warum nicht erst mal was einfacheres machen? Wie zum Beispiel eine Funktion schreiben die Polynome ersten Grades akzeptiert, diese in ihre Bestandteile zerlegt, und Dir dann auf dem Bildschirm anzeigt was die Nullstelle ist? Auch schon nicht ganz einfach, weil Du das Polynom entsprechend zerlegen (auch parsen genannt) mußt.

Idee wäre:

nullstellen("15*x+12") -> [zahl]

Ich geb Dir da erst mal keine weiteren Hinweise wie das zu bewerkstelligen ist, denn wenn Du noch nicht weißt was ein Parser ist oder wie einer gebaut werden muß hast Du erstmal keine Chance, gerade wenn Du dann weitergehen willst und Polynomdivision (Du beziehst Dich gar nicht auf Polynomdivision in Deinem ursprünglichen Post, fällt mir gerade jetzt so auf...) implementieren willst brauchst Du eine computergestützte Darstellung des Polynoms, auch geparster Ausdruck genannt. Und der Vorgang des Parsens geht weit über das hinaus was man in einem Forum besprechen kann.

Ganz davon abgesehen: Du kennst den algebraischen Satz dass es nicht möglich ist eine analytische Lösung einer Polynomgleichung höher als fünften Grades anzugeben (Du also bei Polynomen die x^n für n >= 6 enthalten keine exakte Lösung angeben kannst, sondern Nullstellenraten spielen mußt)? Es gab vor nicht allzulanger Zeit hier im Forum einen Thread in dem darüber gesprochen wurde, und ich hab da immer wieder gesagt dass es zwar Verfahren gibt diese Nullstelle zu approximieren, aber das ganze ohne dass ein gewisser theoretischer Unterbau existiert eigentlich eine Glückssache ist ob es bei Dir oder der Funktion die Du bearbeitest tut oder auch nicht.

Und, zu guter letzt: Du weißt dass Polynome ab zweitem Grad auch imaginäre Nullstellen haben können? Es gilt auch wieder hier, dass es nicht ganz einfach ist diese imaginären Nullstellen zu finden besonders mit den angesprochenen Folgen die zum Approximieren benutzt werden.

Wie wärs wenn Du erst einmal anfängst und einen Funktionsplotter schreibst Der Dir auf dem Bildschirm die Funktion anzeigt? Dann hast Du eine gute Ausgangsbasis um selbst Hand anzulegen und die Funktion zu analysieren...

--- Heiko.
uhu
User
Beiträge: 8
Registriert: Samstag 14. Januar 2006, 20:29
Kontaktdaten:

Danke für den Tipp. Ich werde mir den von dir genannten "Parser" oder das "Parsen" mal anschauen.

Danke nochmal. :)
mfG, uhu
Antworten