Ableitungsfunktionen

ja schon wieder ich^^
Bin im mom dran ein Prog in c# zu schreiben das die 1. und 2. Ableitungsfunktion ausgibt wenn man die Funktion eingibt.
Hab auch schon das board durchsucht und bin auf einen etwas älteren Post gestoßen der in etwa das selbe behandelt, ABER in dem Post sucht der jenige nur die gleichungen für die 1. Ableitung.
Ich brauche die für 2 Ableitungen also z.B. f(x), f´(x) und f´´(x).
wär gut wenn mir einer helfen kann bin schon ewigkeiten am googlen aber ich finde nichts gescheites =(.
 
Ist das jetzt eine mathematische Frage oder willst du das ganze einfach von irgenwem geschrieben bekommen?
 
nein ich will das nicht von irgentwem geschrieben bekommen
sonst hätte ich das prog ja net anfangen müssen oder?

sondern würd gerne ein bisschen unterstützung haben

und ja es ist zum großteil ne mathematische frage
 
Dann beschreib doch bitte mal, was du genau machen willst!
Möchtest du numerisch differenzieren, also nur einen Graphen zu f'(x) und f''(x) zeichnen lassen oder willst als Ausgabe die mathematischen Funktionen zu f'(x) und f''(x) ausgeben lassen? (also so, als hättest du das mit Stift und Papier differenziert)
Oder möchtest du sogar ganz etwas anderes?
 
Original von Schnauf
ich will das er mir durch eingabe von f(x) die Werte von f´(x) und f´´(x) ausgibt sry

Was meinst du denn mit "die Werte von...".

Mal ganz konrekt... willst du soetwas?

Eingabe: f(x) = x? + 2x
Ausgabe: f'(x) = 2x + 2 ; f''(x) = 2

Oder willst du soetwas?

Eingabe: f(x) = x? + 2x ; Wert x = 1
Ausgabe: f'(1) = 4 ; f''(1) = 2
 
das erste aber ich weiß nicht wie du darauf kommst deshalb kann ich es auch nicht selber sonst müsste ich nicht fragen

kannst du mir das vlt ein bisschen näher erklären??
 
hm. und was ist die ableitung von so tollen funktionen wie log x? Das geht eigentlich mit den normalen Ableitungsformeln nicht etc.
 
Also erstmal:
2. Ableitung = Ableitung der 1. Ableitung
-> Wenn dein Programm die erste Ableitung bilden kann, kann es auch die 2. bestimmen.
Also schau dir den Post den du gefunden hast ruhig nochmal an.

@Janus: In ein Prgramm müsste das eben mit if-Abfragen eingebunden werden.
log(x)' -> 1/(x*ln10)
sin(x)' -> cos(x)
...

@Schnauf: In welcher Klasse bist du denn? Im Gymnasium behandelt man das ja ab der 11. Klasse. Wenn du noch jünger bist, oder nicht auf dem Gymnasium warst, solltest du dich mal ganz langsam an die Sache ranwagen und erst das Ableiten allgemein lernen, anstatt gleich ein Programm schreiben zu wollen.

gruß Corni

edit: hier vllt ein hilfreicher link: http://www.mathe-online.at/mathint/diff1/i_ableitungen.html
 
hab meinen realschulabschluss (also keine 11. klasse (deshalb meine unwissenheit)) ^^
und bin jetzt in der ausbildung als informatiker.

und das programm ist ja nicht auf meinem mist gewachsen sondernhab ich von einem anderen lehrling im 3. lehrjahr (mit Abi) der sag immer ich muss autodidaktisch sein und ist im mom net da das ich nochmal fragen kann.
War schon bei meinem Chef fragen aber der konnte mir auch nix dazu sagen also hab ich mal hier gefragt.

PS: die Seite sieht schon etwas verständlicher aus danke
 
Original von Corni
@Schnauf: In welcher Klasse bist du denn? Im Gymnasium behandelt man das ja ab der 11. Klasse. Wenn du noch jünger bist, oder nicht auf dem Gymnasium warst, solltest du dich mal ganz langsam an die Sache ranwagen und erst das Ableiten allgemein lernen, anstatt gleich ein Prgramm schreiben zu wollen.

So ist es. Denn abgesehen von der eigentlichen Problematik, wirst du es auch noch mit Problemen beim Eingabeformat und bei der eigentlichen Verwaltung der Formelm zu tun bekommen. Ganz abgesehen davon, dass es generell kaum möglich ist, von jeder beliebigen Funktion die Ableitung zu bestimmen.
Daher solltest du zuerstmal einen Rahmen für das ganze setzen. Z.B. festlegen, welche Arten von Funktionen du unterstützen möchtest (Trigonometische Funktionen, Logarhithmus Funktionen, ... und auch deren Umkehrfunktionen, Parameter, Funktionen als Variablen usw. usf.). Als nächstes musst du dann einen Parser schreiben, der überprüft, ob deine Vorschriften bezüglich der Eingabe auch eingehalten wurden.

Erst wenn du das geschafft hast, geht es an das Eigentlich, nämlich das differenzieren der Funktionen. Das kannst du z.B. mit regulären Ausdrücken (was den Vorteil hat, dass man sich schnell einarbeiten kann, die Fortschritte leicht sichtbar machen kann und man außerdem eine ähnliche Herangehensweise wie beim schriftlichen Rechnen hat).

Wenn du also das Prinzip das Ableitens an sich verstanden hast (also wie man das mathematisch macht), bekommst du hier sicherlich auch konkrete Hilfe. Z.B. von mir ;).
 
