| Parameterinitialisierung für rationale FunktionenRationalFunc-InitialParameter 
 ZusammenfassungIn diesem Tutorial sehen Sie, wie Initialisierungsparameter für rationale 
 Fitfunktionen mit Hilfe der multiplen linearen Regression berechnet werden 
 und ein Fit der Daten mit diesen berechneten Parametern durchgeführt wird. Origin-Version mind. erforderlich: Origin 9.0 SR0 Was Sie lernen 
 werdenDieses Tutorial zeigt Ihnen, wie Sie: Initialisierungsparameter für rationale Fitfunktionen berechnen.eine multiple lineare Regression mit Hilfe von Origin C-Code durchführen.
 Beispiel und 
 SchritteAlgorithmusIn diesem Tutorial wird die folgende rationale Funktion als Beispiel 
 verwendet: 
 wobei x die unabhängige Variable und y die abhängige Variable 
 ist sowie a, b, c, d, e die Fitparameter 
 sind. Das Multiplizieren beider Seiten mit dem Nenner der rechten Seite ergibt: 
 , und die Gleichung kann ausgedrückt werden mit: 
 Das Substituieren der Anpassungsdaten  in der Gleichung ergibt: 
 Daher wird das Schätzen der Initialisierungsparameter für eine rationale 
 polynomielle Fitfunktion ein Problem für die multiple lineare Regression 
 mit den linearen Koeffizienten a, b, c, d, 
 e. 
 Für die multiple lineare Regression enthält Origin eine Funktion ocmath_multiple_linear_regression 
 in Origin C, die über den Initialisierungscode aufgerufen werden kann. Daten importierenÖffnen Sie eine neue Arbeitsmappe.Kopieren Sie die Daten unter Beispieldaten 
 in die Arbeitsmappe.Markieren Sie Spalte B und wählen Sie Zeichnen: Symbol: Punktdiagramm 
 im Origin-Menü. Das Diagramm sollte folgendermaßen aussehen:
  
 Fitfunktionen definieren und Parameter initialisierenDie Anpassungsfunktion kann mit Hilfe des Hilfsmittels Fitfunktionen 
 erstellen definiert werden. Wählen Sie Hilfsmittel: Fitfunktionen erstellen im Origin-Menü.Klicken Sie im Dialog Fitfunktionen erstellen auf der Seite 
 Ziel auf die Schaltfläche Weiter.Wählen Sie auf der Seite Name und Typ die Option User 
 Defined in der Auswahlliste Eine Kategorie auswählen oder erstellen, 
 geben Sie rationalfunc im Feld Funktionsname ein und wählen 
 Sie Ausdruck in der Gruppe Funktionstyp. Klicken Sie auf 
 die Schaltfläche Weiter.Geben Sie auf der Seite Variablen und Parameter die Parameter 
 a, b, c, d, e in das Feld Parameter ein. Klicken Sie auf 
 die Schaltfläche Weiter.
	Geben Sie auf der Seite Ausdrucksfunktion das folgende Skript 
 im Feld Funktionskörper ein: 
	
		(a+b*x+c*x^2)/(1+d*x+e*x^2)
		
	 Klicken Sie auf die Schaltfläche Auswerten. Es wird y=1 bei 
 x=1 gezeigt, das heißt, der Ausdruck ist korrekt. Klicken Sie auf die 
 Schaltfläche Weiter.
	Klicken Sie auf der Seite Parameterinitialisierungscode auf 
 die Schaltfläche Code Builder öffnen  rechts neben dem Feld Initialisierungscode und initialisieren 
 Sie die Fitparameter, wie folgt, entsprechend dem Algorithmus. 
	UINT nOSizeN = x_data.GetSize(); //Number of points
	  UINT nVSizeM = 5; //Number of parameters
	 
	  matrix mX(nOSizeN, 5);
	 
	  //Construct matrix for data points of independent variables 
	  vector vCa(nOSizeN), vCb, vCc, vCd, vCe;
	  vCa = 1;
	  mX.SetColumn( vCa, 0 );
	  vCb = x_data;
	  mX.SetColumn( vCb, 1 );
	  vCc = x_data^2;
	  mX.SetColumn( vCc, 2 );
	  vCd = -x_data*y_data;
	  mX.SetColumn( vCd, 3 );
	  vCe = -x_data^2*y_data;
	  mX.SetColumn( vCe, 4 );
	 
	  //Options for multiple linear regression
	  LROptions stLROptions;
	  stLROptions.UseReducedChiSq = 1;
	  stLROptions.FixIntercept = 1; //Fix the intercept at 0.
	 
	  FitParameter stFitParameters[ 6 ]; // should be nVSizeM+1
	  UINT nFitSize = nVSizeM + 1;
	 
	  int nRet = ocmath_multiple_linear_regression(mX, nOSizeN, nVSizeM, y_data, 
	    NULL, 0, &stLROptions, stFitParameters, nFitSize );
	 
	  if( nRet == STATS_NO_ERROR )
	  {
	    a = stFitParameters[1].Value;
	    b = stFitParameters[2].Value;
	    c = stFitParameters[3].Value;
	    d = stFitParameters[4].Value;
	    e = stFitParameters[5].Value;
	  }
	 Klicken Sie auf die Schaltfläche Kompilieren, um die Datei 
 zu kompilieren. Klicken Sie dann auf die Schaltfläche Zurück zum NSLF. 
 Klicken Sie auf die Schaltfläche Fertigstellen, um den Dialog Fitfunktionen 
 erstellen zu schließen.
 Kurve anpassenWählen Sie Analyse: Anpassen: Nichtlinearer Fit im Origin-Menü. 
 Wählen Sie im Dialog NLFit auf der Seite Einstellungen: Funktionsauswahl 
 die Option User Defined in der Auswahlliste Kategorie und 
 die Funktion rationalfunc in der Liste Funktion.Aktivieren Sie die Registerkarte Parameter. Die aus dem 
 Initialisierungscode berechneten Initialisierungsparameter werden im Dialog 
 aufgelistet, und die Fitfunktionskurve für die Parameter wird folgendermaßen 
 gezeigt. Es scheint, dass die Initialisierungsparameter aus dem Initialisierungscode 
 sehr gut sind. 
 Klicken Sie auf die Schaltfläche Fit, um die Kurve anzupassen.
 AnpassungsergebnisseDie angepasste Kurve sollte folgendermaßen aussehen:  
 Die angepassten Parameter sind im Folgenden zu sehen: 
