00001 #ifndef LINREG_HEADER
00002 #define LINREG_HEADER
00003
00004
00005
00013
00014
00015
00016
00017 #include"Paramest.hh"
00018
00019
00020
00021 namespace RazorBack {
00022
00024 class Linreg_: public Paramest_
00025 {
00026
00027 private:
00028
00029 Vecdbl_ W;
00030
00031
00032 public:
00033
00035 Linreg_(): Paramest_() {}
00036
00041 Linreg_(size_t NM, size_t NP): Paramest_(NM, NP), W(NM) {}
00042
00054 double lin_reg(const Rmatdbl_& Xmeas, const Vecdbl_& Ymeas, const Vecdbl_& Userwgt);
00055 double lin_reg(const Rmatdbl_& Xmeas, const Vecdbl_& Ymeas);
00056
00057
00058 protected:
00059
00060 void adjust_dimensions(const Rmatdbl_& Xmeas, const Vecdbl_& Ymeas, const Vecdbl_& Userwgt);
00061 void setup_weight(const Vecdbl_& YW);
00062 void setup_xtx(const Rmatdbl_& Xmeas, const Vecdbl_& Ymeas);
00063 double quality(const Rmatdbl_& Xmeas, const Vecdbl_& Ymeas);
00064
00065 };
00066
00067
00068 }
00069
00070
00071
00072 #endif // LINREG_HEADER