Funktion gesucht



  • Abend Leute,

    ich bin auf der Suche nach einer Funktion, mit folgenden Eigenschaften:
    + Der Maximalwert soll variabel sein und festlegbar sein durch Parameter m
    + Über einen Parameter p (p in [0,1]) soll sich die "Hügelartigkeit" der Funktion definieren lassen. Bei p=0 soll die Funktion sehr flach sein. Bei p=1 soll sie ein richtig "spitzer" Hügel sein.
    + Über einen Parameter r soll man festlegen können, wann die Funktion die x-Achse schneidet. Sprich f(r) soll 0 sein.
    + Im Grunde ist die Funktion symmetrisch um die y-Achse, aber das ist nicht so wichtig, da meine Eingabewerte (x-Werte) alle positiv sind. Ich brauche also nur die "rechte" Seite der symmetrischen Funktion.

    Ein Beispiel: Sagen wir ich habe folgende Parameter:
    m=5 (der maximale y-Wert soll also bei 5 sein. Sprich: f(0)=5)
    p=0.8 (Funktion soll recht spitz/hügelartig bei x=0 zulaufen)
    r=10 (Funktion soll bei x=-10 und x=10 ausschwingen (sprich f(-10)=0, f(10)=0)

    Bei meiner Suche bin ich auf die Normalverteilung gestoßen, und deren Dichtefunktion sieht schon sehr nach dem aus, was ich suche. Für kleine Sigma wird sie sehr "spitz/Hügelartig" und für große Sigma wird sie sehr flach. Mit Sigma könnte ich also wohl irgendwie meinen Parameter p beschreiben.
    Das Problem ist nur: Die Funktion wird nie null und ihr Maximalwert ist auch nur indirekt festlegbar (über sigma).
    Hat irgendwer eine Idee, wie eine Funktion aussehen könnte, die meine Anforderungen erfüllt? (mir wäre am liebsten die Normalverteilung, muss aber nicht sein)

    Danke! 🙂



  • Du kannst sie dir stueckweise zusammenbauen:
    - fuer den Hut: Umgekehrte Parabel -x^2 und [-1 .. 1]
    - fuer den Rest: x^(-2) [.. -1] und [1 ..]
    - Schnittpunkt mit x-Achse erreichst du mit Verschiebung in y-Richtung
    - Hoehe erreichst du mit Verschiebung + Multiplikation

    Am einfachsten waere aber ein Polygonzug.

    Je nachdem welche Eigenschaften (mehrfache Differenzierbarkeit ...) du forderst, muss man sich schauen, was man an den Schnittstellen nachkorrigieren muss. Andere Moeglichkeiten bieten sich an, indem man links und rechts geeignete Parabeln (z.B. x^2 ohne Minus) an bestimmten anklebt, wenn nur ein bestimmtes Intervall von Noeten ist. Weitere: Gedaempfte Schwingung, Splines, Interpolationspolynome, ...



  • Rückfrage:
    Mir fehlen noch zwei Werte:
    f'(0) (Die Steigung an dem Y-Achsenschrittpunkt, vermutlich 0)
    f'(r) (Die Steigung am (ersten,positiven) X-Achsenschrittpunkt)

    Wenn f'(0) == 0 und f'(r) == 0 sein soll
    f(x) = m * cos(x * pi * r / 2) ^ 2 ^ p



  • Du könntest dich alternativ auch bei den Zugehörigkeitsfunktionen der Fuzzy-Logik bedienen. Ein Ansatz könnte sein http://topcat.iit.bme.hu/~fercsi/docs/books/Mathematik-Kompendium/daten/kap_5/node269.htm



  • Ich habe sowas:

    Y= ((N^2 - X2))2 / N^4

    N ist die Halbbreite einer Kurve bzgl Y Achse
    X läuft von -N bis +N; Ausserhalb des Bereiches wird Y=0 angenommen!
    Die Kurve hat
    bei X=0 das Maximum
    bei X=+/- N einen Nulldurchgang
    bei den Nulldurchgängen ist die Steigung=0, ebenfalls im Maximum

    oder:

    Y=(N^2 - X^2) / N^4

    Das ist ne einfache Parabel mit Nulldurchgang bei X=+/-N

    oder

    Y=(N^4 - X^4) / N^4

    Das gibt ne schöne, breite Jurve, Im Nulldurchgang rel. steil.

    oder allgemein:

    Y=(N^k - abs(X)^k) / (N^k)

    mit k kann dabei die "Breite" der Glocke verstärkt werden,
    N steuert den Abstand der Nulldurchgänge
    je Breiter die Kurve durch k wird, desto steiler ist sie an den Rändern des Bereiches -N .. +N

    Ev. hilft das

    Gruss
    Frank



  • nimm doch 1/exp(x*x) als anfang. die gibt schon mal 'nen symmetrischen hügel, der die y-achse bei 1 schneidet. geteilt durch p machste ihn flacher, usw...
    🙂



  • das ist doch die Dichte der Normalverteilung ...



  • aber die gefällt ihm ja nicht, weil sie nie null wird. 🙄



  • Dann halt exp(-x2)-1/2 oder so. Wobei ich das Gefühl habe, dass der OP keine Ahnung hat, wie man so eine Funktion mit Parametern verschieben, stauchen und strecken kann.
    Auch eine Idee, Mexican-hat-Funktion.



  • oder cos(|x|) / e^(x*x) - Hügel, der nach beiden Seiten mit unendlich vielen Nullstellen "ausschwingt"


Log in to reply