コード例 #1
0
ファイル: bspline2.py プロジェクト: pygsl/pygsl
def run():
    N = 1024
    x = numx.arange(N) * (numx.pi * 2 / N)
    y = numx.sin(x)

    b = bspline(10, nbreak)
    b.knots_uniform(x[0], x[-1])
    X = numx.zeros((N, ncoeffs))
    X = b.eval_vector(x)
    c, cov, chisq = multifit.linear(X, y)

    res_x = x[::N / 64]
    X = b.eval_vector(res_x)
    res_y, res_y_err = multifit.linear_est_matrix(X, c, cov)

    pylab.plot(x, y, '-')
    pylab.errorbar(res_x, res_y, fmt='g-', xerr=res_y_err)
コード例 #2
0
ファイル: bspline2.py プロジェクト: juhnowski/FishingRod
def run():
    N = 1024
    x = numx.arange(N) * (numx.pi * 2 / N)
    y = numx.sin(x)


    b = bspline(10, nbreak)
    b.knots_uniform(x[0], x[-1])
    X = numx.zeros((N, ncoeffs))
    X = b.eval_vector(x)
    c, cov, chisq = multifit.linear(X, y)


    res_x = x[::N/64]
    X = b.eval_vector(res_x)
    res_y, res_y_err = multifit.linear_est_matrix(X, c, cov)

    pylab.plot(x,y, '-')
    pylab.errorbar(res_x, res_y, fmt='g-', xerr=res_y_err)    
コード例 #3
0
ファイル: bspline3.py プロジェクト: sarattall/old-intersect
def run():
    N = 1024
    x = numx.arange(N) * (numx.pi * 2 / N)
    y = numx.sin(x)

    b = bspline(4, nbreak)
    k = b.get_internal_knots()
    pygsl.set_debug_level(10)
    b.knots(k)
    X = b.eval_vector(x)
    c, cov, chisq = multifit.linear(X, y)

    b.set_coefficients_and_covariance_matrix(c, cov)

    res_x = x[:: N / 64]
    res_y, res_y_err = b.eval_dep_yerr_vector(res_x)
    # res_y = b.eval_dep_vector(res_x)

    print res_y
    pylab.plot(x, y, "-")
    pylab.errorbar(res_x, res_y, fmt="g-", xerr=res_y_err)
コード例 #4
0
ファイル: bspline3.py プロジェクト: pygsl/pygsl
def run():
    N = 1024
    x = numx.arange(N) * (numx.pi * 2 / N)
    y = numx.sin(x)

    b = bspline(4, nbreak)
    k = b.get_internal_knots()
    pygsl.set_debug_level(10)
    b.knots(k)
    X = b.eval_vector(x)
    c, cov, chisq = multifit.linear(X, y)

    b.set_coefficients_and_covariance_matrix(c, cov)

    res_x = x[::N / 64]
    res_y, res_y_err = b.eval_dep_yerr_vector(res_x)
    #res_y = b.eval_dep_vector(res_x)

    print(res_y)
    pylab.plot(x, y, '-')
    pylab.errorbar(res_x, res_y, fmt='g-', xerr=res_y_err)
コード例 #5
0
ファイル: bspline.py プロジェクト: pygsl/pygsl
def run():
    r = rng.rng()
    bw = bspline(4, nbreak)

    # Data to be fitted
    x = 15. / (N - 1) * numx.arange(N)
    y = numx.cos(x) * numx.exp(0.1 * x)
    sigma = .1
    w = 1.0 / sigma**2 * numx.ones(N)
    dy = r.gaussian(sigma, N)
    y = y + dy

    # use uniform breakpoints on [0, 15]
    bw.knots_uniform(0.0, 15.0)

    X = numx.zeros((N, ncoeffs))
    for i in range(N):
        B = bw.eval(x[i])
        X[i, :] = B

    # do the fit
    c, cov, chisq = multifit.wlinear(X, w, y,
                                     multifit.linear_workspace(N, ncoeffs))

    # output the smoothed curve
    res_y = []
    res_y_err = []
    for i in range(N):
        B = bw.eval(x[i])
        yi, yi_err = multifit.linear_est(B, c, cov)
        res_y.append(yi)
        res_y_err.append(yi_err)
        #print yi, yerr
    res_y = numx.array(res_y)
    res_y_err = numx.array(res_y_err)
    return (
        x,
        y,
    ), (x, res_y), res_y_err
コード例 #6
0
ファイル: bspline.py プロジェクト: juhnowski/FishingRod
def run():
    r = rng.rng()
    bw = bspline(4, nbreak)


    # Data to be fitted
    x = 15. / (N-1) * numx.arange(N)
    y = numx.cos(x) * numx.exp(0.1 * x)    
    sigma = .1
    w = 1.0 / sigma**2 * numx.ones(N) 
    dy = r.gaussian(sigma, N)
    y  = y + dy

    # use uniform breakpoints on [0, 15] 
    bw.knots_uniform(0.0, 15.0)

    X = numx.zeros((N, ncoeffs))
    for i in range(N):
        B = bw.eval(x[i])
        X[i,:] = B
        
    # do the fit
    c, cov, chisq = multifit.wlinear(X, w, y, multifit.linear_workspace(N, ncoeffs))

    # output the smoothed curve
    res_y = []
    res_y_err = []
    for i in range(N):
        B = bw.eval(x[i])
        yi, yi_err = multifit.linear_est(B, c, cov)
        res_y.append(yi)
        res_y_err.append(yi_err)
        #print yi, yerr
    res_y = numx.array(res_y)
    res_y_err = numx.array(res_y_err)    
    return (x, y,), (x, res_y),  res_y_err