6 const std::vector<float> &
x,
const std::vector<float> &
y,
int ndat,
7 const std::vector<float> & sigx,
const std::vector<float> & sigy)
const 12 std::vector<float> yScaled =
y;
13 std::vector<float> sigyScaled = sigy;
14 std::vector<float> sig(ndat);
15 for (
int i = 0;
i != ndat;
i++) {
18 sig[
i] =
sqrt(sigx[
i]*sigx[
i] + sigyScaled[
i]*sigyScaled[
i]);
23 float fs, fi, covss, covii, covsi;
24 lf.
fit(x, yScaled, ndat, sig, fs, fi, covss, covii, covsi);
34 const std::vector<float> &
x,
const std::vector<float> &
y,
int ndat,
35 const std::vector<float> & sigx,
const std::vector<float> & sigy)
const 38 float fs =
slope(x, y, ndat, sigx, sigy);
41 for (
int i = 0;
i != ndat;
i++) {
42 float wi = 1./(sigy[
i] + fs*fs*sigx[
i]);
43 fi += wi*(y[
i] - fs*x[
i]);
55 double m1 = 0., m2 = 0.;
56 for (
int i = 0;
i != ndat;
i++) {
63 return float(m2 - m1*m1);
void fit(const std::vector< float > &x, const std::vector< float > &y, int ndat, const std::vector< float > &sigy, float &slope, float &intercept, float &covss, float &covii, float &covsi) const
T x() const
Cartesian x coordinate.
float slope(const std::vector< float > &x, const std::vector< float > &y, int ndat, const std::vector< float > &sigx, const std::vector< float > &sigy) const
float variance(const std::vector< float > &x, int ndat) const
float intercept(const std::vector< float > &x, const std::vector< float > &y, int ndat, const std::vector< float > &sigx, const std::vector< float > &sigy) const