def main(): N = 100 rep = 10 rs = np.logspace(-3, 0, 30) x_p2 = mix(0.2, (rep, N)) x_p3 = mix(0.3, (rep, N)) x_p5 = mix(0.5, (rep, N)) es = np.zeros((2, len(rs))) for ir, r in enumerate(rs): runs = np.zeros((2, rep)) for i in range(rep): runs[0, i] = entropy.cross_fuzzyen(x_p2[i, :], x_p3[i, :], 2, r, 2) runs[1, i] = entropy.cross_fuzzyen(x_p3[i, :], x_p5[i, :], 2, r, 2) es[:, ir] = np.mean(runs, axis=1) fig, ax = plt.subplots() ax.semilogx(rs, es[0], 'ro-', label='MIX(0.2) vs. MIX(0.3)') ax.semilogx(rs, es[1], 'ko-', label='MIX(0.3) vs. MIX(0.5)') ax.legend() ax.set_ylim(0, 6) plt.show()
def test_copies(self): x = np.random.uniform(low=0, high=1, size=(2, 100)) x0 = np.copy(x[0]) x1 = np.copy(x[1]) entropy.sampen(x0, 2, 0.1) assert_equal(x0, x[0]) entropy.fuzzyen(x0, 2, 0.1, 2) assert_equal(x0, x[0]) entropy.cross_sampen(x0, x1, 2, 0.1) assert_equal(x0, x[0]) assert_equal(x1, x[1]) entropy.cross_fuzzyen(x0, x1, 2, 0.1, 2) assert_equal(x0, x[0]) assert_equal(x1, x[1])