AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Programm zur Ableitung

Ein Thema von diavy · begonnen am 16. Mai 2012 · letzter Beitrag vom 16. Mai 2012
Antwort Antwort
diavy

Registriert seit: 11. Apr 2012
54 Beiträge
 
#1

Programm zur Ableitung

  Alt 16. Mai 2012, 21:30
Hallo zusammen.

Da ich zZ etwas Praxis sammeln und üben möchte, und mein Repertoire in Sachen Delphi noch recht gering ist, bin ich allgemein auf der Suche nach Aufgaben.

Da hab' ich die Idee bekommen, ein Programm zur Ableitung einer Funktion zu schreiben, da das ja doch etwas ist was mehrere Gedankengänge erfordert und mich als Anfänger etwas fordern könnte.

Ich gehe mal davon aus, dass die Funktion als string eingelesen wird (bei einer Fraktion wollte ich die Funktion in 2 strings einteilen). Mein Problem ist es hierbei jedoch die Variabeln mit ihrem Exponenten und Faktoren zu "isolieren" (=die einzelnen Summanden).

Sprich wenn der Benutzer "5x^4 + 3x^2 - x^3 + 16" eingibt möchte/brauche ich 4 Strings:
1. 5x^4
2. 3x^2
3. -x^3
4. 16

Wie also kann ich den String in jene einzelne Summanden unterteilen?

Liebe Grüße
  Mit Zitat antworten Zitat
Benutzerbild von Aphton
Aphton

Registriert seit: 31. Mai 2009
1.198 Beiträge
 
Turbo Delphi für Win32
 
#2

AW: Programm zur Ableitung

  Alt 16. Mai 2012, 21:38
Hihihi, du hast da wohl noch gar nicht weiter gedacht

Wie willst du solche Funktionen lösen:
f(x) = (3x^4-2x+10)/(x-5)^2
?

(Nenner muss aufgelöst werden; weiters muss beim Ableiten die Quotientenregel (oder evt Andere) beachtet werden (darauf musst du auch noch erst algorithmisch kommen); im Nenner könnte wieder so ne Funktion stecken, was machste da? Rekursiv versuchen zu lösen?!)

Da reicht das einzelne Unterteilen nicht wirklich!

Aber du kannst dich ja für den Anfang mit Pos(), Copy() und Length() beschäftigen

[Edit]
Ein Tipp: Als Anfänger würde ich mich erst mal an einfachere Dinge wagen. Du müsstest dazu nämlich nen ordentlichen Parser schreiben und soetwas ist nichts für Anfänger
Wag dich vlt zuerst einmal an das Auswerten einfacher Terme, damit du so auf den Geschmack kommst:

2^6 + 64^0.5 + 3*4 + 5 - 2! - log(5) + PI
das Erkennen beginnt, wenn der Erkennende vom zu Erkennenden Abstand nimmt
MfG

Geändert von Aphton (16. Mai 2012 um 21:54 Uhr)
  Mit Zitat antworten Zitat
Delphi-Laie

Registriert seit: 25. Nov 2005
1.474 Beiträge
 
Delphi 10.1 Berlin Starter
 
#3

AW: Programm zur Ableitung

  Alt 16. Mai 2012, 22:34
Also, nur für Polynome halte ich das durchaus für machbar.

Wie also kann ich den String in jene einzelne Summanden unterteilen?
Indem die Additions-/Pluszeichen - die ja mathematisch die Summanden verknüfen und damit in gewisser Weise auch voneinander trennen - im String gesucht werden und die davor- / dazwischen- /dahinterliegenden Teile des Strings ausgewertet (evtl. vorher extrahiert bzw. separiert) werden. Die dafür nötigen Standardfunktionen für den Datentyp "String" sind in (je-?)der Delphihilfe leicht zu finden.

Ableitungen für alle möglichen Funktionen sind hingegen recht komplexe Probleme für Programme, die als Computeralgebrasysteme bezeichnet werden (obwohl solche Probleme genaugenommen nicht der Algebra, sondern der Analysis angehört).

Geändert von Delphi-Laie (16. Mai 2012 um 22:41 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


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 00:08 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