Die Seite Name und Typ

Auf der Seite Name und Typ können Sie die Kategorie, den Funktionsnamen, das Funktionsmodell und den Funktionstyp festlegen. Das linke Bedienfeld dieser Seite enthält Hinweise und Beispiele für jeden der Funktionstypen.

Bedienelemente des Dialogs

Eine Kategorie auswählen Wählen Sie eine vorhandene Kategorie aus, in der Sie neu erstellte Funktion ablegen. Dieses Bedienelement ist nicht verfügbar, wenn Sie die Option Eine benutzerdefinierte Funktion bearbeiten auf der Seite Ziel wählen. Um benutzerdefinierte Peakfunktionen und Basislinienfunktionen im Dialog Peaks analysieren zur Verfügung zu stellen, müssen Sie die Kategorie PFW für Peakfunktionen oder die Kategorie Baseline für Basislinienanpassungsfunktionen wählen. Oder Sie verwenden später Hilfsmittel: Fitfunktionen verwalten im Menü, um Ihre Funktion in der Kategorie PFW bzw. Baseline zu verschieben oder zu teilen.
Neu Klicken Sie auf diese Schaltfläche Ffb new category.png, um einen Dialog aufzurufen, mit dem Sie eine neue Kategorie erstellen können. Dieses Bedienelement ist nicht verfügbar, wenn Sie die Option Eine benutzerdefinierte Funktion bearbeiten auf der Seite Ziel wählen.
Funktionsname Geben Sie einen Namen für die Funktion ein. Dieses Bedienelement ist nicht verfügbar, wenn Sie die Option Eine benutzerdefinierte Funktion bearbeiten auf der Seite Ziel wählen.
Dateiname (.FDF) Origin erstellt für jede hinzugefügte Funktion eine entsprechende .FDF-Datei, die im Ordner \FitFunc Ihres Anwenderdateiordners gespeichert wird. Dieses nur lesbare Bearbeitungsfeld zeigt den Namen der Anpassungsfunktionsdatei.
Beschreibung Fügen Sie für die Funktion eine Beschreibung hinzu.
Funktionsmodell Legen Sie das Funktionsmodell fest. Optionen:
  • Explizit
    Die Funktionformel kann explizit als y=f(x) definiert werden.
  • Implizit
    Die Funktionsformel kann nicht explizit definiert werden, was mit f(x,y)=estimate ausgedrückt wird, wobei estimate 0 ist und in Origin mit f ausgedrückt wird.
Funktionstyp Legen Sie fest, wie die Funktion auf der Seite Funktionskörper definiert werden soll. Optionen:
  • LabTalk-Ausdruck
    Wählen Sie diese Option für einfache Anpassungsfunktionen, die nur über eine abhängige Variable verfügen. Der Funktionskörper ist auf einen Ausdruck beschränkt, und Sie müssen nur die rechte Seite der Gleichung eingeben. Diese Option bietet eine schnellere Leistung als Origin C. Das folgende Beispiel demonstriert diese Art von Funktionskörper.
    a + b * exp( -x^c / d );
  • Python-Funktion (Skalar)
    Skalarfunktionen erhalten einen Wert für jede unabhängige Variable während eines Abrufs und geben einen Wert für jede abhängige Variable aus. Diese Option ist langsamer als vektorbasiertes Anpassen und wird daher am besten für kleinere Datensätze verwendet. Aufgrund der Geschwindigkeit empfehlen wir das Verwenden von vektorialen Python-Anpassungsfunktionen. Das folgende Beispiel demonstriert diese Art von Funktionskörper. Beachten Sie, dass Sie dem Funktionsnamen das Präfix "py." voranstellen müssen, wenn Sie den Funktionskörper erstellen.
    y = py.pyline(x, a, b);
  • Python-Funktion (Vektor)
    Vektoriale Funktionen erhalten einen Array (in Form einer Liste) der unabhängigen Werte für jede unabhängige Variable während eines Abrufs und gibt einen Array (in Form einer Liste) für jede abhängige Variable aus. Aus diesem Grund ist es viel schneller als das Verwenden von skalaren Funktionen. Diese Option verwendet kein LabTalk-Verarbeitung. Das folgende Beispiel demonstriert diese Art von Funktionskörper.
    y=pyGaussVectorEq(x,y0,xc,A,w);
  • LabTalk-Gleichungen
    Wählen Sie diese Option, wenn Sie mehrere Zeilen brauchen oder Sie über mehr als eine abhängige Variable verfügen. Diese Option unterstützt Kontrollstrukturen wie Schleifen oder if-else-Anweisungen nicht. Sie können jedoch den ternären Operator verwenden. Diese Option bietet eine schnellere Leistung als Origin C. Das folgende Beispiel demonstriert diese Art von Funktionskörper.
    temp = 10;
    y1 = A + exp( (x1 - xc) / temp^2 );
    y2 = A + temp / (x2 - xc)^2;
  • Origin C
    Diese Option ist langsamer als Gleichungen. Wählen Sie diese Option, wenn Ihre Anpassungsfunktion Schleifen oder Kontrollstrukturen benötigt, die nicht von dem ternären Operator ersetzt werden können. Beachten Sie, dass Sie sich streng an die C-Syntax halten müssen: Bei Parametern muss die Groß- und Kleinschreibung beachtet werden, und die Division durch eine ganze Zahl unterscheidet sich von der Division durch ein "double". Das folgende Beispiel demonstriert diese Art von Funktionskörper.
    if ( x < -PI )
    y = y0 + exp( -x-a*PI );
    else if ( x > PI )
    y = y0 + exp( x-a*PI );
    else
    y = cos(x);
  • LabTalk-Skript
    Diese Option ist viel langsamer als Gleichungen oder Origin C. Wählen Sie diese Option, wenn Sie Kontrollstrukturen brauchen oder nicht mit der C-Sprache vertraut sind. Das folgende Beispiel demonstriert diese Art von Funktionskörper.
    range rr = %C;
    int b = %(rr[P1]$);
    y = b + a*x;
  • Externe DLL-basierte Funktion
    Wählen Sie diese Option, um eine Anpassungsfunktion mit Hilfe einer externen DLL zu definieren. Mit einer externen DLL kann die Anpassungszeit signifikant verbessert werden. Weitere Einzelheiten zu diesem Typ finden Sie unter dem Thema Externe DLL verwenden.


Integration während Anpassung einschließen

Wählen Sie diese Option, um einen Integranden zu definieren und ihn in die Anpassungsfunktion einzubinden. Diese Option ist nur verfügbar, wenn Funktionstyp entweder LabTalk-Ausdruck, LabTalk-Gleichungen oder LabTalk-Skript ist. Das Funktionsmodell kann explizit oder implizit sein.