Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Code Kitchen Allgemeines Coder-Forum rund um das Programmieren eigenständiger, ausführbarer Programme.

Funktion ableiten

Diskussion: Funktion ableiten im Forum Code Kitchen, in der Kategorie Software Home; Anzeige Hat irgendwer hier schonmal versucht ne Ableitungsfunktion um Funktionen abzuleiten (:D) geschrieben oder schon einmal gesehen, in welchem Verfahren ...

Antwort
Alt 13.12.05, 19:31   #1 (permalink)
Senior Member
 
Registriert seit: 18.05.04
ghostdog Leistung: Facit NTK
Likes: 0
Standard Funktion ableiten

Anzeige

Hat irgendwer hier schonmal versucht ne Ableitungsfunktion um Funktionen abzuleiten (:D) geschrieben oder schon einmal gesehen, in welchem Verfahren man da rangeht?
.....Oder muss ich die Theorie selber from scratch entwickeln?

ghostdog ist offline   Mit Zitat antworten
Alt 13.12.05, 20:23   #2 (permalink)
 
Registriert seit: 25.09.05
Corey Leistung: Facit NTK
Likes: 0
Standard

f(x)=x^n /Ausgangsfunktion

f'(x)=n*(x^(n-1)) /Abgeleitete Funktion

oder war was anderes gemeint?

COREY
Corey ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 13.12.05, 21:16   #3 (permalink)
Senior Member
 
Benutzerbild von t3rr0r.bYt3
 
Registriert seit: 07.01.03
t3rr0r.bYt3 Leistung: Z3
Likes: 19
Standard

hat bloß nich jede funktion die form x^n, gell ? ;-)

produkt / quotientenregel erkennen (+ beachten ^^), sinus/cosinus und solche späße..
geschrieben hab ich sowas nich, aber wenn du ein programm suchst, google mal danach.. http://www.calc101.com/ z.b. hört sich gut an..
ka, vielleicht auch maple..

man muss imho 2 dinge erreichen: struktur der funktion herausfinden + die grundlegenden ableitungsregeln anwenden. zweiteres ist nich das problem, die gängigen regeln (z.b. für x^n oder t ? |R) definierst du explizit und wendest sie dann entsprechend an.. aber die struktur..

ich bin jetz zu müde, um nachzudenken, aber vielleicht kriegt man ne ansprechende struktur, indem man die klammern durchzählt (+ positionsangaben bestimmt..) und dann die entsprechenden operatoren zuordnet..
t3rr0r.bYt3 ist offline   Mit Zitat antworten
Alt 13.12.05, 21:25   #4 (permalink)
Senior Member
Themenstarter
 
Registriert seit: 18.05.04
ghostdog Leistung: Facit NTK
Likes: 0
Standard

Ich werde das programmieren auf ner shell-ebene. Ich fange morgen an nach dem ich meine letzte Klausur geschrieben habe an und poste hier meine fortschritte. Vielleicht kann man ja Fehler finden bzw. Ideen austauschen.
Also meine erste Idee ist erstmal:
Den String (Funktion) Char für Char durchgehen und checken:
wie oft bzw. ob nach einem x...* (mal) ein weiteres x auftaucht. Dann weiss man erstmal wie oft man produktregel/quotientenregel anwenden muss.
Dann die Funktion in zwei Strings aufteilen und durcharbeiten.
ghostdog ist offline   Mit Zitat antworten
Alt 14.12.05, 08:09   #5 (permalink)
 
Registriert seit: 16.11.05
Ranma Leistung: Facit NTK
Likes: 0
Standard

Ahhh, ein "Bauchprogrammierer"
Je komplexer die Aufgabestellung wird, desto sinnvoller ist es, konzeptionell vorzugehen.
Aber die Erfahrung muss wohl jeder selber machen ... ich auch

Bin gespannt auf Deine Ergebnisse
Viel Erfolg *ehrlich*
Ranma ist offline   Mit Zitat antworten
Alt 20.12.05, 17:23   #6 (permalink)
 
Registriert seit: 21.05.04
darkdieter Leistung: Facit NTK
Likes: 0
Standard

