Beispiel #1
0
def _main():
    xs = [-2, 2, 3, 4, 9]
    ys = [1, 5, 3, 1, 2]
    interp1 = InterpXY(xs, ys)

    xs = [-1, 2, 3, 5.1, 7]
    ys = [-1, 2, 6, -3, 0]
    interp2 = InterpXY(xs, ys) + (-4, 3)

    fig, ax = plt.subplots()
    interp1.plot_diff(interp2, fig, ax)
    # interp1.plot(fig, ax, marker='o')
    # interp2.plot(fig, ax, marker='x')
    # abs(interp1-interp2).plot(fig, ax, marker='*')
    plt.grid(True)
    pp.pprint(InterpXY.get_diff_report(interp1, interp2))
    plt.show()
Beispiel #2
0
def test_InterpXY():
    ixy = InterpXY([1, 2, 3], [4, 5, 6])
    assert ixy.get_vs(np.array([-10, 1, 1.5, 2, 2.25, 2.5, 3, 33
                                ])) == approx([4, 4, 4.5, 5, 5.25, 5.5, 6, 6.])
Beispiel #3
0
        assert t.get_dsdx(np.array([x1, x2])) == approx([
            (pi * 2**2 / 4 - pi * 4**2 / 4) / 2
        ])


def test_tube_get_x2x1():
    xs = [0, 2, 4, 6]
    ds = [1, 2, 4, 2]
    tube = Tube(xs, ds)
    for i in range(1000):
        x1 = np.random.uniform(0, 6)
        w = np.random.uniform(1, 10)
        x2 = tube.get_x2(x1, w)
        xx1 = tube.get_x1(x2, w)
        assert x1 == approx(xx1)


if __name__ == "__main__":
    xs = [1, 2, 4]
    ixy = InterpXY([1, 2, 3], [4, 5, 6])
    ans = np.array(ixy.get_vs(np.array([-1, 1, 1.5, 2, 2.25, 2.5, 3, 33])))
    print(ans)
    print([4, 4, 4.5, 5, 5.25, 5.5, 6, 6.])
    # ds = [1,1,1]
    # s = pi/4
    # t = Tube(xs, ds)
    # for i in range(33):
    #     x1 = -10 + random.random() * 30
    #     x2 = -10 + random.random() * 30
    #     x1, x2 = min(x1, x2), max(x1, x2)
    #     print( np.asarray(t.get_dsdx(np.array([x1, x2])) ))
Beispiel #4
0
def test_get_xs_zeros4():
    xs = [1, 2, 3, 4, 5]
    ys = [2, 2, 1, 2, 1]
    interp = InterpXY(xs, ys)
    zeros = interp.get_xs_zeros()
    assert zeros is None
Beispiel #5
0
def test_get_xs_zeros3():
    xs = [1, 2, 3, 4, 5]
    ys = [2, 2, 0, 2, 1]
    interp = InterpXY(xs, ys)
    zeros = interp.get_xs_zeros()
    assert [3] == approx(zeros)
Beispiel #6
0
def test_get_xs_zeros2():
    xs = [1, 2, 3, 4, 5]
    ys = [-2, 2, 0, -2, -1]
    interp = InterpXY(xs, ys)
    zeros = interp.get_xs_zeros()
    assert [1.5, 3] == approx(zeros)
Beispiel #7
0
def test_integrate4():
    xs = [1, 2, 3, 4, 5]
    ys = [1, 2, 0, -2, -1]
    interp = InterpXY(xs, ys)
    assert 0 == approx(interp.integrate(1.5, 4.5))
Beispiel #8
0
def test_integrate3():
    xs = [1, 2, 3, 4, 5]
    ys = [1, 2, 0, -2, -1]
    interp = InterpXY(xs, ys)
    assert -10 == approx(interp.integrate(10, 20))