| Parameter | Wert | Standardfehler | 
|---|
 | a | 3,17139 | 0,30284 | 
|---|
 | b | -1,65602 | 1,76748 | 
|---|
 | c | 0,26407 | 1,81764 | 
|---|
 | d | 3,6884 | 0,26362 | 
|---|
 | e | 5,31812 | 0,55265 | 
|---|
 Beispieldaten
| x | y | 
|---|
 | -1,5 | 1,13173 |  | -1,39474 | 0,8262 |  | -1,28947 | 1,06999 |  | -1,18421 | 1,37155 |  | -1,07895 | 0,79569 |  | -0,97368 | 2,11346 |  | -0,86842 | 2,32006 |  | -0,76316 | 3,9205 |  | -0,65789 | 5,81904 |  | -0,55263 | 7,38037 |  | -0,44737 | 8,31272 |  | -0,34211 | 11,39718 |  | -0,23684 | 8,39808 |  | -0,13158 | 4,7305 |  | -0,02632 | 4,11105 |  | 0,07895 | 2,39105 |  | 0,18421 | 1,65394 |  | 0,28947 | 0,42953 |  | 0,39474 | 0,83337 |  | 0,5 | 1,18758 |  
| Hinweis: Sie können diese Methode 
 auch verwenden, um Parameter für andere rationale polynomielle Fitfunktionen 
 zu initialisieren. |  |