Als Tipp, google dich mal schlau über numerische Verfahren zur Approximation von Ableitungen... da gibt es einiges an Algorithmen mit denen man die Ableitung sehr genau + ein kleiner Fehler berechnen kann (der Fehler ist meist in der Region 10^-große Zahl.. also zu vernachlässig in den meisten Fällen)

Ein einfaches Verfahren, haben wir selbst schon mal in Haskell implementieren müssen , ist zb bis zu einem bestimmten Wert die Formale Definition von Ableitung nachzurechnen, siehe:

http://de.wikipedia.org/wiki/Differe...n_und_Notation

Damit kann man sich dann zb Punkt für Punkt die Funktionswerte der Ableitung errechnen.

Was bringt das? Nun, man abstrahiert vollkommen von der gegebenen Funktion, man muss sie nur ausrechnen können. Es ist also egal ob da ein cos, e^x oder was auch immer steht, man muss sich nicht überlegen welche Regel zu Anwendung kommt, kaum was parsen etc..
darkdieter ist offline   Mit Zitat antworten
Alt 23.12.05, 17:34   #7 (permalink)
 
Registriert seit: 26.05.05
Gabriel3 Leistung: Facit NTK
Likes: 0
Standard re

Hi zusammen!
@hbier:
Ich will dich ja nicht entmutigen oder desillusionieren, aber die Idee ist völlig illusorisch. Ich habe selbst mal versucht, eine Ableitungsfunktion zu programmieren, als ich folgendes Programm schrieb:
Function 2.0
(Zum testen empfohlen )
Bei den bereits erwähnten x^n-Funktionen ist es natürlich einfach (siehe Coreys Beitrag), aber sobald ein Sinus auftaucht, wird es bereits problematischer. Wenn du jetzt aber einen Quotienten aus einem Polynom und dem Arcustangens einer log-Funktion hast (Ja ich weiß, ich könnte es vielleicht übertrieben haben ) , dann hast du ein Problem.
Also: Versuche dich daran, aber - ehrlich gesagt - erwarte ich nicht, dass es dir gelingen wird.
Schönen Abend noch!
cu Gabriel
Gabriel3 ist offline   Mit Zitat antworten
Alt 23.12.05, 17:52   #8 (permalink)
Senior Member
 
Benutzerbild von t3rr0r.bYt3
 
Registriert seit: 07.01.03
t3rr0r.bYt3 Leistung: Z3
Likes: 19
Standard

Zitat:
Wenn du jetzt aber einen Quotienten aus einem Polynom und dem Arcustangens einer log-Funktion hast (Ja ich weiß, ich könnte es vielleicht übertrieben haben ) , dann hast du ein Problem.
was nicht heißt, das es unmöglich ist.

ableiten folgt strengen mathematischen regeln, wieso sollte man das nicht programmieren können ?

bei deinem beispiel grade eben: 1.erkennung: quotientenregel. 2. "hinschreiben", also ( Z' * N - N' * Z ) / N? (oder wie auch immer das war *g*). Z, N lassen sich schonmal direkt einsetzen. die ableitung des polynoms (im zähler = Z) basiert auf den standard-ableitungsregeln, der tangens oder was auch immer genauso. das muss halt nur noch aufgelöst werden (auch hier gilt: nich alles auf einmal - bei komplizierten argumenten diese auch mal so stehen lassen und erst später betrachten; hier z.b. die allgemeine formel für die quotientenregel, danach erst die ableitungen bilden)

Zitat:
ber sobald ein Sinus auftaucht, wird es bereits problematischer.
warum ? die ableitung für den sinus ist der cosinus, also schreibt dein prog statt "sin()" eben "cos()".. wo ist das problem ?
t3rr0r.bYt3 ist offline   Mit Zitat antworten
Alt 23.12.05, 18:08   #9 (permalink)
 
Registriert seit: 26.05.05
Gabriel3 Leistung: Facit NTK
Likes: 0
Standard re

Hi!
Erstes Problem: Du musst herausfinden, welchen Grades das Polynom ist und ob irgendein Glied "fehlt" (also mit 0 multipliziert wurde).
Auch die Quotientenregel anzuwenden wird nicht einfach.
Allerding sage auch ich nicht, dass es unmöglich ist. (Bloß für den Normalsterblichen. ) Es kann ja gar nicht unmöglich sein, weil ja beispielsweise Maple auch derartige Funktionen zur Verfügung stellt. Aber ich wiederhole: Dann hat man ein Problem!
Ach ja:

