Potenzfunktion mit reellem Exponent



  • Ich schaue mir gerade http://www.opensource.apple.com/source/ksh/ksh-13/ksh/src/lib/libast/uwin/exp.c an, kann dem Code allerdings nicht ganz folgen. Mal abgesehen davon, dass das nicht sehr minimalistisch aussieht, scheint die Funktion nebenbei den ln zu benötigen, den ich allerdings noch nicht habe.



  • diese werden gebraucht:

    * Required system supported functions:
     *	scalb(x,n)	
     *	copysign(x,y)	
     *	finite(x)
    

    aber wenn du den code doof findest, einfach weitersuchen.
    🙂



  • Ich habe gesehen, dass es da Voraussetzungen gibt, schon allein das stört mich. Es werden scheinbar selbst erstellte Pakete eingebunden, es gibt sehr viele Makros,...

    Am liebsten wäre mir ja eine ausführliche Beschreibung, wie man die Exponentialfunktion gut annähern kann - dann könnte ich den ollen Code vergessen und selbst was schreiben. (Übrigens habe ich bisher noch keinen weiteren Code gefunden, der exp definiert.)

    Wie komme ich eigentlich vom exp zum Sinux? Mit komplexen Zahlen kann mein Programm nämlich nicht rechnen...



  • Stiefel2000 schrieb:

    Ich habe gesehen, dass es da Voraussetzungen gibt, schon allein das stört mich. Es werden scheinbar selbst erstellte Pakete eingebunden, es gibt sehr viele Makros,...

    ach, das ist doch nur kleinkram, den du dir leicht zusammensuchen kannst.

    Stiefel2000 schrieb:

    Am liebsten wäre mir ja eine ausführliche Beschreibung, wie man die Exponentialfunktion gut annähern kann - dann könnte ich den ollen Code vergessen und selbst was schreiben.

    such mal nach dem buch 'hacker's delight', da ist sowas drin. ansonsten google: 'fast exp approximation' und ähnliche suchbegriffe kombinieren. und vergiss gleich sowas wie reihenentwicklung. das ist übelst langsam und ungenau.

    Stiefel2000 schrieb:

    (Übrigens habe ich bisher noch keinen weiteren Code gefunden, der exp definiert.)

    du hast nur nicht richtig gesucht. solchen kram findet man ohne ende im internet.

    Stiefel2000 schrieb:

    Wie komme ich eigentlich vom exp zum Sinux? Mit komplexen Zahlen kann mein Programm nämlich nicht rechnen...

    ich glaub das geht nur in der komplexen ebene (such mal nach einheitskreis, eulersche identität und sowas). aber ich kann mich täuschen, frag doch mal im matheforum.
    🙂



  • Matheforum ist nichts für mich - ich kann zwar nicht von mir behaupten, dass ich Mathematik studiert hätte, aber es fehlt nich viel dazu ;). Ich weiß also sehr gut, wovon du sprichst und habe auch schon überlegt, wie ich die komplexen Zahlen in die e-Funktion bringe, allerdings ist mir nichts eingefallen. Aber das muss ja auch erst später folgen.

    Wenn ich nach "exp filetype:c" oder "exponential implement" oder Ähnlichem suche, finde ich sehr wenige sinnvolle Dinge. Ich probier gleich mal deine Vorschläge aus.





  • Spar dir dein 🙄, "fast" habe ich nirgendwo verwendet.

    Der wiki-Link zeigt mir auch nur die Reihendarstellung (ist ja bereits ausgeschieden) und die Möglichkeit, die auch die bisher von mir gefundenen Quelltexte liefern. Allerdings führt das wieder dazu, dass ich eine Potenzfunktion mit reellem Exponenten versehen müsste, was mir bisher nicht gelungen ist.



  • rüdiger schrieb:

    http://de.wikipedia.org/wiki/Exponentialfunktion#Numerische_Berechnungsm.C3.B6glichkeiten

    dafür braucht er pow() und log(), die er noch nicht hat.
    aber es gibt ja auch noch die 'taschenrechner-methode': http://en.wikipedia.org/wiki/Cordic
    🙂



  • Na das sieht ziemlich lustig aus :). Wenn das wirklich das ist, was mein Taschenrechner macht, dann kann die Methode eigentlich nur gut sein. Mal schauen, was sich daraus machen lässt...



  • Dieser Beitrag wurde gelöscht!

Anmelden zum Antworten