,;
,;     LINEAR REGRESSION
,;
,;     Simple Linear Regression:
,;          X' = AVG of all X points     (%XAVG0011)
,;          Y' = AVG of all Y points     (%YAVG0011)
,;
,;                N                 N
,;          M =    (X-X')*(Y-Y')  /  (X-X')^2   (%SLOPE011)
,;              i=1                i=1
,;
,;         B = Y'-MX'                   (%YINTER11)
,;         Y = MX+B
,;
,;
,;     Name cell containing the first X point
,;
,MARK
/GN
/F%HERE0011
,NUMBER "First X Point cell?" %HERE0011
,MARK
,AT %HERE0011
/F%T0000011
,BACK
,;
,;     Name cell containing the last X point
,;
,NUMBER "Last X Point cell?" %HERE0011
,MARK
,AT %HERE0011
/F%B0000011
,BACK
,;
,;     Name  cell containing the KNOWN X point
,;
,NUMBER "Known X Point cell?" %HERE0011
,MARK
,AT %HERE0011
/F%XKNOWN11
,BACK
/F%        /
,;
,;     Create X average
,;
@%B0000011
,DOWN
:AVG(%T0000011?.%B0000011?)
/F%XAVG0011
,;
,;     Create Y average
,;
,RIGHT
/F%YAVG0011
/R%XAVG0011.%XAVG0011
%YAVG0011.%YAVG0011
AR
,;
,;
,;     Create X-XAVG List & Sum-of-the-Squares
,;
@%T0000011
,RIGHT=2
:%T0000011?-%XAVG0011?
/F%TT000011
,DOWN
/F%HERE0011
@%B0000011
,RIGHT=2
/F%BT000011
/R%TT000011.%TT000011
%HERE0011.%BT000011
RN
,DOWN
:SSQ(%TT000011?.%BT000011?)
/F%SSQ00011
,;
,;     Create Y-YAVG list
,;
@%HERE0011
/F%        /
@%BT000011
/F%        /
,RIGHT
/F%BT000011
@%TT000011
/F%        /
,RIGHT
/F%TT000011
,DOWN
/F%HERE0011
@%T0000011
,RIGHT
/F%TTT00011
@%TT000011
:%TTT00011?-%YAVG0011?
/R%TT000011.%TT000011
%HERE0011.%BT000011
RN
,;
,;     Create (X-XAVG)*(Y-YAVG) list & their sum
,;
@%TTT00011
/F%        /
,RIGHT
/F%TTT00011
@%HERE0011
/F%        /
@%BT000011
/F%        /
,RIGHT
/F%BT000011
@%TT000011
,RIGHT
:%TTT00011?*%TT000011?
,LEFT
/F%        /
,RIGHT
/F%TT000011
@%TTT00011
/F%        /
@%TT000011
,DOWN
/F%HERE0011
/R%TT000011.%TT000011
%HERE0011.%BT000011
AR
,;
@%BT000011
,DOWN
:SUM(%TT000011?.%BT000011?)
@%HERE0011
/F%        /
@%TT000011
/F%        /
@%BT000011
/F%        /
,DOWN
/F%XYSUM011
,DOWN
,LEFT
,;
,;     Generate slope
,;
/F%SLOPE011
:%XYSUM011?/%SSQ00011?
,;
,;     Generate Y-Intercept
,;
,RIGHT
/F%YINTER11
:%YAVG0011?-%SLOPE011?*%XAVG0011?
,;
,;     Calculate Y point
,;
@%XKNOWN11
,RIGHT
:%SLOPE011?*%XKNOWN11?+%YINTER11?
,;
,; Establish cell for calculating X unknown.
,;
,RIGHT
:NV()
,RIGHT
:(@(-1,0,0)?-%YINTER11?)/%SLOPE011?
,;
,;     Clean-up
,;
@%T0000011
/F%        /
@%B0000011
/F%        /
@%XAVG0011
/F%        /
@%YAVG0011
/F%        /
@%SSQ00011
/F%        /
@%XYSUM011
/F%        /
@%SLOPE011
/F%        /
@%YINTER11
/F%        /
@%XKNOWN11
/F%        /
,BACK
/GC
,;
,QUIT