Zitat:
Zitat:
ber sobald ein Sinus auftaucht, wird es bereits problematischer.


warum ? die ableitung für den sinus ist der cosinus, also schreibt dein prog statt "sin()" eben "cos()".. wo ist das problem ?
Jaja. Ist schon klar. Aber dann musst du erstmal durch irgendwelche Stringparsakrobatikstechniken herausgefunden haben, dass ein Sinus vorkommt, dann von was der Sinus genommen werden soll (ich meine, wenn da so ein Sinus in der Landschaft steht, weiß man noch nicht so genau, wovon man den Sinus nehmen soll). Aber wieder gilt: Nicht unmöglich.
Ich sage nur: Viel Spaß!
Einen schönen Abend noch.
cu Gabriel
Gabriel3 ist offline   Mit Zitat antworten
Alt 23.12.05, 19:01   #10 (permalink)
Senior Member
 
Benutzerbild von t3rr0r.bYt3
 
Registriert seit: 07.01.03
t3rr0r.bYt3 Leistung: Z3
Likes: 19
Standard

Zitat:
Erstes Problem: Du musst herausfinden, welchen Grades das Polynom ist und ob irgendein Glied "fehlt" (also mit 0 multipliziert wurde).
warum ? ich weiß nimmer so ganz, polynome wurden bei uns in analysis I etwas unter den tisch gekehrt, aber wenn son teil die form ax^n + bx^(n-1) + ... yx + z hat, dann sollte das prog erkennen, dass es summanden sind, die man getrennt ableiten kann..
deswegen ja auch anfangs die idee mit dem "klammern durchzählen (erfassen usw.)". daran könnte man ne struktur der funktion erkennen, also obs ne summe ist oder n produkt aus 2 polynomen oder was weiß ich und diese dann nach priorität bearbeiten. das es einfach ist, hab ich auch niemals behauptet..

btw wie gesagt, meine idee: prioritätssystem mit klammern + operatoren erstellen. durchdenken erlaubt, ich hab wie immer keine zeit ;-)

Zitat:
Aber dann musst du erstmal durch irgendwelche Stringparsakrobatikstechniken herausgefunden haben, dass ein Sinus vorkommt
ne suche nach dem string "sin" is nich soo kompliziert, außerdem verstehe ich nicht, warum hier einige ne 3-zeilen-lösung wollen.. kompliziertere programme brauchen halt ein paar zeilen mehr.. (nich auf dich bezogen, gabriel3 !)
btw gibts für sowas wie substringsuche sicher schon snippets, im schlimmsten fall brute-forced man sich halt zeichen für zeichen durch (nein, ich behaupte nicht, das wäre elegant oder effizent, aber einfach zu programmieren *g*)

Zitat:
ich meine, wenn da so ein Sinus in der Landschaft steht, weiß man noch nicht so genau, wovon man den Sinus nehmen
bei einem sinus steht das argument im normalfall in klammern dahinter, oder was meinst du ? abgesehen davon, dass ich in der ableitungsfunktion nur "cos()" stehen haben will, der muss da nichmal irgendwas zusammensuchen, sondern das argument 1 zu 1 übernehmen..
zumindest kann man sich ja bei der benutzung des programms darauf einigen, das argument bei der eingabe in klammern zu setzen.

eine absolut korrekte klammerung ist dabei natürlich das A und O, da kann man nicht, wie in der schule gern gemacht, etwas schludrig sein..

man, wenn das hier so weitergeht, setzt ich mich echt noch davor, dann is ruhe hier *g*
t3rr0r.bYt3 ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Software Home » Code Kitchen » Funktion ableiten
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Formel aus Folge ableiten? :::Lük::: Cryptography & Encryption 11 18.06.09 21:09
Funktion zum prüfen ob Funktion erlaubt ist Chatter (Web-) Design und webbasierte Sprachen 5 21.01.07 14:11
ASM-Funktion in C++ sd333221 Code Kitchen 14 08.10.06 19:55
DLL Funktion NULL!=NULL Code Kitchen 14 20.06.06 19:49
Such-Funktion ph0x Hackerboard.de-Feedback 4 04.02.02 14:29


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61