o.O so komplziert hab ich mir das nicth vorgestellt.
Ich glaub ich muss nochmal mit ihm reden xP
denn ich glaube damit ist mein chef nicht einverstanden das soviel zeit dafür draufgeht^^
aber mal sehen

Danke auf jeden Fall schonmal für die gute Hilfe und Tipps
 
Original von Schnauf
o.O so komplziert hab ich mir das nicth vorgestellt.
Ich glaub ich muss nochmal mit ihm reden xP
denn ich glaube damit ist mein chef nicht einverstanden das soviel zeit dafür draufgeht^^
aber mal sehen

Danke auf jeden Fall schonmal für die gute Hilfe und Tipps

Das ist noch viel komplizierter, weil du erstmal ein programm brauchst was ne formel erkennt... das ganze bin ich mir übrigens grad am schreiben weil ich ne gfs über näherungsberechnung hab und dazu eben auch programmieren soll ^^ also parser -> derivation -> näherung

Edit: 2ten beitrag von dir gelesen :)

also mit der ableitung ists so, du kannst es entweder mit dieser h funktion und dem ganzem anderem müll machen oder einfach mit den ableitungsregeln...

da kommen zwar dann auch produkt und summantenregeln aber soweit musst du ja erstmal garnicht gehen.

das wichtigste wäre erstmal das du verstehst das bei der bildung einer ableitung du einfach die hochzahlen von den x vor das x schreibst und dann von der hochzahl 1 abziehst :D ( ich weiß ich kann richtig schlecht erklären.. ) aber mal nen beispiel.

f ( x ) = x ^ 4 + x ^ 2 + x ^ 1

wäre abgeleitet dann f' ( x ) = 4 x ^ 3 + 2 x ^1 + 1 x ^ 0

( f '' ( x ) = 12 x ^ 2 + 2 )

( jetzt hilft es wenn man weiß was ürgentwas hoch 0 ergibt ;) ) aber.. zudem kommen dann auch noch sachen wie wenn man jetzt nen absolutglied oder wie auch immer ihr das bei euch nennt hat bsp :

f ( x ) = x ^ 2 + 3 <---- absolutglied ... dann ist das ein konstanter faktor der sich nicht verändert und der fällt bei der ableitung weg.

f' ( x ) = 2 x


dann gibt es natürlich auch noch ableitungen für sahcne wie sin(x)^3 etc. oder was an der uni drankommt

e^x^x ( ist meistens die erste einstigsaufgabe ... sagt zumindest mein mathe lehrer aka falschirmjäger :D )

fazit: wenn du es programmieren willst solltest du es eigentlich perfekt beherrschen mit allen regeln sonst wird dein programm bei schwierigeren gleichungen eben fehler liefern.
 
@Schurke:

die singleichungen brauch ich nicht ich soll nur ne einfache formel auslesen lassen
sprich: x^4 +2x^3+31x^1

sauber danke das is ja gar net so schwer


aber jetzt zum größeren Problem:

ich soll die formel aus nem string auslesen lassen.
sprich: ich gebe die komplette formel in eine textbox ein und daraus soll er sich dann die variablen einfach ziehen die er braucht


*nullplanhab**schäm*

EDIT:
ich mach Häckchen jetzt hin und mach nen neuen post da gucken dann mehr leute rein
 
würde denn Parser erstmal weglassen und mit scanf, atof(argv..), shift arbeiten und die Variablen so zuweisen

wenn du mir sagst in welcher sprache du das verwirklichen willst kann ich dir vielleicht mit dem Parser helfen ,
dass is imo mMn auch das ekligste an der ganzen Sache ^^.

mfg
 
Zurück
Oben