| 2.4.5 fitLR
 Brief InformationSimple linear regression
 Additional InformationMinimum Origin Version Required for documented features: Origin 9.0
 Command Line Usage
1. fitLR (1,2); // Fit using column 1 as X and 2 as Y
2. fitLR iy:=(1,2) N:=5;
3. fitLR (1,2) N:=-10;
4. fitLR iy:=(1,2) N:=-5 oy:=<new>;
5. fitLR iy:=(1,2) fixint:=1 intercept:=0; // Force fit through 0,0 (beginning with 9.0)
6. fitLR iy:=(1,2) fixslope:=1 slope:=0.667; // Force fit to slope of 0.667 (beginning with 9.0)
 X-Function Execution OptionsPlease refer to the page for additional option switches when accessing the x-function from script
 Variables
| Display Name
 | Variable Name
 | I/O and
 Type
 | Default Value
 | Description |  
| Input | iy | Input
 XYRange
 | <active> | This variable specifies the input data range.
 |  
| Fit Begin/End Points | N | Input
 int
 | 0 | This variable specifies the number of points to use in the linear regression. When this value is zero, all points in the range are used. When the number is a positive integer, the first N points are used. When the number is a negative integer, the last N points are used.
 |  
| Fix Intercept | fixint | Input
 int
 | 0 | Check this to fix (1) the intercept in linear regression. Default (0) does not fix intercept.
 |  
| Fix Intercept At | intercept | Input
 double
 | 0 | Specify the value of fixed intercept. This value is ignored if fixint = 0.
 |  
| Fix Slope | fixslope | Input
 int
 | 0 | Check this to fix (1) the slope in linear regression. Default (0) does not fix slope.
 |  
| Fix Slope At | slope | Input
 double
 | 1 | Specify the value of fixed slope. This value is ignored if fixslope = 0.
 |  
| Intercept | a | Output
 double
 | <unassigned> | The fitted intercept.
 |  
| Slope | b | Output
 double
 | <unassigned> | The fitted slope.
 |  
| Intercept Error | aerr | Output
 double
 | <unassigned> | If defined, this variable will contain the intercept error.
 |  
| Slope Error | berr | Output
 double
 | <unassigned> | If defined, this variable will contain the slope error.
 |  
| R value | r | Output
 double
 | <unassigned> | If defined, this variable will contain the Adjusted residual sum of squares.
 |  
| Number of Actual Points Used | pts | Output
 int
 | <unassigned> | If defined, this variable will contain the number of points in the fit. This will be the number of points in the range when N = 0 is used to fit all points.
 |  
| Output | oy | Output
 XYRange
 | <optional> | This variable specifies the output range for creating the fit line datasets.
 |  DescriptionThis X-Function calculates the slope and intercept of the linear regression line. Regardless of the settings for optional outputs, the function creates a Tree object named fitlr which contains these property values:fitlr.iy$
 fitlr.N
 fitlr.fixint
 fitlr.intercept
 fitlr.fixslope
 fitlr.slope
 fitlr.a
 fitlr.b
 fitlr.aerr
 fitlr.berr
 fitlr.r
 fitlr.pts
 
 Examples//Shows how to use fitLR on various ranges from provided sample data and dump the results
//Create a new workbook and import the sample file
string ResultBook$;
newbook name:="Linear Regression Sample" sheet:=1 result:=ResultBook$;
impfile fname:=system.path.program$+"Samples\Curve Fitting\Multiple Gaussians.dat";
type "The fit result of the first 25 points of curve B:";
range aa = [ResultBook$]1!2;
fitLR iy:=aa n:=25;
fitLR.b=;
fitLR.a=;
type;
type "The fit result of the last 25 points of curve C:";
range bb = [ResultBook$]1!3;
fitLR iy:=bb n:=-25;
fitLR.b=;
fitLR.a=;
type;
type "The fit result of the middle portion of the curve D:";
range cc = [ResultBook$]1!(1, 4)[12:26];
fitLR iy:=cc fixint:=1 intercept:=0;  // Force fit through 0,0
fitLR.b=;
fitLR.a=;
type;
type "The fit result  of the last 25 points of curve E:";
range ee = [ResultBook$]1!(1,5)[25:50];
fitLR iy:=ee fixslope:=1 slope:=0.667;  // Force fit to slope of 0.667
fitLR.b=;
fitLR.a=; AlgorithmThe slope of the linear regression is given by the:
  where  and 
 And the intercept:
 
 Related X-Functions
 Keywords:curve fitting |