Files Classes Functions Hierarchy
00001 #include <leastsqrs.h> 00002 00003 leastsqrs::leastsqrs 00004 ( 00005 vector<pt2> const & pts_, 00006 double const alpha_, 00007 double const beta_ 00008 ) 00009 : pts(pts_), alpha(alpha_), beta(beta_) 00010 { 00011 size = pts.size(); 00012 00013 xi = new double[size]; 00014 } 00015 00016 void leastsqrs::operator () 00017 ( 00018 double & fval 00019 ) 00020 { 00021 fval=0.0; 00022 double z; 00023 for (uint i=0; i<size; ++i) 00024 { 00025 z = pts[i].y-xi[i]; 00026 fval += alpha*z*z; 00027 } 00028 for (uint i=0; i<size-1; ++i) 00029 { 00030 z = (pts[i].x-pts[i+1].x); //can remove 00031 fval += beta*z*z; 00032 z = xi[i+1]-xi[i]; 00033 fval += beta*z*z; 00034 } 00035 } 00036 00037 leastsqrs::~leastsqrs() 00038 { 00039 delete[] xi; 00040 xi=0; 00041 } 00042 00043
1.5.8