22 lines
551 B
Python
22 lines
551 B
Python
from numpy.testing import assert_allclose
|
|
import numpy as np
|
|
|
|
from logistic import iterate_f
|
|
from logistic_fit import fit_r
|
|
|
|
def test_fit_r():
|
|
r = 3.421
|
|
trajectory = iterate_f(0.3, r, 23)
|
|
fit_result_r = fit_r(trajectory)
|
|
assert_allclose(r, fit_result_r)
|
|
|
|
|
|
def test_fit_r_randomized():
|
|
random_state = np.random.RandomState(42)
|
|
x0 = 0.3
|
|
for _ in range(100):
|
|
r = random_state.rand()
|
|
trajectory = iterate_f(x0, r, 23)
|
|
fit_result_r = fit_r(trajectory)
|
|
assert_allclose(r, fit_result_r, atol=0.1)
|
|
|