Gnuplot: Eine andere Möglichkeit, dieselbe Funktion in 1d und 2d zu schreiben

298
Sunil

Ich bin verwirrt über die folgende Art von Funktion

f(x) = b/x**nb * exp(y_(y)/k)  f(x,y) = (b/(x**nb))*exp(y/k) 

Hier yscheint das gleiche in den beiden Ausdrücken zu sein.
Ich möchte den Unterschied oder die Ähnlichkeit verstehen.

1

1 Antwort auf die Frage

0
Hastur

Ich kann Ihnen sagen, was ich sehe und ich werde sicher etwas vermissen:

  1. f(x) = b/x**nb * exp(y_(y)/k); In dieser Funktion gibt es:
    • eine Variable ( x)
    • einige Parameter b, nb, k, y(beachten Sie die letzte)
    • eine Funktion y_(...)des Parameters y, die an anderer Stelle definiert ist.
  2. f(x,y) = (b/(x**nb))*exp(y/k); In dieser Funktion gibt es stattdessen:
    • zwei Variablen ( xund y)
    • einige Parameter b, nb,k
    • noch etwas ()mehr:-)

Lassen Sie uns ein Beispiel machen. Nehmen wir an, es sei 1. Funktion ( f (x) ) und definiert y=3. Wir erhalten ein Ergebnis (eine Zeichnung, einige Zahlen, eine Funktionsdefinition, sehen Sie, wie Sie wollen).

Um dasselbe Ergebnis zu erhalten, wenn stattdessen f (x, y) definiert ist, können wir verwenden f(x,y_(3)).

Bis jetzt hoffe ich, dass es genug Flugzeug ist. Natürlich y_()hat vor in beiden Fällen festgelegt werden, und wir können die Funktion aufrufen y_ (x ') mit einem beliebigen Parameter oder festen Wert: f(x,y_(AnotherParameter)), f(x,5)oder mit einer anderen Funktion f(x,zZz_(y))mit oder einfach f(x,y).

In jedem Moment können Sie haben oder die 1. oder die 2. in definierten gnuplot, aber nicht beides zugleich . Eine zweite Definition überschreibt die vorherige.


Lassen Sie uns nun die Dinge ein wenig komplizierter machen :
Warum können Sie Dinge als y_ (x ') als erste in einer Funktion finden oder anstelle der einfachen Variablen in Funktion 2d als f (g (x), h (y)) ?
Wenn Sie bei der Analyse realer Daten feststellen, dass ein konstanter Parameter nicht so konstant ist, kann es angenehm sein, diesem Parameter eine funktionale Abhängigkeit zu geben.
Wenn Sie die Abhängigkeit des Parameters außerhalb der Funktion schreiben, können Sie sie immer schnell ändern, ohne den Ausdruck der Funktion selbst ändern zu müssen. Wenn Sie eine FIT durchführen, haben Sie gerade die Funktion, das Verhalten des Parameters in Bezug auf seine Abhängigkeiten darzustellen.

Wenn die FIT anzeigt, dass der Parameter eine Konstante ist, können Sie die FIT wiederholen, indem Sie den Parameter auf eine einfache Konstante festlegen, wodurch die Funktionalität beendet wird. (dh y_(x)=3für jeden wird xes immer antworten 3).
Wenn die FIT nicht konvergiert, können Sie versuchen, eine andere Funktion für den Parameter zu finden.


IMHO ist es besser, die Verwendung von Dummy-Variablen ( y) als Parameter zu vermeiden, da dies leicht irreführend ist.